Sei sulla pagina 1di 21
P R E S E N T A C I Ó N Ingreso Ú nico

P R E S E N T A C I Ó N

P R E S E N T A C I Ó N Ingreso Ú nico (Single

Ingreso Ú nico (Single Sign On)

Un marco y una historia

F E C H A

4/6/2010

Universidad de Buenos Aires Facultad de Ciencias Exactas y Naturales

Diego Fontdevila diego.fontdevila@grupoesfera.com.ar

S S O

Plan

S S O Plan > 2 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O Plan > 2 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar

S S O

Plan

S S O Plan ¿Qu é es y qu é no es Ingreso Ú nico (SSO)?

¿Qué es y qué no es Ingreso Único (SSO)? Infraestructura y desarrollo/Servicios y aplicaciones Los usuarios Herramientas de software libre Historia de una implementació n Perspectivas

libre Historia de una implementaci ó n Perspectivas > 3 | Ingreso Único (Single Sign On)

S S O

S S O > 4 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O > 4 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O
S S O
S S O > 5 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O > 5 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar

S S O

Usuarios finales

S S O Usuarios finales Les permite mantener una ú nica clave centralizada (igual que un

Les permite mantener una única clave centralizada (igual que un repositorio).

Les permite presentar sus credenciales una única vez y poder acceder a todas sus aplicaciones.

Les permite tener una interfaz uniforme y segura de autenticación.

Les permite tener plazos de expiración de autenticación mayores que los plazos de expiración de sesión de las aplicaciones.

plazos de expiraci ó n de sesi ó n de las aplicaciones. > 6 | Ingreso
S S O
S S O
S S O > 7 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O > 7 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O > 7 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar
S S O > 7 | Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar

S S O

Historia de una implementació n

CAS + Eventum (MySQL)

1. Instalació n

2. Configuración de LDAP

3. Configuración del servicio CAS

4. Configurar cliente php

5. ¡Usarlo!

ó n del servicio CAS 4. Configurar cliente php 5. ¡Usarlo! > 8 | Ingreso Único
ó n del servicio CAS 4. Configurar cliente php 5. ¡Usarlo! > 8 | Ingreso Único

¿Có mo funciona?

¿C ó mo funciona? Al ingresar a la aplicaci ó n, el cliente de CAS redirige

Al ingresar a la aplicación, el cliente de CAS redirige al servicio CAS pasá ndole su propia url como par á metro service.

El servicio CAS recibe la redirección, se conecta program áticamente a la aplicación y valida su certificado (si usa SSL), luego y valida si el pedido corresponde a un usuario autenticado. Si es as í , redirige a la aplicació n.

Si no est á autenticado, le presenta la p ágina de login. Luego proceso el pedido de login y redirige a la aplicaci ón.

proceso el pedido de login y redirige a la aplicaci ó n. > 9 | Ingreso

¿Có mo funciona?

¿C ó mo funciona? 4 Aplicación 1 7 8 2 5 3 6 Navegador Pedido/Respuesta HTTP

4

4

Aplicación

1 7
1
7

8

2

1 7 8 2 5 3 6 Navegador Pedido/Respuesta HTTP

5

3 6
3
6

Navegador

1 7 8 2 5 3 6 Navegador Pedido/Respuesta HTTP

Pedido/Respuesta HTTP

4 Aplicación 1 7 8 2 5 3 6 Navegador Pedido/Respuesta HTTP CAS CAS

CAS

CAS

4 Aplicación 1 7 8 2 5 3 6 Navegador Pedido/Respuesta HTTP CAS CAS

1. Instalaci ón

1. Instalaci ó n Descargar CAS versi ó n 3.4.2 (fuentes) de jasig.org/cas Compilar y empaquetar

Descargar CAS versión 3.4.2 (fuentes) de jasig.org/cas

Compilar y empaquetar

JDK 1.5 (ojo, en Linux algunos jdk no corren los tests, luego ­DskipTests=true)

Maven 2.0.9: mvn package install (no 2.0.8).

> 11

Instalar Tomcat 6.

Deploy de cas­server­webapp.war a tomcat/webapps/.

No hace falta configuraci ón dependiente del application server en la aplicación.

| Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar

del application server en la aplicaci ó n. | Ingreso Único (Single Sign On) - 04/06/2010

2. Configuraci ó n de LDAP

2. Configuraci ó n de LDAP Compilar y empaquetar el m ó dulo cas de soporte

Compilar y empaquetar el m ódulo cas de soporte de LDAP.

Agregar dependencia en cas­server­webapp/pom.xml.

Ojo, el plugin de Eclipse para Maven a veces no modifica los archivos en disco, pero los muestra como modificados.

Configurar el contextoLDAP (información de conexi ón) y el autenticador (lógica de validación de credenciales) en cas­server­webapp/src/main/webapp/WEB­ INF/deployerConfigContext.xml.

INF/deployerConfigContext.xml. > 12 | Ingreso Único (Single Sign On) - 04/06/2010

2. Configuraci ó n de LDAP (II)

2. Configuraci ó n de LDAP (II) Definir el tipo de validaci ó n LDAP (selecci

Definir el tipo de validació n LDAP (selecció n de implementación):

Fast bind (acceder al LDAP con el usuario final). Optimización, depende del servidor LDAP.

Bind (acceder al LDAP con un usuario de consulta, buscar al usuario final y validar). Funciona en todos los casos.

Definir el contexto de búsqueda de usuarios.

Definir el atributo de búsqueda de usuarios (ej. uid)

Definir el atributo de b ú squeda de usuarios (ej. uid) > 13 | Ingreso Único

3. Configurar el servicio CAS

3. Configurar el servicio CAS Configurar logging en cas­server­webapp/src/main/webapp/ WEB­INF/classes/log4j.xml DEBUG

Configurar logging en cas­server­webapp/src/main/webapp/

WEB­INF/classes/log4j.xml

DEBUG de Spring framework para ver errores de LDAP.

Configurar SSL en Tomcat (No puede ser http)

Crear certificado.

Configurar Connector en conf/server.xml

Configurar la apariencia (cambiar el tema)

conf/server.xml Configurar la apariencia (cambiar el tema) > 14 | Ingreso Único (Single Sign On) -

4. Configurar cliente php

4. Configurar cliente php Obtener librer í as cliente CAS (ej. phpCAS/phpCAS U Gent). Identificar punto

Obtener librer í as cliente CAS (ej. phpCAS/phpCAS U Gent).

Identificar punto de acceso a la aplicaci ón (ej. login.php)

Reemplazar c ódigo de login por autenticaci ón CAS, luego crear o inicializar sesión v álida de aplicació n.

crear o inicializar sesi ó n v á lida de aplicaci ó n. > 15 |

5. ¡Usarlo!

5. ¡Usarlo! Acceder a http://apphost/app Redirige a https://ssohost/cas/login?service=http://apphost/ app Si no est á

Acceder a http://apphost/app

Redirige a https://ssohost/cas/login?service=http://apphost/ app

Si no est á autenticado (en el Servicio SSO), se conecta a a aplicación para validar su certificado, luego muestra la página de login de CAS.

Si lo est á, redirige a http://apphost/app

> 16

El cliente CAS en apphost recibe el ticket de CAS y contin úa procesando, iniciando sesi ón en la aplicaci ón.

| Ingreso Único (Single Sign On) - 04/06/2010 - www.grupoesfera.com.ar

iniciando sesi ó n en la aplicaci ó n. | Ingreso Único (Single Sign On) -

Perspectivas

Perspectivas Obtener otros atributos para el usuario autenticado. Pueden permitir transformar credenciales (ej.

Obtener otros atributos para el usuario autenticado. Pueden permitir transformar credenciales (ej. identificador a mail). Requiere usar protocolo SAML en lugar de CAS. El cliente phpCAS no lo soporta, s í lo hace la versi ón phpCAS de la Universidad de Gent.

No configurar SSL en las aplicaciones (puede generar advertencias en el navegador), en general reacciona bien porque tiene urls cortas y usa GET en lugar de POST.

No usar iframes (cuidadanos de segunda en IE).

de POST. No usar iframes (cuidadanos de segunda en IE). > 17 | Ingreso Único (Single

Usted quiere

detalles

Usted quiere detalles Protocolo de SSO: CAS, OpenId, SAML, etc. Proveedor de autenticaci ó n: LDAP,

Protocolo de SSO: CAS, OpenId, SAML, etc.

Proveedor de autenticaci ón: LDAP, Base de datos, RADIUS, etc.

Single Sign Out: Soportado, require integraci ón extra en las aplicaciones.

Otros clientes: Java (Filtro estándar JEE)

Tickets: Ticket Granting Tickets/Service Tickets/Expiración

Aplicaciones con soporte por defecto: Liferay, TikiWiki, Moodle, Drupal,

con soporte por defecto: Liferay, TikiWiki, Moodle, Drupal, > 18 | Ingreso Único (Single Sign On)

Referencias

Soluciones de Single Sign On Open Source

Referencias Soluciones de Single Sign On Open Source

http://www.slideshare.net/craigsdickson/fastand­free­sso­a­survey­of­

open­source­solutions­to­single­sign­on

Arquitectura de CAS

http://www.jasig.org/cas/cas1­architecture

Manual de CAS

https://wiki.jasig.org/display/CASUM/Home

Presentaci ó n CAS SSO en ESUP­Portail

perso.univ­rennes1.fr/pascal.aubry/

CAS PHP Universidad de Gent

/cas­ifsic2005/cas­ifsic2005.ppt

http://helpdesk.ugent.be/webhosting/en/cas.php#UGCAS_Simple

http://helpdesk.ugent.be/webhosting/en/cas.php#UGCAS_Simple > 19 | Ingreso Único (Single Sign On) - 04/06/2010

Fotos

Fotos http://gallery.photo.net/photo/2526167­lg.jpg (im á genes en espejo)

http://gallery.photo.net/photo/2526167­lg.jpg (im á genes en espejo)

http://bp1.blogger.com/_8hZa4PY88OI/SAjWUQa­7VI/AAAAAAAAAQc/

Jr1uwxIvP8Q/s400/puertas.jpg

http://www.tampicocultural.com.mx/artman/uploads/llave­antigua.jpg

http://ffodissahnerak.wordpress.com/2007/09/13/post­it­city/ (llave moderna)

http://astcontrol.com/images/reconocimiento­huella­seguridad­alarma­

panel.jpg

panel.jpg > 20 | Ingreso Único (Single Sign On) - 04/06/2010
Muchas gracias

Muchas gracias

Muchas gracias
Muchas gracias