Gagne de la cryptomonnaie GRATUITE en 5 clics et aide institut numérique à propager la connaissance universitaire >> CLIQUEZ ICI <<

2.3 MISE EN OEUVRE

Non classé

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 :

Architecture du système

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.

Code1

– 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.

Code2

Pour la configuration de phpldapadmin :

Code3

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.

Code4

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

Code5

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

Code6

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).

Code7

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.

Code8

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.

Code9

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/

Code10

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.

Code11

Démarrons l’installation de Shibboleth avec un certificat de trois ans signé par Idp.

Code12

Déplaçons les annuaires de configuration de Shibbolet. Donnons la variable d’environnement dans le fichier /etc/profile.

Code13

Créons le répertoire pour la description de l’IdP :

Code14

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] :

Code15

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

Code16

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.

Code17

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.

Code18

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.

Code19

Configuration de tomcat

Dans /etc/tomcat6/server.xml, configurons le connecteur AJP 1.3 au port 8009:

Code20

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.

Code21

Le dossier spécifique de SWITCHaai relying-party.xml [7] peut être téléchargé comme calibre pour l’installation.

Code22

 

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.

Code23

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

Retour au menu : Mise en oeuvre d’un système d’authentification centralisé SSO avec fournisseur d’identité dans un intranet