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 |