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 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 4

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 : carnet dadresses annuaire tlphonique rpertoire des rues ...
A. Guermouche Cours 7 : LDAP 5

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

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) 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 : Standard dannuaire au dessus de TCP/IP
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 ables, 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 dnit : 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 9

Annuaire LDAP

Protocole LDAP
Le protocole dnit : Comment stablit la communication client-serveur : commandes pour se connecter ou se dconnecter, pour rechercher, comparer, crer, modier ou effacer des entres. 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). 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 dnit (suite) : Les mcanismes de scurit : mthodes de chiffrement et dauthentication mcanismes de rgles daccs aux donnes. 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 dconnexion

Serveur LDAP

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 dnit le type des donnes pouvant tre stockes dans lannuaire Lentre (Entry) = lment de base de lannuaire. Elle contient les informations sur un objet de lannuaire. Ces informations sont reprsentes sous la forme dattributs dcrivant les caractristiques de lobjet. Toute sorte de classe dobjet (rel ou abstrait) peut tre reprsente. Le schma de lannuaire dnit la liste des classes dobjets quil connat. Le Directory schema est la charte qui donne, pour le serveur, lensemble des dnitions relatives aux objets quil sait grer.
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 dni par :


un nom, un identiant unique (OID), mono/multi valu, une syntaxe et des rgles de comparaison (matching rules), une valeur (format+taille limite), modiable ou non

Les classes dobjet modlisent


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 dnie par


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

Chaque objet hrite des proprits (attributs) de lobjet dont il est le ls. 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 liation suivante :
objectClass: objectClass: objectClass: objectClass: top person organizationalPerson inetOrgPerson

Lobjet person a comme attributs : commonName, surname,


description, seeAlso, telephoneNumber, userPassword

Lobjet ls organizationalPerson ajoute des attributs comme : organizationUnitName, title, postalAddress. . . Lobjet petit-ls inetOrgPerson lui rajoute des attributs comme : mail, labeledURI, uid (userID), photo. . . Remarques : Une entre peut appartenir un nombre non limit de classes dobjets. 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 dnit 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) peuvent contenir des conteneurs ou des feuilles 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 dnit comment les entres de lannuaire sont organises et comment elles sont rfrences. Structure arborescente contenant deux catgories dobjets : Structure logique hirarchique : le DIT (Directory Information Tree) Une entre est identie par un nom unique : le DN (Distinguish Name) 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 Standard de reprsentation des entres sous format texte. Permet de :
faire des imports/exports de la base ou dune partie de la base crer, ajouter, modier, . . . un grand nombre dentres de manire automatise
dn: uid=toto, ou=People, dc=labri, dc=fr top account posixAccount shadowAccount objectClass: objectClass: objectClass: objectClass: uid: toto 44321 200 /home/toto uidNumber: gidNumber: cn:

homeDirectory: toto titi loginShell:

/bin/bash
Cours 7 : LDAP 17

A. Guermouche

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 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 dnit comment dupliquer lannuaire sur plusieurs serveurs. 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) liens virtuels entre les diffrentes partitions (referral service)

A. Guermouche

Cours 7 : LDAP

19

Protocole LDAP

Le modle de scurit

Authentication pour se connecter au service Anonymous authentication, Root DN/passwd authentication (administrateur), User DN/passwd Contrle de laccs aux donnes droits daccs aux donnes (fonctions de lutilisateur authenti) rgles dnies 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 Quelles informations veut-on stocker dans lannuaire? Quelles sont les applications qui vont utiliser lannuaire? Il faut rchir a lorganisation du DIT impact sur la performance, les droits daccs, . . . Puis dans un deuxime temps 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 authentier les logins via LDAP : libpamldap, libnssldap

des utilitaires :
ldapadd, ldapdelete, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch

A. Guermouche

Cours 7 : LDAP

23

LDAP en pratique

Conguration du serveur ldap(1/2)


Le chier /etc/ldap/slapd.conf permet de congurer le dmon sladp dnition des schmas utiliss include inetorgperson.schema dnition du backend (type de la base de donnes utilise) backend bdb dnition de la base, de lannuaire et de ladministrateur
le sufxe (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

Conguration du serveur ldap(1/2)


Dnition 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

conguration du client LDAP

La conguration se fait grce au chier /etc/ldap/ldap.conf man ldap.conf peut aussi se faire dans /.ldaprc exemple de chier 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

Authentication Unix via LDAP


PAM (Pluggable Authentication Modules)
permet de grer la politique dauthentication sans recompilation pour authentier via LDAP, il faut ajouter la ligne auth sufficient pam_ldap.so (qui signie que lauthentication LDAP est sufsante) dans le chier /etc/pam.d/common-auth. Il faut faire de mme pour tous les autres chiers /etc/pam.d/common-*. Modier ventuellement /etc/pam.d/ssh,. . .

Congurer laccs la base dans /etc/libnss-ldap.conf et /etc/pam_ldap.conf (voir pages man) Indiquer dans /etc/nsswitch.conf lordre dinterrogation pour lauthentication toujours laisser files en premier !

A. Guermouche

Cours 7 : LDAP

27