SPInstall
Versión 44 (Emilio Penna, Martes, 18 de Febrero de 2025 14:43:54 -0300)
1 | 1 | h1. Instalación Shibboleth SP |
|
---|---|---|---|
2 | 1 | ||
3 | 43 | Emilio Penna | Actualizado: 2025-02-18 |
4 | 1 | ||
5 | 44 | Emilio Penna | *Escenario:* En esta guia se describe la instalación de Shibboleth SP sobre 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 |