Vous êtes sur la page 1sur 30

Administration rseau

Annuaire LDAP
A. Guermouche

A. Guermouche

Cours 7 : LDAP

Plan

1. Introduction
2. Annuaire LDAP
3. Protocole LDAP
4. LDAP en pratique

A. Guermouche

Cours 7 : LDAP

Introduction

Plan

1. Introduction
2. Annuaire LDAP
3. Protocole LDAP
4. LDAP en pratique

A. Guermouche

Cours 7 : LDAP

Introduction

Objectifs
Permet de fusionner plusieurs bases de donnes en un unique
annuaire informatique
F

base Microsoft Excel du personnel administratif

base Microsoft Access du personnel enseignant

base /etc/passwd des comptes unix

base /etc/aliases (ou Sympa) des listes de diffusion

base Samba des utilisateurs windows

autres bases, MySQL, . . .

...

Exemple:
Comment envoyer un e-mail a lensemble du personnel
administratif en sachant que ladministrateur recevra uniquement
une liste de noms/prnoms?
A. Guermouche

Cours 7 : LDAP

Introduction

Le concept dannuaire
Un annuaire est comme une base de donnes. . .
on peut y mettre des information et les consulter
Cependant un annuaire est spcialis :
Ddi la lecture plus qu lcriture
Laccs aux donnes se fait par des recherches
multi-critres.
Son objectif est de maintenir de faon cohrente et contrle une
grande quantit de donnes.
Exemples dannuaire :
F

carnet dadresses

annuaire tlphonique

rpertoire des rues

...
A. Guermouche

Cours 7 : LDAP

Introduction

Le concept dannuaire
Un annuaire est comme une base de donnes. . .
on peut y mettre des information et les consulter
Cependant un annuaire est spcialis :
Ddi la lecture plus qu lcriture
Laccs aux donnes se fait par des recherches
multi-critres.
Son objectif est de maintenir de faon cohrente et contrle une
grande quantit de donnes.
Diffrences annuaires/SGBD : Dans un annuaire :
F

pas de dpendances entre les objets stocks

les objets peuvent tre distribus sur plusieurs annuaires pour


assurer une meilleure disponibilit

les applications de lannuaire nont pas besoin de connatre la


structure interne des donnes stockes
A. Guermouche

Cours 7 : LDAP

Annuaire LDAP

Plan

1. Introduction
2. Annuaire LDAP
3. Protocole LDAP
4. LDAP en pratique

A. Guermouche

Cours 7 : LDAP

Annuaire LDAP

Lannuaire LDAP
LDAP Lightweight Directory Access Protocol
Hritier de lannuaire X500 (propos par lISO)
F

standard conu par les oprateurs tlcom pour interconnecter


leurs annuaires tlphoniques

X500 adapt linternet LDAP (mme modle de schma,


...)

LDAP a t propos en 1995 :


F Standard dannuaire au dessus de TCP/IP
I

Le protocole ne concerne pas le contrle daccs aux donnes


de lannuaire

version 3 actuellement (RFC 2251)

aussi RFC 2252 2256, RFC 2829 2830, RFC 2849

A. Guermouche

Cours 7 : LDAP

Annuaire LDAP

Objectifs

fournir aux utilisateurs des informations fiables, facilement


accessibles

permettre aux utilisateurs de mettre jour eux-mme leurs


informations personnelles

rendre les informations accessibles de faon contrle

viter la redondance dinformations : un seul annuaire pour


lensemble des services

faciliter la gestion (administration) des postes de travail, des


quipements rseau

Tout ceci est fait sans remettre en cause les applications existantes

A. Guermouche

Cours 7 : LDAP

Annuaire LDAP

Concepts
LDAP dfinit :
un protocole. accder linformation contenue dans lannuaire,
un modle dinformation. le type des informations contenues dans
lannuaire,
un modle de nommage. comment linformation est organise et
rfrence,
un modle fonctionnel. comment accder linformation (syntaxe
des requtes,etc. . . ),
un modle de scurit. comment donnes et accs sont protgs,
un modle de duplication. comment la base est rpartie entre
serveurs,
des API. pour dvelopper des applications clientes,
LDIF. un format dchange de donnes.
A. Guermouche

Cours 7 : LDAP

Annuaire LDAP

Protocole LDAP
Le protocole dfinit :
F Comment stablit la communication client-serveur :
commandes pour se connecter ou se
dconnecter, pour rechercher, comparer, crer,
modifier ou effacer des entres.
F Comment stablit la communication serveur-serveur :
changer leur contenu et le synchroniser
(rplication service)
crer des liens permettant de relier des annuaires
les uns aux autres (referral service).
F Le format de transport de donnes :
pas lASCII (comme pour HTTP, SMTP. . . ) mais le
Basic Encoding Rules (BER), sous une forme
allge (appele LBER : Lightweight BER)

A. Guermouche

Cours 7 : LDAP

10

Annuaire LDAP

Protocole LDAP
Le protocole dfinit (suite) :
F Les mcanismes de scurit :
mthodes de chiffrement et dauthentification
mcanismes de rgles daccs aux donnes.
F Les oprations de base :
interrogation : search, compare
mise jour : add, delete, modify, rename
connexion au service : bind, unbind, abandon
connexion et authentification
rsultat authentification
recherche
message de rsultat

Client

abandon de session

Serveur LDAP

dconnexion
A. Guermouche

Cours 7 : LDAP

10

Protocole LDAP

Plan

1. Introduction
2. Annuaire LDAP
3. Protocole LDAP
4. LDAP en pratique

A. Guermouche

Cours 7 : LDAP

11

Protocole LDAP

Le modle dinformation
Le modle dinformation dfinit le type des donnes pouvant tre
stockes dans lannuaire
F Lentre (Entry) = lment de base de lannuaire. Elle contient
les informations sur un objet de lannuaire.
F Ces informations sont reprsentes sous la forme dattributs
dcrivant les caractristiques de lobjet.
F Toute sorte de classe dobjet (rel ou abstrait) peut tre
reprsente.
F Le schma de lannuaire dfinit la liste des classes dobjets
quil connat. Le Directory schema est la charte qui donne,
pour le serveur, lensemble des dfinitions relatives aux objets
quil sait grer.
I

Le schma dcrit les classes dobjets, leurs types dattribut et


leur syntaxe.
Chaque entre de lannuaire fait obligatoirement rfrence
une classe dobjet du schma et ne doit contenir que des
attributs qui sont rattachs au type dobjet en question.

A. Guermouche

Cours 7 : LDAP

12

Protocole LDAP

Le modle dinformation

Un attribut est dfini par :


I

Les classes dobjet modlisent


I

I
F

un nom, un identifiant unique (OID), mono/multi valu, une


syntaxe et des rgles de comparaison (matching rules), une
valeur (format+taille limite), modifiable ou non
des objets rels : Un compte UNIX (posixAccount), une
organisation (o), un dpartement (ou), un personnel
(organizationPerson), une imprimante (device),. . .
ou abstraits : lobjet pre de tous les autres (top),. . .

Une classe dobjet est dfinie par


I

Un nom, OID, des attributs obligatoires, des attributs optionnels,


un type (structurel, auxiliaire ou abstrait)

A. Guermouche

Cours 7 : LDAP

13

Protocole LDAP

Le modle dinformation
top

person

organisationalUnit

organisationalPerson

inetOrgPerson
F

Chaque objet hrite des proprits (attributs) de lobjet dont il


est le fils.
On prcise la classe dobjet dune entre laide de lattribut
objectClass.
Il faut obligatoirement indiquer la parent de la classe dobjet
en partant de lobjet top et en passant par chaque anctre de
lobjet.
A. Guermouche
Cours 7 : LDAP

14

Protocole LDAP

Le modle dinformation (exemple)


Lobjet inetOrgPerson la filiation suivante :
objectClass:

top

objectClass:

person

objectClass:

organizationalPerson

objectClass:

inetOrgPerson

Lobjet person a comme attributs : commonName, surname,


description, seeAlso, telephoneNumber, userPassword

Lobjet fils organizationalPerson ajoute des attributs comme :


organizationUnitName, title, postalAddress. . .
Lobjet petit-fils inetOrgPerson lui rajoute des attributs comme :
mail, labeledURI, uid (userID), photo. . .
Remarques :
F Une entre peut appartenir un nombre non limit de classes
dobjets.
F Les attributs obligatoires sont la runion des attributs
obligatoires de chaque classe.
A. Guermouche

Cours 7 : LDAP

15

Protocole LDAP

Le modle de nommage
Il dfinit comment les entres de lannuaire sont organises et
comment elles sont rfrences.
Structure arborescente contenant deux catgories dobjets :
les conteneurs : dpart dune nouvelle branche (nud
intermdiaire de larbre)
F peuvent contenir des conteneurs ou des feuilles
F gnralement, une sous-organisation de
lorganisation (zone gographique,. . . )
les feuilles : elles reprsentent les donnes (gnralement les
machines, les utilisateurs,. . . )

A. Guermouche

Cours 7 : LDAP

16

Protocole LDAP

Le modle de nommage
Il dfinit comment les entres de lannuaire sont organises et
comment elles sont rfrences.
Structure arborescente contenant deux catgories dobjets :
F Structure logique hirarchique : le DIT (Directory Information
Tree)
F Une entre est identifie par un nom unique : le DN
(Distinguish Name)
F RDN(Relative Distinguish Name)
root entry ou base DN
dc=labri,dc=fr

ou=Hosts

ou=People

cn=admin

uid=toto
A. Guermouche

ou=People,dc=labri,dc=fr
Cours 7 : LDAP

16

Protocole LDAP

Le format LDIF
LDIF LDAP Interchange Format
F Standard de reprsentation des entres sous format texte.
F Permet de :
I
I

dn:

faire des imports/exports de la base ou dune partie de la base


crer, ajouter, modifier, . . . un grand nombre dentres de
manire automatise

uid=toto, ou=People, dc=labri, dc=fr

objectClass:

top

objectClass:

account

objectClass:

posixAccount

objectClass:

shadowAccount

uid:

toto

uidNumber:

44321

gidNumber:

200

homeDirectory:
cn:

/home/toto

toto titi

loginShell:

/bin/bash

A. Guermouche

Cours 7 : LDAP

17

Protocole LDAP

Le modle fonctionnel
Il dcrit le moyen daccder aux donnes (syntaxe des requtes) et
les requtes que lon peut leur appliquer.
Rappel des oprations de consultation/mise--jour
F

oprations dinterrogation : recherche (search) et


comparaison (compare) dentres

oprations de mise--jour des entres de lannuaire : add,


delete, modify, rename

Il ny a pas dopration de lecture dune entre


pour connatre le contenu dune entre, il est
ncessaire dcrire une requte qui pointe sur cette
entre.

A. Guermouche

Cours 7 : LDAP

18

Protocole LDAP

Le modle de rplication

Il dfinit comment dupliquer lannuaire sur plusieurs serveurs.


F

amliorer le temps de rponse

tre tolrant aux pannes

Deux types de serveurs LDAP


supplier server: fournit les donnes
consumer server: reoit les donnes du matre
Possibilit de partitionner lannuaire (clatement sur plusieurs
serveurs)
F

liens virtuels entre les diffrentes partitions (referral service)

A. Guermouche

Cours 7 : LDAP

19

Protocole LDAP

Le modle de scurit

Authentification pour se connecter au service


F

Anonymous authentication, Root DN/passwd authentication


(administrateur), User DN/passwd

Contrle de laccs aux donnes


F

droits daccs aux donnes (fonctions de lutilisateur


authentifi)

rgles dfinies sous forme dACL (Access Control List) au


niveau du sommet dun sous-arbre ou dune entre.

Chiffrement des transactions (LDAP+SSL, . . . )

A. Guermouche

Cours 7 : LDAP

20

LDAP en pratique

Plan

1. Introduction
2. Annuaire LDAP
3. Protocole LDAP
4. LDAP en pratique

A. Guermouche

Cours 7 : LDAP

21

LDAP en pratique

Mettre en place un annuaire LDAP

Il faut bien choisir les schmas


F

Quelles informations veut-on stocker dans lannuaire?

Quelles sont les applications qui vont utiliser lannuaire?

Il faut rflchir a lorganisation du DIT


F

impact sur la performance, les droits daccs, . . .

Puis dans un deuxime temps


F

gestion centralise sur un seul serveur?

nombre de serveurs redondants? Emplacement?

A. Guermouche

Cours 7 : LDAP

22

LDAP en pratique

OpenLDAP

Logiciel LDAP du domaine public

le dmon slapd
traite les requtes LDAP

le dmon slurpd
permet la rplication
des librairies LDAP

par exemple pour authentifier les logins via LDAP :


libpamldap, libnssldap

des utilitaires :
I

ldapadd, ldapdelete, ldapmodify, ldapmodrdn,


ldappasswd, ldapsearch

A. Guermouche

Cours 7 : LDAP

23

LDAP en pratique

Configuration du serveur ldap(1/2)


Le fichier /etc/ldap/slapd.conf permet de configurer le
dmon sladp
F

dfinition des schmas utiliss


include inetorgperson.schema

dfinition du backend (type de la base de donnes utilise)


backend bdb
dfinition de la base, de lannuaire et de ladministrateur

le suffixe (racine de larbre)


suffix "dc=labri,dc=fr"
ladministrateur et son mot de passe
rootdn cn=Manager,dc=labri,dc=fr
rootpw MD5x0dg9sP0uUf+NRm0MIPz7Q==
le rpertoire o la base est stocke
directory "/var/lib/ldap"

A. Guermouche

Cours 7 : LDAP

24

LDAP en pratique

Configuration du serveur ldap(1/2)


Dfinition des ACLs (man slapd.access)
# par dfaut
access to attrs=userPassword
by dn="cn=admin,dc=com" write # ladmin
by anonymous auth # droit de lecture lors du
bind
by self write # le propritaire
by * none
access to dn.base="" by * read
# Ladministrateur a un accs total en criture, tous
# les autres utilisateurs peuvent tout lire.
access to *
by dn="cn=admin,dc=com" write
by * read

A. Guermouche

Cours 7 : LDAP

25

LDAP en pratique

configuration du client LDAP

La configuration se fait grce au fichier /etc/ldap/ldap.conf


F

man ldap.conf

peut aussi se faire dans /.ldaprc

exemple de fichier ldap.conf


# base par dfaut contacter pour les oprations LDAP
BASE dc=labri, dc=fr
# en tant que qui le client va se connecter
# la base
BINDDN uid=toto,ou=People,dc=labri,dc=fr
# le serveur auquel se connecter
URI ldap://147.210.20.21:389/

A. Guermouche

Cours 7 : LDAP

26

LDAP en pratique

Authentification Unix via LDAP


F

PAM (Pluggable Authentication Modules)


I

permet de grer la politique dauthentification sans


recompilation
pour authentifier via LDAP, il faut ajouter la ligne auth
sufficient pam_ldap.so (qui signifie que lauthentification
LDAP est suffisante) dans le fichier
/etc/pam.d/common-auth. Il faut faire de mme pour tous
les autres fichiers /etc/pam.d/common-*.
Modifier ventuellement /etc/pam.d/ssh,. . .

Configurer laccs la base dans /etc/libnss-ldap.conf


et /etc/pam_ldap.conf (voir pages man)

Indiquer dans /etc/nsswitch.conf lordre dinterrogation


pour lauthentification
toujours laisser files en premier !

A. Guermouche

Cours 7 : LDAP

27

Vous aimerez peut-être aussi