SPInstall

Versión 45 (Emilio Penna, Martes, 18 de Febrero de 2025 14:46:40 -0300)

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