Programación en castellano
-Tutoriales

Tomcat - Introducción


Usar el SecurityManager de Java con tomcat

. ¿Por qué usar un SecurityManager

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.

 
Patrocinados
 

Copyright © 1999-2010 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Desarrollo web y diseño profesional por Color Vivo Internet. Un proyecto de los Hermanos Carrero

red internet: videos gratis | messenger gratis | decoración | juegos gratis | servidores dedicados
más internet: recursos gratis | bitácoras | gifs animados