1. ISSA España Mayo/Madrid 2009 @Seguridad
Seguridad en Entornos Web de
Código Abierto
Víctor M. Fernández Gómez
http://vfernandezg.blogspot.com
vfernandezg@gmail.com
2. ISSA España Mayo/Madrid 2009 @Seguridad
Agenda
Arquitecturas Web
Bicapa / Multicapa
Autenticación Básica
Servicios de Directorio (LDAP)
Autenticación con Control de Acceso
Servicios de Single Sign On (SSO)
Autenticación Fuerte
Servicios de Infraestructura de Clave
Pública (PKI)
2
3. ISSA España Mayo/Madrid 2009 @Seguridad
Arquitecturas Web
Bicapa (Presentación + Datos)
Web Servers: Apache, Open Web Server...
– Balanceo de Carga / Alta Disponibilidad (Producto, Sistema)
Base de Datos: MySQL, PostgreSQL...
– Alta Disponibilidad (Producto, Sistema) / Replicación
Multicapa (Presentación + Lógica + Datos)
Web Servers: Apache, Open Web Server...
Application Servers: GlassFish, JBoss, Tomcat...
– Alta Disponibilidad (Producto)
Base de Datos: MySQL, PostgreSQL...
4. ISSA España Mayo/Madrid 2009 @Seguridad
Seguridad Lógica
Autenticación Básica (user/password)
Posible y Compatible mediante:
– Listas de Control de Acceso (ACLs)
» Web Servers: Apache, Open Web Server...
– Definición de Realms
» Application Servers: GlassFish, Jboss, Tomcat...
» Desarrollo de proyectos con NetBeans / Eclipse
Servicios de Directorio:
– Protocolo TCP a nivel de aplicación
– Lightweight Directory Access Protocol (LDAP)
» LDAP Servers: OpenLDAP, FedoraDS, OpenDS...
5. ISSA España Mayo/Madrid 2009 @Seguridad
OpenLDAP
Licencia propia (OpenLDAP Public License)
Versión actual 2.4.16 (multiplataforma)
Demonios dedicados para gestión del arbol y replicación
Permisos personalizables mediante aci’s
Funcionalidad de Proxy transparente LDAP
Permite configuraciones MultiMaster a partir de v2.4+
Customización del Schema (objectclass y attributes)
Compatible con Backends de tipo MySql
(Cluster Producto, Cluster Sistema, Replicación,
Federación de Tablas…)
6. ISSA España Mayo/Madrid 2009 @Seguridad
FedoraDS
Liberado tras la adquisición de Netscape Enterprise
por parte de RedHat (Fedora, RHEL y CentOS)
Licencia definitiva GPLv2
Versión actual 1.2.0
Permite configuraciones MultiMaster
Soporta grandes volumenes de datos
GUI propia de administración
Permisos personalizables mediante aci’s
Customización del Schema (objectclass y attributes)
Sincronización de usuarios y grupos con MS Active
Directory
7. ISSA España Mayo/Madrid 2009 @Seguridad
OpenDS
Licencia CDDL
Versión actual 1.3.0
Soportado por Sun Microsystems (multiplataforma)
Permite configuraciones MultiMaster
Soporta grandes volumenes de datos
GUI propia de administración
Permisos personalizables mediante aci’s
Customización del Schema (objectclass y attributes)
Compatible con Backends de tipo MySql
(Cluster Producto, Cluster Sistema, Replicación,
Federación de Tablas…)
8. ISSA España Mayo/Madrid 2009 @Seguridad
Seguridad Lógica
Autenticación con Control de Acceso y SSO
Posible y Compatible mediante:
– Instalación de Agentes (Service Provider): SP
» Web Servers: Apache, Open Web Server...
» Application Servers: GlassFish, Jboss, Tomcat...
– Instalación de Servidor (Identity Provider): IdP
» Desplegable bajo arquitectura J2EE
• Application Servers: GlassFish, Jboss, Tomcat...
– SSO vía cookies por dominio DNS de autenticación
– Modelo RBAC (Role Based Access Control)
(Grupos estáticos / dinámicos, Perfiles, Roles…)
9. ISSA España Mayo/Madrid 2009 @Seguridad
Sibboleth
Licencia Apache 2.0
Versión actual 2.1
Instalación de agente en base a fuentes y paquetes (rpm)
Instalación de servidor como desplegable *.war
Soporte multiplataforma
(Linux, UNIX y Windows)
Permite LDAP como repositorios de usuarios
(incluido Failover entre diferentes instancias)
Permite Alta Disponibilidad en cuanto al despliegue del
servidor de autenticación
Soporta Federación mediante SAMLv2
10. ISSA España Mayo/Madrid 2009 @Seguridad
CAS (Central Authentication Service)
Licencia Apache 2.0
Versión actual 3.3.2
Instalación de agentes en base a fuentes (Apache)
Instalación de servidor como desplegable *.war
Soporte multiplataforma
(Linux, UNIX y Windows)
Permite LDAP como repositorios de usuarios
(incluido Failover entre diferentes instancias)
Permite MySQL como repositorio de usuarios
Soporta Federación frente a cuentas de Google Apps
mediante SAMLv2
11. ISSA España Mayo/Madrid 2009 @Seguridad
JOSSO (Java Open Single Sing On)
Licencia LGPL
Versión actual 1.8
Instalación de agentes en base a plugins
Instalación de servidor como gateway *.war
Permite LDAP como repositorio de usuarios
Permite MySQL como repositorio de usuarios
12. ISSA España Mayo/Madrid 2009 @Seguridad
OpenSSO
Licencia CDDL
Versión actual 8.0
Soportado por Sun Microsystems (multiplataforma)
Instalación de agentes en base a plugins
Web Servers y Application Servers
Instalación de servidor como desplegable *.war
Permite Alta Disponibilidad J2EE en el servidor
Permite Failover de session (ssoSessionTools.zip)
Permite LDAP externo como repositorio de usuarios
Soporta Federación mediante SAMLv2
Prevención contra secuestro de cookie (hijacking)
13. ISSA España Mayo/Madrid 2009 @Seguridad
Seguridad Lógica
Autenticación Fuerte
Posible y Compatible mediante sistemas para gestión de
certificados digitales:
– Es el marco que permite la implantación de la
infraestructura de clave pública (PKI)
– Una PKI sólo es válida si se cumplen las siguientes
condiciones:
» Las claves privadas estén protegidas
» Las claves públicas estén inequívocamente asociadas a una
entidad (certificadora: CA)
Las claves privadas deben protegerse con contraseña
14. ISSA España Mayo/Madrid 2009 @Seguridad
OpenCA
Licencia BSD
Versión actual 1.0.2
Componentes de la arquitectura:
Interface web creado en Perl sobre Apache
Openssl para operaciones criptográficas
Una base de datos MySQL ó PostgreSQL
Un directorio tipo OpenLDAP
Compatible con servidor OSCP => Backend LDAP
(Online Certificate Status Protocol)
El cliente OSCP solicita estado al OSCP responder
(hasta obtener respuesta, suspende la aceptación del
certificado)
15. ISSA España Mayo/Madrid 2009 @Seguridad
OpenXPKI
Licencia Apache 2.0
Versión actual 0.9.1
Fork de OpenCA, con varios componentes reescritos
Arquitectura similar a OpenCA:
Interface web creado en Perl sobre Apache (mod_ssl)
Openssl para operaciones criptográficas
Una base de datos MySQL ó PostgreSQL)
Un directorio tipo OpenLDAP
Permite Múltiples instancias de CA
Soporta nCipher y nShield para comunicación con
hardware criptográfico (HSM)
16. ISSA España Mayo/Madrid 2009 @Seguridad
EJBCA
Licencia LGPL
Versión actual 3.8.1
100% Realizada en JAVA
Componentes de la arquitectura:
Java JDK
Application Server: GlassFish , JBoss...
Ant del proyecto Apache
Permite Múltiples instancias de CA
Compatible con OSCP
(Permite OSCP responder/s externo/s)
Soporta hardware criptográfico (HSM)
17. ISSA España Mayo/Madrid 2009 @Seguridad
PHPKi
Licencia GPLv2
Versión actual 0.82
100% Realizada en PHP
Componentes de la arquitectura:
Web Server: Apache (mod_ssl)
OpenSSL
Librerias Criptográficas (php)
Muy sencilla de implementar
Muy sencilla de utilizar
Compatible con CRLs
(Certificate Revocation List)
18. ISSA España Mayo/Madrid 2009 @Seguridad
GnoMint
Licencia GPLv2
Versión actual 0.9.9
Entorno Desktop Gnome
Linux (paquetes: rpm, deb)
UNIX (fuente)
Frontend gráfico de OpenSSL
Muy sencilla de implementar
Muy sencilla de utilizar
Compatible con CRLs
(Certificate Revocation List)
19. ISSA España Mayo/Madrid 2009 @Seguridad
Agradecimientos:
Antonio de la Fuente Díaz - http://blyx.com/
Gonzalo Álvarez Marañón - Univ. Oviedo.
Pedro Pablo Pérez García - Univ. Oviedo.
José María Sierra - Univ. Comillas.
20. ISSA España Mayo/Madrid 2009 @Seguridad
¡ Muchas Gracias !
Víctor M. Fernández Gómez
http://vfernandezg.blogspot.com
vfernandezg@gmail.com