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
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
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...
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...
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…)
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
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…)
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…)
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
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
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
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)
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
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)
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)
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)
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)
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)
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.
ISSA España Mayo/Madrid 2009 @Seguridad




¡ Muchas Gracias !



                        Víctor M. Fernández Gómez
                    http://vfernandezg.blogspot.com
                             vfernandezg@gmail.com

Seguridad en Entornos Web Open Source

  • 1.
    ISSA España Mayo/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @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/Madrid2009 @Seguridad ¡ Muchas Gracias ! Víctor M. Fernández Gómez http://vfernandezg.blogspot.com vfernandezg@gmail.com