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 |