SPInstall
Versión 43 (Emilio Penna, Martes, 18 de Febrero de 2025 14:43:42 -0300) → Versión 44/48 (Emilio Penna, Martes, 18 de Febrero de 2025 14:43:54 -0300)
h1. Instalación Shibboleth SP
Actualizado: 2025-02-18
*Escenario:* En esta guia se describe la instalación de Shibboleth SP sobre con Debian 12. En los pasos siguientes se considera que la instalación se realiza en en el host <mihost-ejemplo.edu.uy>, se debe ajustar el nombre al que corresponda.
*Referencias:*
https://shibboleth.atlassian.net/wiki/spaces/SP3/overview
https://help.switch.ch/aai/guides/sp/
https://docs.tuakiri.ac.nz/service_providers/install_shibboleth_sp_on_debian_based_linux
*Requerimientos sobre Apache:*
1. Para integrarse con el proveedor de identidad de la udelar, es obligatorio utilizar HTTPS.
En esta guia se asume que ya se encuentra habilitado mod_ssl en el servidor
2. La documentación oficial de Shibboleth indica que el MPM "prefork" de apache (modulo de multiprocesamiento) genera problemas, por lo tanto se recomienda usar otro, puede ser "worker" MPM o "event" MPM. En la instalación de ejemplo utilizamos event.
https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2067399657/SystemRequirements
h3. 1. Instalación en Debian 12 usando paquete de Debian:
Partimos de un sistema con apache y mod_ssl
<pre>
sudo apt install libapache2-mod-shib
#chequear status con:
sudo systemctl status shibd.service
</pre>
Generar claves:
<pre>
shib-keygen -n sp-signing -u _shibd -g _shibd -y 20 -h spe.seciu.edu.uy -e https://spe.seciu.edu.uy/shibboleth -o /etc/shibboleth/
shib-keygen -n sp-encrypt -u _shibd -g _shibd -y 20 -h spe.seciu.edu.uy -e https://spe.seciu.edu.uy/shibboleth -o /etc/shibboleth/
</pre>
h3. 2. Verificación de estado
<pre>
$ sudo shibd -t
overall configuration is loadable, check console or log for non-fatal problems
</pre>
Chequeo de pagina de estado (opcional):
<pre>
curl -k https://127.0.0.1/Shibboleth.sso/Status
</pre>
Por defecto solo permite el acceso a la pagina de estado desde localhost. Para habilitar el acceso desde otro equipo, se puede agregar la IP desde la que se quiere acceder. Para esto, editar /etc/shibboleth/shibboleth2.xml, y agregar la ip en el elemento Handler. Ejemplo:
<pre>
<code class="xml">
<Handler type="Status" Location="/Status" acl="127.0.0.1 ::1 164.73.129.160"/>
</code>
</pre>
Ante cualquier cambio en la configuración de Shibboleth se debe reiniciar el proceso con los siguientes comandos:
<pre>
service shibd stop
service shibd start
</pre>
Luego accediendo a la dirección https://<mihost-ejemplo.edu.uy>/Shibboleth.sso/Status se puede ver una página xml con información del SP.
También puede ser con wget en localhost: wget https://localhost:443//Shibboleth.sso/Status --no-check-certificate
Otros chequeos:
Acceder a
https://<mihost-ejemplo.edu.uy>/Shibboleth.sso/Session
Deberia verse una pagina que dice "A valid session was not found"
Este mensaje indica que el módulo Shibboleth ha sido cargado correctamente por el webserver.
Luego se debe continuar con la configuración: [[SPConfig|Configuración Shibboleth SP]]
Comando util para chequear que la configuración de apache es válida (ejecutar luego de cambiar configuraciones de apache)
<pre>
apache2ctl configtest
</pre>
La salida deberia ser: Syntax OK