SHIBBOLETH — DÉMARRAGE
Les informations qui suivent sont destinées au personnel technique chargé de créer un compte Identity Provider (IdP) ou Service Provider (SP) sur Shibboleth.
Shibboleth est un logiciel d’exploitation libre principalement élaboré par l’organisme Internet2, aux États-Unis. Ce logiciel est conçu pour offrir un accès fédéré aux ressources Web des institutions participantes et s’appuie essentiellement sur le protocole SAML (Security Assertion Markup Language).
Le protocole SAML est une technologie non exclusive qui encadre l’échange sécurisé de données d’authentification et d’autorisations entre les organisations qui l’exploitent.
PLANIFICATION DU COMPTE IDP
Le logiciel Shibboleth IdP peut être mis en place de deux façons à l’institution.
- Comme extension d’un service Web d’inscription unique (WebSSO) existant.
- Comme WebSSO et service d’accès fédéré.
Les technologies d’accès fédéré étant relativement récentes, les institutions disposent déjà souvent d’un service WebSSO. Dans un tel cas, on installera Shibboleth comme une extension de ce service. Le logiciel Shibboleth IdP a été conçu pour s’intégrer avec les produits d’authentification WebSSO courants, tels OpenSSO, Pubcookie et CAS. Le logiciel s’intègre aussi aux systèmes de répertoire populaires comme LDAP, RDBMS et ActiveDirectory, pour le traitement des autorisations.
Plusieurs produits commerciaux de gestion des identités permettent de créer un compte IdP conforme au protocole SAML (par ex., OpenSSO de Sun), cependant, la plupart de ces produits ne sont conformes qu’à la plus récente version du protocole SAML (version 2.0).
Internet2 propose une excellente documentation de référence sur Shibboleth (anglais seulement).
INSTALLATION DU COMPTE IDP
Aperçu de l’installation (pas la mise à niveau) d’un compte IdP avec la version 2 du logiciel Shibboleth
Le document de référence vient d’Internet2. Les renseignements fournis ci-dessous ne servent qu’à compléter la documentation déjà abondante d’I2.
Précisons qu’on ne devrait plus utiliser la version 1.3 de Shibboleth lors d’une nouvelle installation. La version 2 du logiciel supporte les fonctionnalités du nouveau protocole SAML 2.0 et de l’ancien SAML 1.1.
Étapes à suivre
- Installer et configurer le logiciel Shibboleth Identity Provider. Cette étape comprend la sélection et la configuration de la plateforme et du système d’exploitation, l’installation d’un miniserveur Java – habituellement Tomcat, ainsi que l’installation et la configuration du service de distribution Shibboleth. On trouvera aussi une description indiquant comment procéder pour un basculement à chaud.
- Tester l’installation avec le banc d’essai Shibboleth d’Internet2. Le banc d’essai se trouve à https://www.testshib.org/testshib-two/index.jsp et comprend un fournisseur de services d’essai, un registre et de la documentation, ce qui facilitera la vérification et le dépistage des problèmes associés au compte IdP.
- S’assurer avec l’opérateur Shibboleth (OS) de la FCA que le compte est configuré pour fonctionner correctement (métadonnées).Cette étape prévoit la production de métadonnées – configuration SAML du site – que les membres de la FCA seront les seuls à employer pour communiquer de manière sécuritaire avec l’IdP. Les données suivantes doivent être fournies à l’OS :
| Champ | Valeur | Exemple |
| EntityID | URL | https://idp.monuniversité.ca/entité |
| Service Location | URL | https://idp.monuniversité.ca/shibboleth |
| Client Certificate | ||
| Organization Name | identificateur public | Mon université |
| Organization URL | site Web public | http://www.monuniversité.ca |
| Technical Contact | Prénom Nom | |
| Technical Contact |
Remarques
- Le paramètre EntityID doit respecter les critères que voici :
- il doit être persistant; ne pas utiliser de nom d’hôte DNS;
- il doit être unique;
- il devrait être choisi de manière à être exploitable éventuellement par la suite - à savoir, https://idp.monuniversité.ca/entité pourrait devenir un URL actif.
- Le certificat client doit être un certificat X.509 signé d’au moins 2 048 bits.
- L’adresse courriel de l’OS est tickets@canarie.ca
CONNEXION DE L’IDP À
LA FÉDÉRATION SAML
DE LA FCA
Pour configurer un fournisseur d’identités Shibboleth 2.3.x fonctionnel en vue de télécharger et de vérifier le fichier de métadonnées de la fédération, deux sections du fichier relying-party.xml doivent être modifiées.
1. Ajouter la configuration MetadataProvider en reprenant le modèle suivant :
<metadata:MetadataProvider id="CanadianAccessFederation"
xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
metadataURL="https://caf-shib2ops.ca/CoreServices/caf_metadata_signed.xml"
backingFile="/local/shibboleth-idp/metadata/cafshib_metadata_signed.xml"
cacheDuration="3600">
<metadata:MetadataFilter xsi:type="ChainingFilter" xmlns="urn:mace:shibboleth:2.0:metadata">
<metadata:MetadataFilter xsi:type="RequiredValidUntil"
xmlns="urn:mace:shibboleth:2.0:metadata" maxValidityInterval="4838400" />
<metadata:MetadataFilter xsi:type="SignatureValidation"
xmlns="urn:mace:shibboleth:2.0:metadata" trustEngineRef="shibboleth.MetadataTrustEngine"
requireSignedMetadata="true" />
</metadata:MetadataFilter>
</metadata:MetadataProvider>
2. Télécharger le certificat de vérification des métadonnées X.509 de https://caf-shibops.ca/CoreServices/index.shtml
3. Ajouter la configuration TrustEngine en reprenant le modèle suivant :
<security:TrustEngine id="shibboleth.MetadataTrustEngine" xsi:type="security:StaticExplicitKeySignature">
<security:Credential id="CAFFederationCredentials" xsi:type="security:X509Filesystem">
<security:Certificate>/local/shibboleth-idp/credentials/cafshib_metadata_verify.pem</security:Certificate>
</security:Credential>
</security:TrustEngine>
PLANIFICATION DU COMPTE SP
Habituellement, on installe et configure le compte Shibboleth SP sur un serveur Web afin de contrôler l’accès à ce site, c’est-à-dire authentifier et autoriser les utilisateurs d’après les attributs obtenus d’un IdP.
Une institution pourrait compter un grand nombre de comptes SP en raison de la prolifération des ressources Web. Par conséquent, il vaut la peine de planifier le déploiement des SP et d’y réserver des ressources pour en atténuer autant que possible la complexité. Il faut également un « point de contact » technique pour résoudre les problèmes qui pourraient impliquer d’autres membres de la FCA.
INSTALLATION DU COMPTE SP
Aperçu de l’installation d’un compte SP avec la version 2 du logiciel Shibboleth
Le document de référence vient d’Internet2. Les renseignements fournis ci-dessous ne servent qu’à compléter la documentation déjà abondante d’I2.
Notons qu’on ne devrait plus utiliser la version 1.3 de Shibboleth lors d’une nouvelle installation. La version 2 du logiciel supporte les fonctionnalités de l’ancien protocole SAML 1.1 et du nouveau SAML 2.0.
L’installation ressemble à celle du compte IdP:
- Installer et configurer le logiciel Shibboleth Identity Provider.
- Tester l’installation avec le banc d’essai Shibboleth d’Internet2. Le banc d’essai se trouve à https://www.testshib.org/testshib-two/index.jsp et comprend un fournisseur de services d’essai, un registre et de la documentation, ce qui facilitera la vérification et le dépistage des problèmes associés au compte IdP.
- S’assurer avec l’opérateur Shibboleth (OS) de la FCA que le service est configuré pour fonctionner correctement (métadonnées).Cette étape prévoit la production de métadonnées – configuration SAML du site – que les membres de la FCA seront les seuls à employer pour communiquer de manière sécuritaire avec l’IdP. Les données suivantes doivent être fournies à l’OS :
| Champ | Valeur | Exemple |
| EntityID | URL | https://monSP.mondépartement.monuniversité.ca/entité |
| Service Location | URL | https://monSP.mondépartement.monuniversité.ca/étiquetteSP |
| Client Certificate | ||
| Organization Name | identificateur public | Mon université |
| Organization URL | site Web public | http://www.monuniversité.ca |
| Technical Contact | Prénom Nom |
|
| Technical Contact Email |
Remarques
- Le paramètre EntityID doit respecter les critères que voici :
- il doit être persistant; ne pas utiliser de nom d’hôte DNS;
- il doit être unique;
- il devrait être choisi de manière à être exploitable éventuellement par la suite - à savoir, https://idp.monuniversité.ca/entité pourrait devenir un URL actif.
- Le certificat client doit être un certificat X.509 signé d’au moins 2 048 bits.
- L’adresse courriel de l’OS est tickets@canarie.ca
CONNEXION DU COMPTE SP AU
SERVICE DE RECHERCHE DES IDP DE LA FCA
Cette section décrit comment mettre en place le service IdP Discovery et procéder à la vérification/récupération des métadonnées avec le nouveau service SAML2 de la FCA pour votre fournisseur de services.
Configuration de IdP Discovery pour SAML 2 Shibboleth 2.4.x et versions postérieures
Ajouter la configuration que voici aux métadonnées Shibboleth du fournisseur de services, puis soumettre le tout à la FCA, à tickets@canarie.ca.
<md:Extensions>
<DiscoveryResponse xmlns="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
Location="https://<Service_Provider_FQDN>/Shibboleth.sso/Login" index="1"/>
</md:Extensions>
Élément SessionInitiator
Cet élément devrait être configuré comme suit :
<!-- caf-shib2ops SAML2 Discovery Service -->
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://caf-shib2ops.ca/DS/CAF.ds">
SAML2 SAML1
</SSO>
Configuration du service IdP Discovery pour les versions de SAML 2 antérieures à la version 2.4.x
<md:Extensions>
<DiscoveryResponse xmlns="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
Location="https://<Service_Provider_FQDN>/Shibboleth.sso/DS" index="1"/>
</md:Extensions>
Précisons qu’en tant que fournisseur de services, les changements doivent être soumis à l’exploitant de la FCA, qui les ajoutera aux métadonnées de la FCA afin que les autres participants puissent y avoir accès.
Élément SessionInitiator
Le service SAML 2.0 Discovery recourt à l’entrée que voici pour revenir au fournisseur de services initiateur vers lequel l’utilisateur sera aiguillé pour authentification. Configurer l’élément SessionInitiator de shibboleth2.xml comme suit :
<SessionInitiator type="Chaining" Location="/DS" id="DS" relayState="cookie">
<SessionInitiator type="SAML2" acsIndex="1" template="bindingTemplate.html"/>
<SessionInitiator type="Shib1" acsIndex="5"/>
<SessionInitiator type="SAMLDS" URL="https://caf-shib2ops.ca/DS/CAF.ds"/>
</SessionInitiator>
Configuration de IdP Discovery pour les versions de SAML1 (versions de Shibboleth antérieures à la version 2.4.x)
REMARQUE : Le service plus ancien Where Are You From (WAYF) et les points d’extrémité des métadonnées correspondants seront inutiles dorénavant, puisque le nouveau service Discovery est rétro-compatible avec WAYF de SAML1. Les anciens services situés à https://caf-shibops.ca/CoreServices/index.shtml seront désactivés le 30 juin 2013. Les nouveaux services sont d’ores et déjà disponibles. La date précitée a été retenue afin de laisser assez de temps pour la migration vers le nouveau service, sachant que certaines tâches pourraient être accomplies après la fin de l’année académique.
Les instructions qui suivent permettront de configurer les versions de SAML1 (versions de Shibboleth antérieures à la version 2.4.x)
Pour configurer une version fonctionnelle de Shibboleth 2.3.x, le fournisseur d’identité doit télécharger et vérifier le fichier de métadonnées de la fédération. Deux sections du fichier relying-party.xml doivent être modifiées :
1. Utiliser ce qui suit comme modèle dans le fichier shibboleth2.xml pour configurer le fournisseur de services à saisir et vérifier les métadonnées de la Fédération canadienne d’accès :
<MetadataProvider type="XML" uri="https://caf-shibops.ca/CoreServices/cafshib_metadata_signed.xml" backingFilePath="/etc/shibboleth/metadata.caf.xml" reloadInterval="3600">
<MetadataFilter type="RequireValidUntil" maxValidityInterval="7776000"/>
<MetadataFilter type="Signature" verifyName="false" certificate="/etc/pki/tls/certs/cafshib_metadata_verify.pem"/>
</MetadataProvider>
2. Le certificat de vérification configuré doit être téléchargé et stocké localement. Adresse du téléchargement : https://caf-shibops.ca/CoreServices/index.shtml
3. Utiliser ce qui suit comme modèle dans le fichier shibboleth2.xml pour configurer le fournisseur de services afin qu’il sélectionne le service IdP Discovery de la FCA :
<SessionInitiator type="Chaining" Location="/WAYF" id="WAYF" relayState="cookie">
<SessionInitiator type="SAML2" acsIndex="1" template="bindingTemplate.html"/>
<SessionInitiator type="Shib1" acsIndex="5"/>
<SessionInitiator type="WAYF" acsIndex="5" URL="https://caf-shibops.ca/WAYF/a.wayf" />
</SessionInitiator>
Accueil