Categorías destacadas
programacion php    
Artículo
9
¡votar!

 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.

Publicado por:
Eloy A. Esteban
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon