SPInstall

Versión 43 (Emilio Penna, Martes, 18 de Febrero de 2025 14:43:42 -0300)

1 1
h1. Instalación Shibboleth SP
2 1
3 43 Emilio Penna
Actualizado: 2025-02-18
4 1
5 42 Emilio Penna
*Escenario:* En esta guia se describe la instalación de Shibboleth SP 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.
6 36 Emilio Penna
7 1
8 36 Emilio Penna
9 42 Emilio Penna
*Referencias:*
10 1
11 42 Emilio Penna
https://shibboleth.atlassian.net/wiki/spaces/SP3/overview
12 42 Emilio Penna
https://help.switch.ch/aai/guides/sp/
13 42 Emilio Penna
https://docs.tuakiri.ac.nz/service_providers/install_shibboleth_sp_on_debian_based_linux
14 1
15 4 Emilio Penna
16 42 Emilio Penna
*Requerimientos sobre Apache:*
17 1
18 42 Emilio Penna
1. Para integrarse con el proveedor de identidad de la udelar, es obligatorio utilizar HTTPS.
19 42 Emilio Penna
En esta guia se asume que ya se encuentra habilitado mod_ssl en el servidor
20 1
21 42 Emilio Penna
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.
22 1
23 42 Emilio Penna
https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2067399657/SystemRequirements
24 39 Emilio Penna
25 39 Emilio Penna
26 42 Emilio Penna
h3. 1. Instalación en Debian 12 usando paquete de Debian:
27 1
28 42 Emilio Penna
Partimos de un sistema con apache y mod_ssl 
29 1
30 32 Emilio Penna
<pre>
31 42 Emilio Penna
sudo apt install libapache2-mod-shib
32 42 Emilio Penna
33 42 Emilio Penna
#chequear status con:
34 42 Emilio Penna
sudo systemctl status shibd.service
35 33 Emilio Penna
</pre>
36 33 Emilio Penna
37 33 Emilio Penna
38 42 Emilio Penna
Generar claves:
39 1
40 1
<pre>
41 42 Emilio Penna
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/
42 42 Emilio Penna
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/
43 42 Emilio Penna
</pre> 
44 1
45 23 Emilio Penna
46 23 Emilio Penna
47 42 Emilio Penna
h3. 2. Verificación de estado
48 23 Emilio Penna
49 1
50 24 Emilio Penna
<pre>
51 42 Emilio Penna
$ sudo shibd -t
52 42 Emilio Penna
overall configuration is loadable, check console or log for non-fatal problems
53 24 Emilio Penna
</pre>
54 24 Emilio Penna
55 42 Emilio Penna
Chequeo de pagina de estado (opcional):
56 24 Emilio Penna
57 24 Emilio Penna
<pre>
58 24 Emilio Penna
curl -k https://127.0.0.1/Shibboleth.sso/Status
59 1
</pre>
60 1
61 15 Emilio Penna
62 1
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:
63 24 Emilio Penna
64 1
<pre>
65 1
<code class="xml">
66 42 Emilio Penna
<Handler type="Status" Location="/Status" acl="127.0.0.1 ::1 164.73.129.160"/>
67 1
</code>
68 1
</pre>
69 1
70 1
71 42 Emilio Penna
Ante cualquier cambio en la configuración de Shibboleth se debe reiniciar el proceso con los siguientes comandos:
72 1
73 1
<pre>
74 1
service shibd stop
75 1
service shibd start
76 1
</pre>
77 1
78 1
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.
79 1
También puede ser con wget en localhost:  wget https://localhost:443//Shibboleth.sso/Status --no-check-certificate 
80 1
81 1
82 1
Otros chequeos:
83 1
84 1
Acceder a 
85 1
https://<mihost-ejemplo.edu.uy>/Shibboleth.sso/Session
86 25 Emilio Penna
87 24 Emilio Penna
Deberia verse una pagina que dice "A valid session was not found"
88 24 Emilio Penna
89 24 Emilio Penna
Este mensaje indica que el módulo Shibboleth ha sido cargado correctamente por el webserver.
90 1
91 1
Luego se debe continuar con la configuración: [[SPConfig|Configuración Shibboleth SP]]
92 42 Emilio Penna
93 42 Emilio Penna
94 42 Emilio Penna
Comando util para chequear que la configuración de apache es válida (ejecutar luego de cambiar configuraciones de apache)
95 42 Emilio Penna
96 42 Emilio Penna
<pre>
97 42 Emilio Penna
apache2ctl configtest
98 42 Emilio Penna
</pre>
99 42 Emilio Penna
La salida deberia ser: Syntax OK