Tomcat - Introducción

El SecurityManager de Java es el que permite a un navegador ejecutar un applet en su propia caja para evitar que c�digo no firmado acceda a ficheros del sistema local, conectar con un host distinto de donde se carg� el applet, etc.

De la misma forma que el SecurityManager nos protege de que se ejecute un applet no firmado en nuestro navegador, el uso de un SecurityManager mientras se ejecuta Tomcat puede protejer nuestro servidor de servelts, JSP's, beans JSP, y librer�as de etiquetas troyanos. O incluso de errores inadvertidos.

Imagina que alguien que est� autorizado a publicar un JSP en nuestro site inadvertidamente incluye esto en su JSP:

<% System.exit(1); %>

Cada vez que el JSP sea ejecutado por Tomcat, Tomcat se cerrar�.

Usar el SecurityManager de Java es s�lo una l�nea m�s de defensa que un administrador de sistemas puede usar para mantener el servidor seguro y fiable.

.�Requirimientos del Sistema

El uso del SecurityManager requiere una JVM que soporte JDK 1.2.

.�Precacuciones

La implementaci�n de un SecurityManager en Tomcat no ha sido completamente probada para asegurar la seguridad de Tomcat. No se han creado Permissions especiales para evitar accesos a clases internas de Tomcat por parte de JSPs, aplicaciones web, beans o librer�as de etiquetas. Debemos asegurarnos de que estamoa satisfechos con nuestra configuraci�n de SecurityManager antes de permitir que los usuarios no creibles publiquen aplicacions web, JSPs, servlets, beans o librer�as de etiquetas en nuestra site.

A�n as�, ejecutarlo con un SecurityManager definitivamente es mejor que hacerlo sin ninguno.

.�Tipos de Permisos

Las clases Permission se usan para definir que clases de Permisos tendr�n las clases cargadas por Tomcat. Hay varias clases de Permission como parte del JDK e incluso podemos crear las nuestras propias para usarlar en nuestras aplicaciones web.

Este es s�lo un peque�o sumario de las clases de System SecurityManager Permission aplicables a Tomcat. Puedes encontrar m�s documentaci�n sobre el uso de las clases siguientes en la documentaci�n del JDK.

java.util.PropertyPermission
��� Controla los accesos de lectura/escritura a las propiedades de JVM como java.home.

java.lang.RuntimePermission
��� Controla el uso de algunas funciones de sistema/ejecuci�n como exit() y exec().

java.io.FilePermission
��� Controla los aceeso de lectura/escritura/ejecuci�n a ficheros y directorios.

java.net.SocketPermission
��� Controla el uso de sockets de red.

java.net.NetPermission
��� Controla el uso de conexiones de red multicast.

java.lang.reflect.ReflectPermission
��� Controla el uso de reflection para hacer introspection de clase.

java.security.SecurityPermission
��� Controla el acceso a los m�todos de Security.

java.security.AllPermission
��� Permite acceder a todos los permisos, como si se estuviera ejecutando Tomcat sin un SecurityManager.

.��Qu� sucede cuando el SecurityManager detecta una Violaci�n de Seguridad

La JVM lanzar� una AccessControlException o una SecurityException cuando el SecurityManager detecte una violaci�n dela pol�tica de seguridad.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR