Vous êtes sur la page 1sur 13

OPENLDAP

Partie I : Serveur OpenLDAP

I. Présentation de LDAP

II. Installation des packages

III. Configuration du serveur


1. Editons le fichier slapd.conf
2. Editons du fichier ldap.conf
3. Fichier DB_CONFIG
4. Création des LDIF
5. Lancement du serveur Ldap
6. Peuplement de l’annuaire LDAP
7. Interrogation de l'annuaire

IV. PHPLDAPADMIN

Prof : M LO

LDAP s’est établi comme une valeur sûre dans le domaine des annuaires

electroniques. Sa mise en pratique est intéressante et a donc été pour nous une

source d’intérêt supplémentaire car nous permettant de nous familiariser avec

lui .

I Présentation de LDAP

LDAP (Lightweight Directory Access Protocol), est un protocole d'annuaire sur TCP/IP
permettant de partager des bases d'informations sur un réseau interne ou externe. Ces
bases peuvent contenir toute sorte d'information que ce soit des coordonnées de
personnes ou des données systèmes.
Un annuaire électronique est une base de données spécialisée, dont la fonction première
est de retourner un ou plusieurs attributs d'un objet grâce à des fonctions de
recherche multicritères. Contrairement à un SGBD, un annuaire est très performant en
lecture mais l'est beaucoup moins en écriture. Sa fonction peut être de servir
d'entrepôt pour centraliser des informations et les rendre disponibles, via le réseau à
des applications, des systèmes d'exploitation ou des utilisateurs.

LDAP est né de la nécessaire adaptation du protocole DAP (protocole d'accès au service


d'annuaire X500 de l'OSI) à l'environnement TCP/IP. Initialement frontal d'accès à des
annuaires X500, LDAP est devenu en 1995, un annuaire natif (standalone LDAP) sous
l'impulsion d'une équipe de l'Université du Michigan (logiciel U-M LDAP).

Objectifs :

 Installer un serveur LDAP avec une configuration très basique


 Ajouter un groupe et un utilisateur dans un annuaire basique
 Configurer un client pour l'authentification en utilisant Login/Password contenu
dans l'annuaire LDAP.

Architecture :

Schéma fonctionnel d’authentification :

Un schéma décrit toutes les règles qu'utilise le serveur LDAP pour décrire les classes
d'objets (attributs, syntaxe, ...).

On regroupe les objets qui sont du même domaine dans une classe d'objet, celle-ci est
caractérisée par des attributs obligatoires ou optionnels et un type.

Exemple :
 type structurel : classes d’objets concrets de l'annuaire (personnes,
groupes de personnes, ...) ;
 type auxiliaire : classes d'objets qu'on peut créer, pour rajouter des
attributs supplémentaires à des classes d'objet de type structurel déjà
existantes ;
 type abstraite : classes d'objet (par défaut) qui n'ont pas de
signification concrète.

Toutes les autres classes d'objet dérivent de la classe top (la racine). Chaque classe
hérite des propriétés d'une classe père et possède des attributs supplémentaires par
rapport à ce dernier.
Installation d’OpenLDAP

Pour configurer openldap on a besoin d’installer les packages suivants :


openldap, openldap-servers, openldap-clients, openldap-devel.
Pour se faire, deux méthodes sont possibles :
 Avec les packages rpm :

 Ou à partir de l’internet :

Configuration du serveur LDAP

Le répertoire /etc/openldap contient :

Avant de passer à la configuration du serveur ldap on va verifier si le domaine


DNS est bien fonctionnel avec la commande nslookup.

Resultat:

On voit bien que notre domaine fonctionne.


1. Editions le fichier slapd.conf :

slapd.conf est le fichier de configuration d’openldap.

 La ligne 88 de suffixe nomme le domaine pour lequel le serveur LDAP


fournira les informations de façon à refléter votre nom de domaine.

 ligne 91 L'entrée rootdn est le nom de d’un utilisateur non restreint par
les paramètres de contrôle d'accès ou de limite administrative définis
pour les opérations sur l'annuaire LDAP. On peut représenter l'utilisateur
rootdn comme l'utilisateur root pour l'annuaire LDAP.

 ligne 96 rootpw : correspond au mot de passe de l’administrateur. Il peut


être en clair ou crypté. Pour le crypter, il suffit de taper la commande :
« slappasswd ».

2. Editions du fichier ldap.conf

Dans le fichier ldap.conf on ajoute l’adresse du serveur LDAP à contacter, le


DN de la base et l’adresse du serveur avec Protocol d’accès.
3. Fichier DB_CONFIG

On copie le fichier de base de données DB_CONFIG dans le répertoire /


var/lib/ldap (car si on lance le service slapd sans l’avoir copié il nous retourne
une erreur disant qu’il ne trouve pas le fichier /var/lib/ldap/DB_CONFIG)..

4. Lancement du serveur Ldap

Il ne nous reste plus qu'à lancer notre serveur et faire en sorte qu'il démarre
automatiquement à chaque redémarrage de la machine. Voici les deux méthodes
pour vérifier et créer rapidement les liens nécessaires au démarrage
automatique d'un service.
Par exemple, le serveur LDAP doit être lancé aux run-levels 2,3 et 5. Il faut
donc taper la commande suivante :

5. Création des LDIF

LDIF signifie LDAP Data Interchange Format.


LDIF est un moyen de lire et d'écrire des données dans un annuaire LDAP en
utilisant des fichiers textes. C'est le standard LDAP qui définit le format des
fichiers dédiés à importer et/ou exporter des données dans l'annuaire. Ces
fichiers sont alors des fichiers dits LDIF.
LDIF est une base sur un format texte ASCII qui permet de décrire toutes les
données de l'annuaire, y compris le schéma et d'effectuer des traitements dans
celui-ci comme la création ou la mise à jour.
L'ensemble des données et des commandes est sauvegardée dans un fichier
texte.
Syntaxe
Dans notre cas, nous avons créé trois fichiers LDIF dans le répertoire
/etc/openldap favorisant les insertions des données, l'un qui nous permettra
d'insérer les informations concernant la racine et les unités organisationnelles
que l'on va appelle racine.ldif et un autre fichier pour les utilisateurs appelé :
utilisateur.ldif.

Ensuite on crée les utilisateurs


6. Peuplement de l’annuaire LDAP

Pour insérer les fichiers LDIF nous utilisons la commande suivante (tout en
entrant le password de l’administrateur créé précédemment) :

Ajout de la Racine et les Unités d’Organisation (UO)

Ajoute des Utilisateurs

 -W : demande la saisie interactive du mot de passe administrateur de l’annuaire


 -x : authentification simple (au lieu de SASL)
 -D : précise le DN de l’utilisateur pour se connecter à l’annuaire
 -f : le fichier d’échange à importer

Grâce à l’utilisation de la commande ldapadd, l’importation s’effectue sous le


contrôle du serveur d’annuaire. Celui-ci s’assure que l’importation du contenu du
fichier LDIF n’entre pas en violation avec le schéma de l’annuaire et qu’elle ne
nuit pas à son intégrité.

7. Interrogation de l'annuaire

La commande ldapsearch nous affiche les différents utilisateurs et unité


d’organisation (OU) de notre annuaire LDAP.
Les arguments de ldapsearch:

 -x : pas d’authentification sasl


 H : désigner le serveur ldap
 -LLL : sorties au format ldif
 -b : le DN de la base
 -D : connexion authentifiée à la base

I. Interface Graphique : PHPLDAPADMIN

Pour faciliter l'administration de notre base ldap, nous allons installer


phpldapadmin pour pouvoir l'administrer en mode graphique.

On installe à partir du net avec la commande :

Yum install phpldapadmin

Phpldapadmin est une interface graphique écrite en PHP qui permet de modifier
facilement et via une interface conviviale un annuaire LDAP (OpenLDAP
principalement), sur le même principe que phpMyAdmin pour les bases de données
MYSQL. Il permet de gérer plusieurs annuaires LDAP et implémente plusieurs
modes d’authentification. Comme il s'agit d'une application web, ce navigateur
LDAP fonctionne sur de nombreuses plateformes, ce qui rend le serveur LDAP
facilement gérable depuis n'importe quel endroit.

On apporte quelque modification aux fichierx :

 /etc/phpldapadmin/config.php
 /etc/httpd/conf.d/phpldapadmin.conf

On decommente la ligne 281 et on ajoute l’adresse du serveur ici le 192.168.1.1.


Ensuite la ligne 284 pour que l’addresse ip écoute sur le port 389.
Aussi la ligne 288 et on ajoute l’arborescence de notre domaine. De même pour la
ligne 304 et enfin on la ligne 312 qu’on ajoute l’arborescence de notre domaine.

Dans le fichier phpldapadmin.conf on va autoriser tous les adresses du réseau


d’accéder la page.

Allow from all

On redémarre le service httpd :


Ensuite dans un navigateur, on tape l'url: http://192.168.1.1/phpldapadmin et on
aura l'interface suivant :

Pour voir les entrées qui ont été ajouté dans la base, on se connecte à la base ce
que va nous donner: