Seguridad en Entornos Web Open Source

20
Víctor M. Fernández Gómez http://vfernandezg.blogspot.com [email protected] ISSA España Mayo/Madrid 2009 @Seguridad Seguridad en Entornos Web de Código Abierto

description

 

Transcript of Seguridad en Entornos Web Open Source

Page 1: Seguridad en Entornos Web Open Source

Víctor M. Fernández Gómez

http://vfernandezg.blogspot.com

[email protected]

ISSA España Mayo/Madrid 2009 @Seguridad

Seguridad en Entornos Web de Código Abierto

Page 2: Seguridad en Entornos Web Open Source

2

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)

ISSA España Mayo/Madrid 2009 @Seguridad

Page 3: Seguridad en Entornos Web Open Source

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

Page 4: Seguridad en Entornos Web Open Source

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

Page 5: Seguridad en Entornos Web Open Source

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

Page 6: Seguridad en Entornos Web Open Source

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

Page 7: Seguridad en Entornos Web Open Source

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

Page 8: Seguridad en Entornos Web Open Source

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

Page 9: Seguridad en Entornos Web Open Source

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

Page 10: Seguridad en Entornos Web Open Source

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

Page 11: Seguridad en Entornos Web Open Source

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

Page 12: Seguridad en Entornos Web Open Source

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

Page 13: Seguridad en Entornos Web Open Source

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

Page 14: Seguridad en Entornos Web Open Source

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

Page 15: Seguridad en Entornos Web Open Source

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

Page 16: Seguridad en Entornos Web Open Source

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

Page 17: Seguridad en Entornos Web Open Source

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

Page 18: Seguridad en Entornos Web Open Source

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

Page 19: Seguridad en Entornos Web Open Source

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

Page 20: Seguridad en Entornos Web Open Source

ISSA España Mayo/Madrid 2009 @Seguridad

¡ Muchas Gracias !

Víctor M. Fernández Gómez

http://vfernandezg.blogspot.com

[email protected]