SPConfig
Versión 8 (Emilio Penna, Martes, 18 de Febrero de 2025 14:50:09 -0300) → Versión 9/11 (Emilio Penna, Martes, 18 de Febrero de 2025 14:51:36 -0300)
h1. SPConfig
h3. 1. Configuracion de entityID en shibboleth2.xml
Setear identificador de la entidad (entityID). entidad: entityID. Ejemplo:
<pre><code class="xml">
<ApplicationDefaults entityID="https://spe.seciu.edu.uy/shibboleth" entityID="https://<mihost-ejemplo.edu.uy>/shibboleth"
REMOTE_USER="eppn persistent-id targeted-id">
</code></pre>
Ajustes en elemento Sessions:
Poner handlerSSL="true", y agregar propiedades seguras para cookies en cookieProps. Ejemplo:
<pre><code class="xml">
<Sessions lifetime="28800" timeout="3600" relayState="ss:mem"
checkAddress="false" handlerSSL="true" cookieProps="; path=/; secure; HttpOnly">
</code></pre>
*CAMBIAR:* cookieProps="https" hace el mismo efecto
Luego se debe reiniciar el proceso de Shibboleth (service shibd stop/service shibd start).
Para verificar la configuración se puede ejecutar el siguiente comando:
<pre>
shibd -t.
</pre>
La salida esperada es la siguiente:
<pre>
overall configuration is loadable, check console for non-fatal problems
</pre>
Es posible que de un warning porque todavia no hay ninguna metadata de IdP configuradas (no MetadataProvider).
h3. 4. Definir y cargar una fuente de metadata
Obtener metadata del IdP, se adjunta al final la metadata del IdP de test de seciu, si se va a integrar con el IdP de producción debe solicitarla por correo a idp@seciu.edu.uy
Guardarla en el directorio metadata de su SP (si no existe crearlo).
/etc/shibboleth/metadata/metadata-idp-test-udelar.xml
Registrarla en el SP, para esto, en el archivo shibboleth2.xml, ajustar el path en el elemento <MetadataProvider>:
<pre> <code class="xml">
<MetadataProvider type="XML" path="/etc/shibboleth/metadata/metadata-idp-test-udelar.xml" ></MetadataProvider>
</code> </pre>
h3. 5. Configurar Inicio de Sesión
Se debe configurar elemento SSO dentro del archivo shibboleth2.xml para que use el provedor de identidad de test de Seciu:
<pre> <code class="xml">
<SSO entityID="https://pirapire.seciu.edu.uy/idp/shibboleth"
</code></pre>
h3. 6. Configuración del archivo attribute-map.xml
Shibboleth SP extrae los atributos del Assertion SAML que le envia el IdP, y almacena los valores en variables del servidor web. El mapeo entre los atributos recibidos y las variables se define en el archivo attribute-map.xml.
Se puede utilizar el que viene por defecto, luego se van descomentando o agregando los atributos que se utilicen.
Al final se adjunta un ejemplo de archivo attribute-map.xml
h3. 7. Enviar Metadata de su SP para registro
Debe obtener la metadata de su SP y contactarse con Seciu para su registro.
La información sobre como obtener y ajustar la metadata puede verla en esta pagina: [[SP-Metadata]]
h3. 8. Configuracion de Apache para proteger un recurso
En Apache, se recomienda setear correctamente el ServerName y también setear "UseCanonicalName On".
También se recomienda utilizar el "worker" MPM.
Referencia: https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig
Al instalar el modulo, se agrega mods-available/shib2.load, donde se carga el módulo.
Para agregar un recurso (Location) protegido, agregar en shib.conf o en el virtual host:
<pre> <code class="xml">
# You MUST enable AuthType shibboleth for the module to process
# any requests, and there MUST be a require command as well.
<Location /secure>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
</Location>
</code> </pre>
Se pueden definir reglas mas complejas para control de acceso, incluso utilizando los aributos emitidos por el IdP.
Ejemplos de reglas para control de acceso:
https://www.switch.ch/aai/guides/sp/access-rules/