miércoles, 15 de junio de 2011

Seguridad en JBoss EAP 5.0. Autenticacion, SSL, JAAS, LDAP

El servidor de aplicaciones puede usar las librerías del JBoss para autenticar al usuario, configurando donde se guardan las credenciales (una base datos o un directorio de usuarios o un archivo plano)
La seguridad en JBoss es declarativa por lo que declara en archivos XML antes que incluirlos en los componentes de negocio. La seguridad no se programa.
La autenticacion asigna la identidad del usuario. La autorizacion  asigna  permisos sobre los  recursos.
Para la autenticación el JBoss ha desarrollado varios modulos:
En el archivo /conf/login-config.xml se definen las políticas de autenticación.
<application-police>
<module />
</application-police>

El JBoss cuenta con una implementación estándar de la especificación JAAS (Java Autentication and Authorization Service). Todos los servidores de aplicaciones cuentan con una implementación de JAAS.
Los roles JBoss tienen accesos a componentes JSP o servlets, también se puede brindar accesos a un botón o un método. Los roles se les asigna a un grupo de usuarios.
En la aplicación se agrega un archivo jboss-web.xml para definir la política de autenticación. En login-config.xml se indica la política configurada en el jboss-web.xml de la aplicación. Los componentes EJB se configuran con el archivo ejb-jar.xml.
Se puede configurar  multiples dominios de seguridad, uno diferente para cada aplicación. Pero con un único dominio de seguridad, un usuario validado en una aplicación  puede conectarse a otra aplicación. Un dominio de seguridad tiene asociado un nombre único.

El LoginModule es la implementación de la autenticación del usuario y password, usualmente contra algún tipo de almacemiento de datos. El LoginModule asigna roles. Se configura un LoginModule por dominio de seguridad. El DatabaseServerLoginModule accede a una base de datos para autenticar el usuario y el password. Otro método de autenticación es usar un LDAP server.

En JBoss tambien se puede asegurar el acceso a los EJB, a las colas de mensajeria, y también los datasource.

Para asignar roles a un EJB se usa el descriptor de los componentes ejb-jar.xml  y también a través del mismo componente via anotaciones.

El SSL se configura en el deploy/jbossweb.sar/server.xml. El certificado se configura en el archivo jboss-web.xml. La seguridad JAAS también se puede acceder via JNDI.

El método de autenticación en JBoss para el login son: basic (formulario estandar del jboss), form (formulario definido por el programador), cert (con certificado digital), digest (con protocolo SSL).

 
Compartir:

0 comentarios:

Publicar un comentario