Projet Socle ENT
Pages enfant
  • Shibboleth (esup 4)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Remarque
titlePrérequis

Tomcat doit avoir été configuré ! et être branché sur un serveur Apache frontal.

Il convient également d'avoir à disposition un IdP et un SP fonctionnels, et que le mapping des attributs LDAP ait été correctement réalisé.

Une version de Shibboleth 2.x est obligatoire, pour assurer le support SAML2.

Info

La documentation Renater fournit des tutoriels détaillés sur l'installation et la configuration d'un IdP et d'un SP Shibboleth.

Configuration Apache - mod_shib

La mise en place du SP Shibboleth

...

sur le serveur Apache va se faire via l'activation du module mod_shib, fourni avec le SP.

Il conviendra donc d'ajouter le chargement du module à la configuration du serveur httpd :

Bloc de code
LoadModule mod_shib $SP_HOME/lib/shibboleth/mod_shib_xx.so
Remarque

Il existe plusieurs versions fournies du mod_shib, dépendantes de la version du serveur Apache utilisé. Il conviendra donc de charger le module correspondant : mod_shib_13 (Apache httpd 1.3), mod_shib_20 (Apache httpd 2.0), mod_shib_22 (Apache httpd 2.2), mod_shib_24 (Apache httpd 2.4).

Une fois le module chargé, on va pouvoir le configurer. On va dans un premier temps protéger le handler Shibboleth qui permettra, entre autre, d'obtenir des informations sur le SP :

Bloc de code
UseCanonicalName On
ServerName localhost

<Location /Shibboleth.sso>
    SetHandler shib
</Location>

On peut également ajouter un script qui permettra de tester l'identification par Shibboleth, et qui affichera les informations transmises dans le header :

Bloc de code
ScriptAlias /secure $APACHE_HOME/cgi-bin/printenv.pl
<Location /secure>
   AuthType shibboleth
   ShibRequestSetting requireSession 1
   ShibRequestSetting applicationId default
   require valid-user
</Location>

L'utilisation de ce script est expliquée dans la partie Tests de fonctionnement ci-dessous.

Enfin, il reste à protéger l'URL de login du portail pour forcer une authentification via Shibboleth quand un utilisateur accèdera à cette URL :

Bloc de code
<Location /uPortal/Login >
    AuthType shibboleth
    ShibRequestSetting requireSession 1
    ShibRequestSetting applicationId default
    require valid-user
</Location>

https://services.renater.fr/federation/docs/installation

Configuration Apache - mod_shib

...

Configuration uPortal

 

Tests de fonctionnement

...

Cela permet de vérifier que l'IdP peut bien se connecter au serveur LDAP et remonter des attributs.

 

SP

Pour vérifier que le SP est bien en état de fonctionnement, depuis la machine hébergeant le serveur Apache, on peut se rendre à l'url suivante : http://localhost/Shibboleth.sso/Status . Cette page devrait afficher des informations de métadonnées sur le SP, ce qui confirme son fonctionnement.

Pour vérifier que l'IdP transmet bien les éléments qu'il récupère au SP, on va utiliser la servlet de test mise en place lors de la configuration d'Apache : /secure.
Étant protégée par Shibboleth, elle va requérir une authentification, et on pourra vérifier les attributs transmis lors de cette identification.

Pour cela, il suffit d'accéder à http://localhost/secure/ depuis la machine hébergeant le serveur Apache pour afficher le script d'informations.

...