SPConfig¶
1. Configuracion de entityID en shibboleth2.xml¶
Setear identificador de la entidad (entityID). Ejemplo:
1 <ApplicationDefaults entityID="https://spe.seciu.edu.uy/shibboleth"
2025: ESTO NO PRECISA PORQUE YA VIENE CON TRUE Y COOKIEPROPS=HTTPS, CHEQUEAR QUE PONGA EL SECURE
Ajustes en elemento Sessions:
Poner handlerSSL="true", y agregar propiedades seguras para cookies en cookieProps. Ejemplo:
1 <Sessions lifetime="28800" timeout="3600" relayState="ss:mem"
2 checkAddress="false" handlerSSL="true" cookieProps="; path=/; secure; HttpOnly">
CAMBIAR: cookieProps="https" hace el mismo efecto
Luego se debe reiniciar el proceso de Shibboleth (service shibd stop/service shibd start).
Para verificar la configuración se puede ejecutar el siguiente comando:
shibd -t.
La salida esperada es la siguiente:
overall configuration is loadable, check console for non-fatal problems
Es posible que de un warning porque todavia no hay ninguna metadata de IdP configuradas (no MetadataProvider).
4. Definir y cargar una fuente de metadata¶
Obtener metadata del IdP, se adjunta al final la metadata del IdP de test de seciu, si se va a integrar con el IdP de producción debe solicitarla por correo a idp@seciu.edu.uy
Guardarla en el directorio metadata de su SP (si no existe crearlo).
/etc/shibboleth/metadata/metadata-idp-test-udelar.xml
Registrarla en el SP, para esto, en el archivo shibboleth2.xml, ajustar el path en el elemento <MetadataProvider>:
1 <MetadataProvider type="XML" path="/etc/shibboleth/metadata/metadata-idp-test-udelar.xml" ></MetadataProvider>
5. Configurar Inicio de Sesión¶
Se debe configurar elemento SSO dentro del archivo shibboleth2.xml para que use el provedor de identidad de test de Seciu:
1 <SSO entityID="https://pirapire.seciu.edu.uy/idp/shibboleth"
6. Configuración del archivo attribute-map.xml¶
Shibboleth SP extrae los atributos del Assertion SAML que le envia el IdP, y almacena los valores en variables del servidor web. El mapeo entre los atributos recibidos y las variables se define en el archivo attribute-map.xml.
Se puede utilizar el que viene por defecto, luego se van descomentando o agregando los atributos que se utilicen.
Al final se adjunta un ejemplo de archivo attribute-map.xml
7. Enviar Metadata de su SP para registro¶
Debe obtener la metadata de su SP y contactarse con Seciu para su registro.
La información sobre como obtener y ajustar la metadata puede verla en esta pagina: SP-Metadata
8. Configuracion de Apache para proteger un recurso¶
En Apache, se recomienda setear correctamente el ServerName y también setear "UseCanonicalName On".
También se recomienda utilizar el "worker" MPM.
Referencia: https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig
Al instalar el modulo, se agrega mods-available/shib2.load, donde se carga el módulo.
Para agregar un recurso (Location) protegido, agregar en shib.conf o en el virtual host:
1
2 # You MUST enable AuthType shibboleth for the module to process
3 # any requests, and there MUST be a require command as well.
4
5 <Location /secure>
6 AuthType shibboleth
7 ShibRequestSetting requireSession 1
8 require shib-session
9 </Location>
Se pueden definir reglas mas complejas para control de acceso, incluso utilizando los aributos emitidos por el IdP.
Ejemplos de reglas para control de acceso:
https://www.switch.ch/aai/guides/sp/access-rules/