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).
Or, beaucoup de membres (sinon la plupart) des fédérations Shibboleth exploitent une version plus ancienne du logiciel Shibboleth, lequel repose sur la version 1.1 du protocole SAML, version qui présente très peu d’interopérabilité avec les autres logiciels. Pour l’instant, on devra donc se servir du logiciel Shibboleth pour bâtir les services de la Fédération canadienne d’accès.
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 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 shib-operator@caf-shibops.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-shibops.ca/CoreServices/cafshib_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 shib-operator@caf-shibops.ca
CONNEXION DU COMPTE SP AU
SERVICE DE RECHERCHE DES IDP 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. Reprendre le modèle suivant dans le fichier shibboleth2.xml file pour configurer le compte SP 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. Télécharger le certificat de vérification et le sauvegarder localement. Adresse pour le téléchargement : https://caf-shibops.ca/CoreServices/index.shtml
3. Reprendre le modèle suivant dans le fichier shibboleth2.xml pour configurer le service SP de manière à sélectionner le service de recherche des IdP 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>
Si vous êtes fournisseur d’identités, visitez l’espace réservé aux membres (nécessite l’entrée en communication avec votre Shibboleth IdP)
Accueil