Une fois la méthodologie du travail décrite, il ne nous reste plus qu’à mettre sur pied notre système. Ainsi, dans ce paragraphe, il est question de présenter étape par étape le travail effectué et d’accompagner ces différentes étapes par des résultats qui, seront présentés par des captures d’écran.
2.3.1 PRESENTATION DE L’INTRANET
L’intranet est la partie sécurisée de notre réseau informatique basé sur les mêmes technologies qu’Internet (protocoles de communication TCP/IP). L’intranet est connecté au réseau Internet pour permettre la communication avec le monde extérieur.
En effet, notre intranet peut être constitué de plusieurs serveurs parmi lesquels on peut citer :
– Le contrôleur de domaine (samba)
– Le serveur web
– Le serveur DNS
– Le serveur DHCP
– L’annuaire LDAP
– Le serveur de SSO (CAS)
– Le serveur de fourniture d’identités ou de SSO (Shibboleth)
Nous ne devons pas nous attarder sur la présentation de la configuration de tous ces serveurs car, le plus important ici ce sont les serveurs SSO et le fournisseur d’identités [3]. Nous avons choisi « iut-fv.cm » comme domaine.
L’architecture simplifiée se présente comme suit :
Figure 30 : architecture du système
2.3.2 CENTRALISATION DE L’AUTHENTIFICATION
Installation de l’annuaire LDAP
LDAP (Lightweight Directory Access Protocol) [4] représente la norme des systèmes d’annuaires, incluant un modèle de données, un modèle de nommage, un modèle fonctionnel basé sur le protocole LDAP, un modèle de sécurité et un modèle de réplication.
Afin d’installer tout ce dont nous avons besoin nous allons exécuter une seule commande dans le serveur Debian rassemblant tous les programmes.
– Le paquet “slapd” installe le serveur OpenLDAP. Il contient avant tout le démon qui permet de démarrer/arrêter/redémarrer le serveur OpenLDAP.
– Le paquet “ldap-utils” contient les commandes dites clientes qui permettent à l’utilisateur d’interagir avec l’annuaire LDAP.
– Le paquet “apache2” installe le serveur HTTP. Nous n’allons pas nous attarder sur tous les fichiers que le paquet apache installe. Le module PROXY ou encore le module SSL pour utiliser le protocole HTTPS.
– Les paquets “php5” et “php5-ldap” sont nécessaires au fonctionnement de PhpLDAPAdmin puisque cette application est écrite en PHP.
– Le paquet PhpLDAPAdmin est une interface accessible par internet écrite en PHP et qui permet d’administrer un annuaire LDAP à distance et de manière sécurisée avec le protocole HTTPS. Il est tout à fait possible d’utiliser des logiciels comme jXplorer (écrit en JAVA) pour se connecter et administrer l’annuaire LDAP seulement cela nécessite l’installation du logiciel sur la machine cliente. D’où le choix d’une administration par le web.
Pour terminer l’installation, il suffit de répondre aux questions posées par le système pour la configuration du demon slapd.
Pour la configuration de phpldapadmin :
Attention : Dans la nouvelle version d’openldap dans debian 6.0.1, le fichier slapd.conf n’existe plus il est remplacé par le répertoire /slapd.d.
Configuration du contrôleur de domaine avec SAMBA
Nous allons maintenant installer le serveur samba.
La librairie libnss-ldap permettant d’utiliser l’annuaire et la librairie libpam-ldap permettant de s’authentifier sous Unix. Cette configuration est très longue et nous n’allons pas nous attardé sur cette dernière.
Joindre le serveur SAMBA à l’annuaire
LDAP fonctionne avec des schémas, par défaut 4 schémas sont déjà présents, pour utiliser samba avec LDAP il faut le schéma approprié. Celui-ci se trouve dans le paquet samba-doc.
Il reste maintenant à éditer le fichier de configuration du serveur OpenLDAP : /etc/ldap/slapd.conf
2.3.3 CONFIGURATION DES SERVEURS
Nous rappelons ici que nos serveurs sont partagés différentes plate forme : serveur 1 (DNS+LDAP+samba), le serveur 2 (Shibboleth) et le serveur 3 (CAS). Le serveur 1 est déjà configuré à ce niveau. Nous pouvons passer au serveur 2 ensuite, le serveur 3 sera suivit.
2.3.3.1 INSTALLATIONS
Installation du paquet java 6 JDK-JRE
Java 6 JDK sera installé vers le chemin /usr/lib/jvm/java-6-openjdk. Pour éviter les confilts avec un autre serveur de machine virtuelle comme gcj. Désinstaller simplement gcj. Inclure les lignes suivantes dans /etc/profile (vérifier avec la commande : java –version).
Exécutons les commandes suivantes pour définir la variable JAVA_OPTS pour assurer à l’exécution de la JVM, de Tomcat et de la servlet IdP. Il est conseillé d’allouer au moins 512Mo de mémoire à la servlet IdP.
Installation du serveur Tomcat
Apache Tomcat est un serveur d’applications JAVA. C’est lui qui exécutera la brique Shibboleth IdP. Apache Tomcat 6.0.17 ou plus avancé est la version exigée pour démarrer le fournisseur d’identités.
Pour allouer à la JVM une mémoire maximale de 512MBytes et de 128MBytes autorisée, Dans le fichier /etc/default/tomcat6, modifions la variable java_OPTS pour ceci :
JAVA_OPTS=”-Djava.awt.headless=true -Xmx512M -XX:MaxPermSize=128M -Dcom.sun.security.enableCRLDP=true”
Installation de l’IdP Shibboleth
Shibboleth est disponible au site : http://shibboleth.internet2.edu/downloads/shibboleth/idp/
Les deux dernières lignes de copier les bibliothèques xml de Shibboleth dans la variable $CATALINA_HOME/endorsed sachant que $CATALINA_HOME=/opt/tomcat. Pour utiliser MyQL JDBC pour la sauvegarde, téléchargeons le dans le site dev.mysql.com.
Démarrons l’installation de Shibboleth avec un certificat de trois ans signé par Idp.
Déplaçons les annuaires de configuration de Shibbolet. Donnons la variable d’environnement dans le fichier /etc/profile.
Créons le répertoire pour la description de l’IdP :
Installation de MySQL Server
Installons la version 5.1 disponible dans debian6 (annexe 1)
Installation CAS server
Il s’agit ici du server de SSO [5] :
La suite de la configuration de CAS a été faite grâce au fichier à l’adresse : http://www.artduweb.com/tutoriels/cas-sso
2.3.3.2 CONFIGURATION DU SERVEUR IdP SHIBBOLETH
La configuration de l’idp Schibboleth [6] se fait en plusieurs étapes :
Création des certificats
Configuration d’apache
La génération du certificat nous devons éditer le fichier ssl.conf. Ajoutons les lignes suivantes pour que Apache utilise ces éléments.
Apache sera configuré avec le module mod_ssl supportant SSL et le module mod_proxy_ajp pour rediriger les requêtes à Tomcat. Obtenir un certificat de SWITCHpki à l’adresse : www.switch.ch/quovadis/quvsslica.crt.pem.
Améliorons le degré de sécurité de notre serveur, ajoutons dans de directive /etc/apache2/conf.d/security.
/etc/apache2/conf.d/security. ServerTokens Prod
Le fichier de configuration /etc/apache2/site-availabe/pcserver sera présenté en annexe 2. Ensuite survient l’activation de l’host virtuel, l’activation du module SSL et l’activation du module proxy ajp.
Configuration du module JAAS pour l’authentification des utilisateurs
Il faut configurer l’authentification pour Shibboleth IdP avec le module JAAS. http://docs.oracle.com/javase/1.5.0/docs/guide/security/jaas/JAASRefGuide.html
Configurons JAAS in /opt/shibboleth-idp/conf/login.config avec VTLdap pour LDAPS.
Configuration de tomcat
Dans /etc/tomcat6/server.xml, configurons le connecteur AJP 1.3 au port 8009:
Configuration de l’IdP
Les qualifications employées par Shibboleth IdP sont dans /opt/shibboleth-idp/credentials/annuaire. L’installateur produit d’un certificat individuel signé qui sera employé dans la fédération de SWITCHaai. Le certificat est également inclus dans le metadata de l’IdP dans le dossier/opt/shibboleth-idp/metadata/idp-metadata.xml. Toutes les fois que les qualifications de l’IdP sont changées, ce dossier doit être aussi bien changé. Etant donné que nous ne faisons pas partie de la fédération SWITCHaai, nous préparons l’IdP pour une fédération.
Le dossier spécifique de SWITCHaai relying-party.xml [7] peut être téléchargé comme calibre pour l’installation.
Ce fichier de configuration est présenté en annexe 3.
Résolution d’attribut et de filtrage
Téléchargons le dossier spécifique attribute-resolver.xml de configuration de SWITCHaai et l’adapter.
Le fichier /opt/shibboleth-idp/conf/attribute-resolver.xml se présente en annexe 4. Redéployons l’application Shibboleth IdP. Tomcat rechargera l’application d’enchaînement à condition que le descripteur de contexte se dirige au dossier/opt/shibboleth-idp/war/idp.war.
répondez no à la question Would you like to overwrite this Shibboleth configuration? Après le redémarrage de Tomcat, vous pourrez vérifier que l’application Shibboleth a correctement démarrée.
Conclusion
La fédération d’identités vise justement à simplifier la gestion des identités dans un contexte distribué entre plusieurs entreprises. Si on caricature le fonctionnement d’une fédération d’identité, on peut imaginer un douanier qui ne fait pas forcément confiance à une personne lui présentant son passeport.
Néanmoins notre douanier aura confiance au gouvernement qui a délivré le passeport. Ainsi notre individu est authentifié par son gouvernement et présente la preuve de son authentification au douanier qui le laisse alors franchir la douane.
Page suivante : CHAPITRE 3 : RESULTATS OBTENUS ET PERSPECTIVES