Vous êtes sur la page 1sur 25

Administration de Réseaux Informatiques

- Open Source-

Configurer un service d'annuaire LDAP.


Introduction

C’est quoi un annuaire électronique ?

Un annuaire électronique est une solution permettant la création


d'une collection d'objets. Dans les réseaux, les annuaires
permettent à l'échelle d'une entreprise de déclarer tous les objets
(utilisateurs, applications, équipements matériels...), et pour
chaque objet de définir ses propriétés (attributs).
Introduction

LDAP (Light Directory Access Protocol) est un service d'annuaire


dérivé de la norme X.500. La norme X.500 est très lourde, LDAP
en est une version allégée ("light").
Introduction

Un serveur LDAP permet de centraliser des informations très diverses. Il offre de nombreux
avantages :

• un serveur d'annuaire (recensement de tous les objets d'un système) : c'est la fonction la plus
connue.

• Information sur les utilisateurs (nom, prénom...), et données d'authentification pour les utilisateurs :
cela permet aussi la définition de droits.

• Information pour les applications clientes et fonctions de serveur d'accès itinérant : cela permet de
stocker ses informations personnelles sur un serveur et de les récupérer lors de la connexion;

• bien d'autres choses...


Le modèle de données

LDAP fournit un modèle d'organisation des données. Ces


données sont organisées sous forme hiérarchique. L'arbre est
nommé Directory Information Tree (DIT). Le sommet (racine),
contient le "suffixe". Chaque noeud représente une "entrée" ou
"Directory Entry Service" (DSE). Les données sont stockées sur un
format de base de données hiérarchique de type "dbm".
Le modèle de données

Une entrée (DSE) dans le DIT correspond à un objet abstrait


(organisation, ressource) ou concret (personne, équipement...).
Les objets possèdent une description dans une "classe d'objet".
Une classe d'objet donne une représentation modélisée des
objets qu'elle représente en caractérisant tous les attributs des
objets.
Le modèle de données
Entrées

Chaque entrée correspond à une seule unité (objet) dans un répertoire LDAP.
Chaque entré est identifié de manière unique par sont nom distinctif ou DN
(Distinguished Name).
Attributs

Les entrées peuvent êtres considérés comme des objets possédant certains
attributs. Par exemple, un employé pourrait être représenté par une entrée
LDAP. Parmi les attributs associé à un employé on pourrait retrouvé le nom, le
prénom, l’âge… Il est possible de définir des attributs obligatoire et optionnel.
Classes d'objet

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. Les types de classe d'objet sont:

• type structurel : classes d'objets concrets de l'annuaire (personnes, groupes de personnes, ...).

• type auxiliaire : classes d'objets permettant d’ajouter des informations (attributs)


supplémentaires à des classes d'objet de type structurel déjà existantes.

• type abstraire : classes d'objet qui existent par défaut et qui n'ont pas de signification concrète,
par exemple la classe top est la classe d'objet générique, toutes les autres 0classes dérivent de cette
classe.
Schémas

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

Les fichiers de configuration des serveurs OpenLDAP se trouvent dans


/etc/openldap/slapd.d/.

Utiliser la commande ldapmodify pour pousser la configuration sur le


serveur /etc/openldap/slapd.d (Ces fichiers ne peuvent pas être modifié
manuellement)
Le format d'échange de donnée LDIF

Le format d'échange permet l'import/export de données des bases, mais sert


également pour l'ajout ou la modification. Les données sont en ASCII codées
en UTF-8, sauf pour le binaire qui est codé en base64 (images par exemple).
Le format d'échange de donnée LDIF
Syntaxe générale :
dn: <distinguished name
objectClass: <object class
objectClass: <object class
...
<attribute type:<attribute value
<attribute type:<attribute value
...

Exemple :
dn: cn= Manon Des Sources, ou= compta, dc=mydomain, dc=org
objectClass: person
objectClass: organization
cn: user1 USER1
sn: USER1
givenName: AM
userPassword: {sha}KDIE3AL9DK
Configuration openldap

Le premier fichier va mettre à jour les variables

olcSuffix ,il s'agit du nom de domaine pour lequel le serveur LDAP fournit les
informations. En termes simples, il devrait être changé pour votre domaine.

olcRootDN , Entrée Distinguished Name (DN) racine pour l'utilisateur qui a


l'accès illimité pour effectuer toutes les activités d'administration sur LDAP,
comme un utilisateur root.

olcRootPW , Mot de passe pour le RootDN ci-dessus.


Configuration openldap

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=2tri,dc=local
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=2tri,dc=local
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Configuration openldap

Pousser ensuite la configuration:

ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif


Configuration openldap

Restreindre ensuite l’accès au compte utilisateur ldapadm:

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by
dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,
cn=auth" read by dn.base="cn=ldapadm,dc=2tri,dc=local" read by * none
Configuration openldap

Pousser ensuite le changement:

ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif


Configuration openldap

Dans l’ordre, afin de sécuriser la communication avec votre serveur


LDAP, vous avez besoin d’un certificat et de sa clé privé.

Vous pouvez l’obtenir via votre administrateur de votre PKI de


l’environnement de production.

Mais le certificat auto signé et sa clé privé peuvent être créé dans
l’environnement de développement
Configuration openldap

Nous pouvons maintenant faire la configuration initial de la base de donnée


LDAP

Premièrement copier le fichier d’exemple de configuration de la base de donnée


dans /var/lib/ldap puis mettre à jour les fichiers de permissions

1. cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

2. chown ldap:ldap /var/lib/ldap/*


Configuration openldap

Ensuite ajouter les schémas cosine et LDAP

1. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif

2. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif

3. ldapadd -Y EXTERNAL -H ldapi:/// -f


/etc/openldap/schema/inetorgperson
Configuration openldap
Enfin, générer le fichier de base ldif pour votre domaine
dn: dc=test,dc=2tri,dc=local
dc: field
objectClass: top
objectClass: domain

dn: cn=ldapadm,dc=test,dc=2tri,dc=local
objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager

dn: ou=People,dc=test,dc=2tri,dc=local
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=test,dc=2tri,dc=local
objectClass: organizationalUnit
ou: Group
Configuration openldap

Poussez maintenant le changement pour OpenLdap en utilisant le compte


utilisateur ldapadm :

. ldapadd -x -W -D "cn=ldapadm,dc=test,dc=2tri,dc=local" -f base.ldif

On vous demande ensuite le mot de passe root


TP

Vous aimerez peut-être aussi