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-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: jugar gratis | amor | navidad 2009 | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados