aprovisionamiento de identidad - tareas #5056 · 2015-12-18 13:24 - andrés pías estado: en curso...

7
Aprovisionamiento de Identidad - Tareas #5056 Conectar un SP con Shibboleth de Seciu 12/18/2015 01:24 PM - Andrés Pías Status: En curso Start date: 12/18/2015 Priority: Alta Due date: Assignee: Andrés Pías % Done: 50% Category: Estimated time: 0.00 hour Target version: Spent time: 25.75 hours Description Primero se retoma el Idp y SP que tenemos. Procederemos luego en dos fases para conectarnos al Idp de Seciu. 1 - Una más simple donde solo protejamos un directorio web, Ej.: http://freud.csic.edu.uy/dirseguro/ (para test de conexión) 2 - En la segunda si usamos el plugin de Owncloud para shibboleth. Related issues: Related to Control de tiempo en CSIC y CCI - Tareas # 5668: Integrar SGPH con... En curso 05/08/2017 History #1 - 12/21/2015 12:42 PM - Andrés Pías - Priority changed from Normal to Alta Pad de la reunión aún sin completar: https://pad.softwarelibre.uy/p/Reunion_SECIU_4_DIC_2015 #2 - 01/22/2016 05:42 PM - Andrés Pías - % Done changed from 0 to 20 Logramos retomar el [[Shibboleth]]: que teníamos funcionando por suerte. Tenemos el Idp en Curie y el SP en Freud. Para retomar el servicio, fue necesario cambiar la configuración porque Curie ya no atiende mas el dominio identidad.interior.udelar.edu.uy. Desde el SP se cambian todas las referencias por curie.csic.edu.uy. Para evitar cambios desde el SP, se le hizo entender a Curie que el dominio identidad.interior.udelar.edu.uy era el (164.73.68.12, agregando urls en /etc/hosts). Tras varios tests para poner en marcha todo, hubo que recrear el certificado del Idp con: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pem Seguidamente hice reinicio del Idp para que tomara el certificado porque no funciona (Creo que solo reiniciando apache bastaba) Luego hubo que reinstalar el Idp para que se generaran nuevamente sus credenciales indicándole el dominio curie.csic.edu.uy, respaldando previamente toda la carpeta config para suplantarla después de la reinstalación: cd /usr/local/src/shibboleth-identityprovider-2.4.3/ sudo env IdPCertLifetime=3 JAVA_HOME=/usr/lib/jvm/default-java ./install.sh Y finalmente para que funcionará la conexión con el backend LDAP, hubo que agregar un parámetro en /opt/shibboleth-idp/conf/login.config: 09/24/2020 1/7

Upload: others

Post on 24-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

Aprovisionamiento de Identidad - Tareas #5056

Conectar un SP con Shibboleth de Seciu

12/18/2015 01:24 PM - Andrés Pías

Status: En curso Start date: 12/18/2015

Priority: Alta Due date:

Assignee: Andrés Pías % Done: 50%

Category: Estimated time: 0.00 hour

Target version: Spent time: 25.75 hours

Description

Primero se retoma el Idp y SP que tenemos.

Procederemos luego en dos fases para conectarnos al Idp de Seciu.

1 - Una más simple donde solo protejamos un directorio web, Ej.: http://freud.csic.edu.uy/dirseguro/ (para test de conexión)

2 - En la segunda si usamos el plugin de Owncloud para shibboleth.

Related issues:

Related to Control de tiempo en CSIC y CCI - Tareas # 5668: Integrar SGPH con... En curso 05/08/2017

History

#1 - 12/21/2015 12:42 PM - Andrés Pías

- Priority changed from Normal to Alta

Pad de la reunión aún sin completar:

https://pad.softwarelibre.uy/p/Reunion_SECIU_4_DIC_2015

#2 - 01/22/2016 05:42 PM - Andrés Pías

- % Done changed from 0 to 20

Logramos retomar el [[Shibboleth]]: que teníamos funcionando por suerte.

Tenemos el Idp en Curie y el SP en Freud.

Para retomar el servicio, fue necesario cambiar la configuración porque Curie ya no atiende mas el dominio identidad.interior.udelar.edu.uy. Desde el SP

se cambian todas las referencias por curie.csic.edu.uy. Para evitar cambios desde el SP, se le hizo entender a Curie que el dominio

identidad.interior.udelar.edu.uy era el (164.73.68.12, agregando urls en /etc/hosts).

Tras varios tests para poner en marcha todo, hubo que recrear el certificado del Idp con:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pem

Seguidamente hice reinicio del Idp para que tomara el certificado porque no funciona (Creo que solo reiniciando apache bastaba)

Luego hubo que reinstalar el Idp para que se generaran nuevamente sus credenciales indicándole el dominio curie.csic.edu.uy, respaldando previamente

toda la carpeta config para suplantarla después de la reinstalación:

cd /usr/local/src/shibboleth-identityprovider-2.4.3/

sudo env IdPCertLifetime=3 JAVA_HOME=/usr/lib/jvm/default-java ./install.sh

Y finalmente para que funcionará la conexión con el backend LDAP, hubo que agregar un parámetro en /opt/shibboleth-idp/conf/login.config:

09/24/2020 1/7

Page 2: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

userFilter="cn={0}";

Por defecto hacía el filtrado con 'userFilter="uid={0}";'. No se como era que funcionaba esto "así nomas", será que en su momento teniamos por defecto el

Scheme Posix en el OpenLDAP y luego lo cambiamos?

En fin, el que quiera acceder a probar como queda protegido un directorio web, entre a la url: http://freud.csic.edu.uy/seguro e ingrese su usuario y

password del LDAP.

Siguiente paso: ir camino a la integración con el Idp de Ceisu.

#3 - 08/01/2016 04:08 PM - Andrés Pías

Vamos a utilizar Freud por ahora, para reinstalar de nuevo el SP que teníamos ahí.

En Freud no tenemos nada mas que la prueba de la app de los polos, la cual solo le vamos a desactivar su site de apache.

No usamos coati porque tiene la prueba de tryton y algo mas hecho con Mysql.

#4 - 08/09/2016 01:16 PM - Andrés Pías

Quedó nuevamente restaurado el SP en el nuevo Freud.

Para ver, entrar en: http://freud.csic.edu.uy/seguro/

#5 - 08/17/2016 03:22 PM - Andrés Pías

- File ShibbolethSPInstall.html added

- File AtributosEmitidos.html added

- File ShibbolethAppIntegration.html added

Mail del 15 de Diciembre de Emiliano:

hola Andrés,

Tengo pendiente la generación de un nuevo proyecto en nuestro redmine para alojar la información publica del IdP, lo haremos en estos dias. De

todas formas, por si me demoro con eso, te mando algo de información interna para que puedas ir viendo algo, además en las páginas que te

mando hay varias referencias.

Para empezar te sugiero instalar un SP, y probar con el idp de testshib.org. Luego te aviso cuando quede habilitado el idp de test nuestro (si no

aviso haceme acordar). También podría ser util "ver" un poco los Assertions SAML que se intercambian, para eso puede ser util el plugin SAML

Tracer de firefox.

cualquier cosa nos avisan

saludos

Emilio

#6 - 08/17/2016 03:51 PM - Andrés Pías

Vamos a conectarnos primero a https://www.testshib.org/ para probar 1 SP con 2 IDP y luego pedimos datos a Cesiu.

Los links que nos paso Emiliano al momento están caídos debemos averiguar porqué?

09/24/2020 2/7

Page 3: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

#7 - 08/18/2016 04:48 PM - Andrés Pías

- % Done changed from 20 to 40

Procedimiento para conectar nuestro SP con el IDP de Testshib

Registramos nuestro shibboleth

Seguimos esta guía https://www.testshib.org/register.html

- Bajamos nuestro Metadata desde https://freud.csic.edu.uy/Shibboleth.sso/Metadata

- Ponemos un nombre único al archivo: Elejimos: sp-freud-csic-edu-uy.xml

Your metadata filename is sp-freud-csic-edu-uy.xml. Please keep this filename so you can overwrite your metadata file in the event you need to

update your entry.

(Si modificamos el archivo hay q volverlo darlo de alto con el mismo nombre identificador)

- Hacemos el upload en la web de testshib.

Configuración del SP

Entramos a la guía de configuración: https://www.testshib.org/configure.html

- Respaldamos nuestro archivo de config

cp shibboleth2.xml shibboleth2-backup.xml

- Generamos el nuevo archivo de config para usar en nuestro SP:

- En la página ponemos el nombre del host: freud.csic.edu.uy

- botón Create me para que se genere el archivo de config de nuestro SP

- Lo bajamos desde Freud con wget:

wget https://www.testshib.org/cgi-bin/sp2config.cgi?dist=Others&hostname=freud.csic.edu.uy

- Lo renombramos como nuestro archivo shibboleth2.xml.

- No esta especificado en el instructivo a la config hay que cambiarle algo para que funcione.

Sino más adelante vermos errores en la pagina de Testshib sale este:

Something horrible happened. If the below message states that the SAML 2 SSO Profile is not configured for you, then either you haven't uploaded

your metadata yet or your SP's entityID has not yet been properly configured.

Y el error que sale en los logs es este:

14:34:57.769 - WARN [org.opensaml.saml2.binding.AuthnResponseEndpointSelector:206] - Relying party

'https://myhost.intestshib.org/shibboleth' requested the response to be returned to endpoint with ACS URL

'http://freud.csic.edu.uy/Shibboleth.sso/SAML2/POST' and binding 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' however no endpoint,

with that URL and using a supported binding, can be found in the relying party's metadata

14:34:57.769 - ERROR [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:447] - No return endpoint available for

relying party https://myhost.intestshib.org/shibboleth

- Hay que cambiar una url por defecto en shibboleth2.xml:

<ApplicationDefaults entityID="https://myhost.intestshib.org/shibboleth"

REMOTE_USER="eppn">

por

<ApplicationDefaults entityID="https://freud.csic.edu.uy/Shibboleth.sso"

REMOTE_USER="eppn">

- También fue necesario agregar en los Virtualhost:

ServerName freud.csic.edu.uy

UseCanonicalName On

- Se reinician servicios

09/24/2020 3/7

Page 4: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

service apache2 restart

service shibd restart

Testeo

https://www.testshib.org/test.html

- Quedó funcionando en https, entramos a https://freud.csic.edu.uy/seguro

- Tenemos la redirección a https://idp.testshib.org/idp/Authn/UserPassword

- Nos autenticamos y perfectamente nos redirije al Hola mundo

Funciona!

Sigue ver como integramos la conexión a los 2 IDps

#8 - 03/17/2017 06:38 PM - Andrés Pías

Andrés Pías escribió:

Mail del 15 de Diciembre de Emiliano:

hola Andrés,

Tengo pendiente la generación de un nuevo proyecto en nuestro redmine para alojar la información publica del IdP, lo haremos en estos dias. De

todas formas, por si me demoro con eso, te mando algo de información interna para que puedas ir viendo algo, además en las páginas que te

mando hay varias referencias.

Para empezar te sugiero instalar un SP, y probar con el idp de testshib.org. Luego te aviso cuando quede habilitado el idp de test nuestro (si no

aviso haceme acordar). También podría ser util "ver" un poco los Assertions SAML que se intercambian, para eso puede ser util el plugin SAML

Tracer de firefox.

cualquier cosa nos avisan

saludos

Emilio

Pare de la documentación que nos cita Emiliano parece estar en esta wiki ahora: https://www.proyectos.udelar.edu.uy/redmine/projects/idp-pub/wiki

#9 - 03/17/2017 06:55 PM - Andrés Pías

Ya tenemos algo logrado con Php. En Freud definimos una página que lee los datos de la sesión Shibboleth iniciada.

La página es: https://freud.csic.edu.uy/seguro/otra.php, el resultado:

// PRUEBA SHIB SP - VARIABLES DEL SERVIDOR: Shib-Application-ID = default

Shib-Session-ID = _8e25c75f1f6e55a911c45839d7a30b85

Shib-Identity-Provider = https://idp.testshib.org/idp/shibboleth

Shib-Authentication-Instant = 2017-03-17T21:46:43.749Z

Shib-Authentication-Method = urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport

Shib-AuthnContext-Class = urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport

Shib-Session-Index = _ac5aa5926abae42686bed852dbc51239

affiliation = [email protected];[email protected]

cn = Me Myself And I

entitlement = urn:mace:dir:entitlement:common-lib-terms

eppn = [email protected]

persistent-id = https://idp.testshib.org/idp/shibboleth!https://freud.csic.edu.uy/Shibboleth.sso!bFwf1VY6V+mFy102yRuMdf322MA=

09/24/2020 4/7

Page 5: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

sn = And I

unscoped-affiliation = Member;Staff

De esta manera haciendo la prueba con testshib, se vió que se puede lograr la integración de una aplicacion php con este mecanismo de autenticación. Lo

único es que el login sería externo a la aplicación.

#10 - 05/08/2017 03:30 PM - Andrés Pías

- Related to Tareas #5668: Integrar SGPH con login.udelar added

#11 - 05/09/2017 03:58 PM - Andrés Pías

Para lograr la integración con login.udelar, nos vamos a comunicar con Emilio de Seciu.

Acá en esta wiki https://www.proyectos.udelar.edu.uy/redmine/projects/idp-pub/wiki/Atributos hay información de los atributos que entrega públicamente

el shibboleth de Seciu. Los candidatos a usarse para definir el enganche son:

Identificador del sujeto eduPersonPrincipalName eppn [email protected] Identificador opaco con scope, único por usuario, no

reasignable

Dirección email mail mail [email protected] Dirección de correo registrada en SIAP, no se exige que sea institucional

#12 - 06/27/2017 03:49 PM - Andrés Pías

Emilio nos respondió vamos cumpliendo con su pedido:

...agregamos una página en la wiki con información de la metadata que se requiere del SP:

https://proyectos.seciu.edu.uy/redmine/projects/idp-pub/wiki/SP-Metadata

En el caso de la metadata de ustedes, solo falta agregar la información de organización y de contacto.

Quedó aṕlicada esta configuración y documentada en [[Instalación de un Service Provider (SP)#Configuración-Avanzada-de-Metadatos]]

#13 - 06/29/2017 03:34 PM - Andrés Pías

Para lograr el Logout, que tambien quedó planteado en #5668, hacemos lo que nos proponé Emilio (que coincide con lo investigado) y que ahora lo

podemos lograr porque tenemos la url Logout:

- con respecto al logout, lo tipico es que la aplicación al hacer logout redirija al logout de tu SP (para cerrar la sesion en el SP) y el SP a su vez

redirije al logout del IdP. Te paso un ejemplo nuestro, esto iria en el archivo localLogout.html del SP, lo principal es el redirect a la pagina de logout

del idp de test que es

https://pirapire.seciu.edu.uy/idp/profile/Logout

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"DTD/xhtml1-strict.dtd">

09/24/2020 5/7

Page 6: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<meta http-equiv="Refresh" content="0;URL=https://pirapire.seciu.edu.uy/idp/profile/Logout"/>

....

</html>

#14 - 06/29/2017 05:33 PM - Andrés Pías

La conexión con login.UdelaR se logró completando esta configuración:

La metadata del idp de test de seciu está aqui:

https://proyectos.seciu.edu.uy/redmine/attachments/download/2446/metadata-idp-test-udelar.xml

La configuración requerida en el shibboleth2.xml es la que esta en la pagina https://proyectos.seciu.edu.uy/redmine/projects/idp-pub/wiki/SPInstall

En resumen lo que debe ajustarse es:

- Elemento <Sessions>, como dice la pagina en el punto 5

- Indicar la metadata del idp (punto 7):

<MetadataProvider type="XML" path="/etc/shibboleth/metadata/metadata-idp-test-udelar.xml" ></MetadataProvider>

- Configurar inicio de sesion, indicando que idp debe utilizar (punto 8):

<SSO entityID="https://pirapire.seciu.edu.uy/idp/shibboleth"

Sin embargo, aún no queda resuelta la obtención de atributos SALM.

#15 - 07/05/2017 04:41 PM - Andrés Pías

Para poder recibir mas atributos SAML tuve que agregar esta config que propone Emilio en attribute-map.xml:

Fijate en el attribute map si lo estas agarrando y en que variable lo cargas.

En la wiki tiene algo de info de eso en

https://proyectos.seciu.edu.uy/redmine/projects/idp-pub/wiki/SPInstall

"9. Configuración del archivo attribute-map.xml"

Para agarrar el uid tiene que estar descomentado en ese archivo:

<Attribute name="urn:oid:0.9.2342.19200300.100.1.1" id="uid"/>

#16 - 07/19/2017 01:47 PM - Andrés Pías

- % Done changed from 40 to 50

09/24/2020 6/7

Page 7: Aprovisionamiento de Identidad - Tareas #5056 · 2015-12-18 13:24 - Andrés Pías Estado: En curso Fecha de inicio: 2015-12-18 Prioridad: Alta Fecha fin: Asignado a: Andrés Pías

Quedó documentado el procedimiento para conectar un SP con el IDP de SeCIU en [[Instalación de un Service Provider (SP)]]

Files

ShibbolethSPInstall.html 16.7 KB 08/17/2016 Andrés Pías

AtributosEmitidos.html 5.93 KB 08/17/2016 Andrés Pías

ShibbolethAppIntegration.html 8.21 KB 08/17/2016 Andrés Pías

09/24/2020 7/7