Académique Documents
Professionnel Documents
Culture Documents
Plan Concepts Dployer un service LDAP Les logiciels serveurs Les clients LDAP Les outils de dveloppement Les applications de LDAP aujourdhui et demain Bibliographie
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 2
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 3
Concepts : quest-ce quun annuaire ? Un conteneur dinformations organises Exemples dannuaires courants annuaire tlphonique carnet dadresses catalogue de vente guides tl Ce sont des annuaires ofine
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 4
Concepts : quest-ce quun annuaire ? Un service d'annuaire lectronique, c'est en plus... un protocole qui permet l'accs au contenu une syntaxe qui permet dinterroger la base et aussi un modle de duplication un modle de distribution des donnes
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 5
Concepts : quest-ce quun annuaire ? Spcicits des annuaires lectroniques dynamiques (informations changent -> + jour) souples (changement ais type et organisation des donnes) peuvent tre scuriss (qui voit quoi) peuvent tre personaliss (faon de prsenter les donnes, action sur ses propres
donnes,...)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 6
Concepts : quest-ce quun annuaire ? Caractristiques compares des annuaires et base de donnes rapport lecture/criture (beaucoup) plus lev pour les annuaires annuaires plus facilement extensibles (types de donnes) diffusion beaucoup plus large chelle distribution des donnes entre serveurs plus facile avec les annuaires plus grande duplication des informations des annuaires (+ able, +performant, + proche des clients) importance des standards -> LDAP performances globales des annuaires plus leves (en lecture)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 7
Concepts : quest-ce quun annuaire ? exemple de services d'annuaires que nous utilisons dj : le DNS pour obtenir lurl http://www.sncf.com/ il faut obtenir ladresse du serveur
www.sncf.com -> requte DNS
DNS est un exemple d'un service d'annuaire global il est distribu entre des serveurs cooprants il a un espace de nommage uniforme
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 8
Concepts : quoi peut servir un annuaire en ligne ? chercher (et trouver) des informations mieux et plus vite pour des humains ou des applications grer (carnets dadresses, comptes utilisateurs, prols,...) de base de donne simple stocker et diffuser des certicats dans une PKI
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 9
Concepts : ce que nest pas un annuaire appropri de frquentes critures destin manipuler des donnes volumineuses un substitut un serveur FTP, un systme de chiers,...
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 10
Concepts : historique Historiquement sont apparus : Bases de comptes de systmes multi-utilisateurs (70-80) Unix /etc/passwd, IBM MVS PROFS ... Grapevine (Xerox, dbut 80) Internet Domain Name System (84) service de nommage rseau spcique mais efcace WHOIS bases de contacts
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 11
Concepts : historique Les annuaires ddis aux applications Lotus cc:Mail, Notes Unix sendmail /etc/aliases Microsoft Exchange Les annuaires Internet (offrent de plus en plus un accs LDAP) Bigfoot, Yahoos Four11, AnyWho (AT&T), Schwitboard Les annuaires systme-rseau (NOS) Sun NIS, NIS+ Novell NetWare Directory Service (93) (proche dX500) Microsoft Active Directory (natif LDAP) Les annuaires multi-usage X.500 (88-93-97) WHOIS++ (93) CSO (PH) LDAP (93)
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 12
Concepts : historique : X.500 Standard conu par les oprateurs tlcom pour interconnecter leurs annuaires tlphoniques. Destin devenir LE service dannuaire GLOBAL distribu, normalis et fdrateur. Mais conu aussi pour rpondre tout type de besoin dannuaire grce un modle de donnes de type objet et extensible.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 13
Concepts : historique : X.500 X.500 dnit : les rgles pour nommer les objets et les entits les protocoles pour fournir le service dannuaire un mcanisme dauthentication.
Master DSA2 DAP (Directory Access Protocol) DSP (Directory System Protocol) DAP Master DSA1 (Directory Sys-
X500 = suite (consquente) : X501, X509, X511, X518, X519, X520, X521, X525
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 14
Concepts : historique : X.500 Exemple dannuaire X.500 : NameFlow Paradise (Piloting An inteRnationAl DIrectory SErvice), SURFNET (nl)... Logiciels DSA X.500 ISODE Consortium/Quipu, NeXor/XT-Quipu, Control Data/Rialto Global Directory Server
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 15
Concepts : historique : X.500 Qualits et dfauts dX500 : Atouts dX500 : scalability, fonctions de recherche volues, distribu (donnes et administration),
ouvert
Dfauts dX500 : implmentations (trs) lourdes, bugges et difcilement interoprables, bas sur les
protocoles ISO, contraire la culture internet
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 16
Concepts : historique : LDAP En 1993 Lightweight Directory Access Protocol (LDAP) est n de ladaptation et du dgraissage de X.500 DAP au protocole TCP/IP. Deux groupes de travail aboutissent 2 produits fonctionnant comme frontal X.500 : Directory Assistance Service (DAS) : RFC 1202 Directory Interface to X.500 Implemented Efciently (DIXIE) : RFC 1249 qui convergent nalement vers le standard IETF LDAP. LDAPv1 : RFC 1487 LDAPv2 : RFC 1777 LDAPv3 : RFC 2251 LDAP garde beaucoup daspects de X.500 dans les grandes lignes, mais va dans le sens de la simplication et de la performance
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 17
Concepts : historique : LDAP LDAP est initialement un frontal daccs des bases dannuaires X.500 (translateur LDAP/DAP). Devient un annuaire natif (standalone LDAP) utilisant sa propre base de donnes, sous limpulsion dune quipe de lUniversit du Michigan (U-M LDAP 3.2 en 95). (Wengyik Yeong, Steve Kille, Colin Robbins, Tim Howes, Marc Wahl). En 96, apparaissent les premier serveurs commerciaux.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 18
Concepts : historique, autres annuaires WHOIS++ (93) Whois utilisait une seule base, Whois++ introduit la notion de bases rparties relies par le Whois++ index service. CSO Annuaire dadresses lectroniques cr par luniversit de lIllinois, plus connu sous le nom de PH. Popularis par Eudora. NETFIND, SOLO (Simple Object LOok)... Des clients capables dinterroger diffrents types de Directory Servers (notion de Meta-Directory Service).
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 19
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 20
Concepts : LDAP LDAP dnit : le protocole daccs -- comment accder linformation contenue dans lannuaire, un modle dinformation -- le type dinformations contenues dans lannuaire, un modle de nommage -- comment linformation est organise et rfrence, un modle fonctionnel -- comment on accde et met jour linformation, 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.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 21
Concepts : LDAP, le protocole 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 (replication 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)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 22
Concepts : LDAP, le protocole 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
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 23
Concepts : LDAP, le protocole Communication client-serveur : normalise par lIETF : la version actuelle est LDAPv3 (RFC2251). Communication serveur-serveur : le referral service est dnit par LDAPv3, le replication service est encore en cours de normalisation sous la dnomination
LDAP Duplication Protocol (LDUP)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 24
Concepts : LDAP, le protocole possibilit davoir une seule connexion pour passer plusieurs requtes
1. connexion et authentication 2. rsultat authentication 3. recherche 4. rponse entre #1 5. rponse entre #2 6. message de rsultat 7. abandon session 8. dconnexion
Client LDAP
Serveur LDAP
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 25
Concepts : LDAP, le protocole LDAPv3 est conu pour tre extensible sans avoir modier la norme grce 3 concepts : LDAP extented operations : rajouter une opration, en plus des neuf oprations de
base. LDAP controls : paramtres supplmentaires associs une opration qui en modient le comportement. Simple Authentication and Security Layer : couche supplmentaire permettant LDAP dutiliser des mthodes dauthentication externes.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 26
Concepts : LDAP, modle dinformation Le modle dinformation dnit le type de donnes pouvant tre stockes dans lannuaire. Lentre (Entry) = lement 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.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 27
Concepts : LDAP, modle dinformation Schma Le Directory schema est lensemble des dnitions relatives aux objets quil sait grer (~typedef). Le schma dcrit les classes dobjets, les types des attributs 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.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 28
Concepts : LDAP, modle dinformation Attributs Un type dattribut (ou attribut) est caractris par : Un nom, qui lidentie Un Object Identier (OID), qui lidentie galement Sil est mono ou multi-valu Une syntaxe et des rgles de comparaison (matching rules) Un format ou une limite de taille de valeur qui lui est associe
Tableau 1 : Exemple dattributs dune entre
type dattribut
valeur dattribut
cn: Barnab Dupond uid: bdupond telephonenumber: +33 (0)1 2345 6789 mail: Barnabe.Dupond@acme.com roomnumber: C105
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 29
Concepts : LDAP, modle dinformation Les types dattributs ont une syntaxe qui sert dcrire le format de donnes et comment lannuaire compare ces valeurs lors dune recherche sur critre.
Tableau 2 : Exemple de syntaxes dattributs
syntaxe LDAP
cis ces tel int dn bin
syntaxe X.500
caseIgnoreMatch caseExactMach telephoneNumberMatch integerMatch distinguishedNameMatch octetStringMatch
description
texte, la casse nest pas prise en compte texte, la casse intervient texte reprsentant un numro de tel nombre entier, comparaison numrique nom dentre, rgles spciques donnes binaires, comparaison byte/byte
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 30
Concepts : LDAP, modle dinformation 2 catgories dattributs : User attributes : attributs normaux manipuls par les utilisateurs (givenname,
telephoneNumber),
Operational attributes : atttributs systmes utilis par le serveur (modifiersname) Certains serveurs LDAP respectent les standards X.500 de hirarchisation des attributs : permettent de dcrire un attribut comme tant un sous-type dun attribut super-type
et dhriter ainsi de ses caractristiques.
Exemple : cn, sn, givenname sont des sous-types de lattribut super-type name
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 31
Concepts : LDAP, modle dinformation Classes dobjets Les classes dobjets modlisent des objets rels ou abstraits en les caractrisant par une liste dattributs optionnels ou obligatoires. Une classe dobjet est dnie par : Un nom, qui lidentie Un OID, qui lidentie galement Des attributs obligatoires Des attributs optionnels Un type (structurel, auxiliaire ou abstrait) Exemples de classes dobjet : une organisation (o), ses dpartements (ou), son personnel (organizationalPerson), ses imprimantes (device), ses groupes de travail (groupofnames).
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 32
Concepts : LDAP, modle dinformation Le type dune classe est li la nature des attributs quelle utilise : Une classe structurelle correspond la description dobjets courants de lannuaire : les personnes, les groupes, les units organisationnelles... Une entre appartient toujours une classe dobjet structurelle. Une classe auxiliaire permet de rajouter des informations complmentaires des objets structurels. Une classe abstraite dsigne des objets basiques du schma (top, alias).
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 33
Concepts : LDAP, modle dinformation Les classes dobjets forment une hirarchie, au sommet de laquelle se trouve lobjet top.
top
organizationalUnit
person
organizationalPerson
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.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 34
Concepts : LDAP, modle dinformation Par 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 fils organizationalPerson ajoute des attributs comme : organizationUnitName, title, postalAddress... Lobjet petit-fils inetOrgPerson lui rajoute des attributs comme : mail, labeledURI, uid (userID), photo...
Une entre peut appartenir un nombre non limit de classes dobjets. Les attributs obligatoires sont la runion des attributs obligatoires de chaque classe.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 35
ou objectClass
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 36
Concepts : LDAP, modle dinformation OIDs Les classes dobjets et les attributs sont normaliss par le RFC2256 an de garantir linteroprabilit entre logiciels. Sont rfrences par un object identier (OID) unique dont la liste est tenue jour
par lInternet Assigned Numbers Authority (IANA).
Un OID est une squence de nombres entiers spars par des points. Les OIDs sont allous de manire hirarchique : seule, lautorit qui a dlgation sur la hirarchie 1.2.3 peut dnir la signication
de lobjet 1.2.3.4 . Par exemple :
2.5 2.5.4 2.5.6 1.3.6.1 1.3.6.1.4.1 1.3.6.1.4.1.4203 1.3.6.1.4.1.7135
CRU-UREC
fait rfrence au service X.500 est la dfinition des types dattributs est la dfinition des classes dobjets Internet OID IANA-assigned company OIDs, utilis pour entreprises prives OpenLDAP pour le CRU
I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 37
Concepts : LDAP, modle dinformation Dnition des schmas Les schmas existants sont issus de X.500, plus des ajouts de LDAP ou dautres consortium industriels. Il existe plusieurs formats pour dcrire un schma LDAP : slapd.conf : chier de conguration utilis par U-M slapd, OpenLDAP et Netscape
Directory. ASN.1 : grammaire utilise dans les documents dcrivant les standards LDAP et X.500. LDAPv3 : LDAPv3 introduit lobligation pour un serveur de publier son schma via LDAP en le stockant dans lentre subschema.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 38
objectclass person oid 2.5.6.6 superior top requires sn, cn allows description, seeAlso, telephoneNumber, userPassword
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 39
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 40
Concepts : LDAP, modle dinformation Exemple de syntaxe LDAPv3 (attribut cn et objet person)
attributetypes: (2.5.4.3 NAME cn DESC commonName Standard Attribute SYNTAX 1.3.5.1.4.1.1466.115.121.1.15) objectclass: (2.5.6.6 NAME person DESC standard person Object Class SUP top MUST (objectclass $ sn $ cn ) MAY ( description $ seealso $ telephonenumber $ userpassword ) )
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 41
Concepts : LDAP, modle dinformation Schema checking Quand une entre est cre, le serveur vrie si sa syntaxe est conforme sa classe ou ses classes dappartenance : cest le processus de Schema Checking.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 42
Concepts : LDAP, modle de nommage Le modle de nommage dnit comment sont organises les entres de lannuaire et comment elles sont rfrences. Les entres reprsentent des objets. Lorganisation de ces objets se fait suivant une structure logique hirarchique : le Directory Information Tree (DIT). Au sein de ce DIT, lidentication dune entre se fait laide dun nom, le Distinguish Name (DN).
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 43
Concepts : LDAP, modle de nommage Le Directory Information Tree (DIT) Classication des entres dans une arborescence hirarchique (comparable au systme de chier Unix).
Exemple de modlisation dune organisation organisation
personnes
services
salles runions
Chaque nud de larbre correspond une entre de lannuaire ou directory specic entry (DSE). Au sommet de larbre se trouve lentre Sufx ou Root Entry ou BaseDN, qui caractrise une base LDAP.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 44
Concepts : LDAP, modle de nommage Le sufx dnit lespace de nommage dont le serveur a la gestion. Un serveur peut grer plusieurs arbres (donc plusieurs sufxes). Il possde une entre spciale, appele root DSA Specic Entry (rootDSE) qui contient la description du DIT (V3). Avec LDAP, vous tes libres dorganiser vos donnes comme bon vous semble
(design du DIT) (X500). Des contraintes (performance, gestion...) impliqueront de choisir tel ou tel type de modle (cf dploiement).
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 45
Concepts : LDAP, modle de nommage Le Distinguished name (DN) Rfrence de manire unique une entre du DIT ( path chier UNIX).
Form de la suite des noms des entres, en partant de lentre et en remontant vers le suffix, spar par des ",".
o=WorldCompany
ou=people
ou=countries
ou=groups
uid=jsmith
uid=sjones
cn=staff
Chaque composant du DN est appel Relative Distinguished Name (RDN). Le RDN est constitu dun des attributs de lentre (et de sa valeur). Le choix de cet attribut doit assurer que 2 entres du DIT naient pas le mme DN.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 46
Concepts : LDAP, modle de nommage Alias et referral Deux objets abstraits particuliers : les aliases et les referrals permettent une entre de lannuaire de pointer vers une autre entre du mme
ou dun autre annuaire.
o=acme.com o=WorlCompany
Serveur LDAP 1
Serveur LDAP 2
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 47
Concepts : LDAP, modle fonctionnel Le modle fonctionnel dcrit le moyen daccder aux donnes et les oprations quon peut leur appliquer. Le modle dnit : Les oprations dinterrogation. Les oprations de comparaison. Les oprations de mise jour. Les oprations dauthentication et de contrle. Les oprations tendus (V3)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 48
Concepts : LDAP, modle fonctionnel Interrogation LDAP ne fournit pas dopration de lecture dentre. Pour connatre le contenu dune entre, il faut crire une requte qui pointe sur cette entre. Une requte est compose de 8 paramtres :
Tableau 3 :
base object scope derefAliases size limit time limit attrOnly search filter list of attributes
lendroit de larbre o doit commencer la recherche la profondeur de la recherche si on suit les liens ou pas nombre de rponses limite temps maxi allou pour la recherche renvoie ou pas la valeur des attributs en plus de leur type le ltre de recherche la liste des attributs que lon souhaite connatre
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 49
o=WorldCompany
o=WorldCompany
o=WorldCompany
ou=countries
ou=countries
ou=countries
search base = "ou=countries,o=WorldCompany" search scope = base search scope = onelevel search scope = subtree
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 50
Nom vaut "Norbert Durand" Nom contient "Mart" Nom sonne comme "martin" Numro suprieur 100 Tous les noms propres Nom vaut "Durand" ET localisation vaut paris ou vaut gens ou groupes Toutes les entres sans attribut tlphone
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 51
Concepts : LDAP, modle fonctionnel : comparaison Hritage de X.500 : vrier si lattribut dune entre contient bien une valeur spcie. Le serveur rpond vrai ou faux. Equivalent une recherche qui renvoie lentre si vrai et ne renvoie rien dans deux cas : si lattribut ne contient pas cette valeur, si lattribut nexiste pas alors que la comparaison renvoie dans ce 2me cas, un code derreur.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 52
Concepts : LDAP, modle fonctionnel : mise jour 4 oprations : add, delete, rename, modify Ces quatre oprations ncessitent les droits daccs appropris et des prrequis : add, rename : entre ne doit pas dj exister, entre doit avoir un parent existant add, modify : les attributs doivent tre conformes au schma delete : entre ne doit pas avoir denfant
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 53
Concepts : LDAP, modle fonctionnel : mise jour rename = modifyRDN plus modifyDN(v3) changer le RDN sans bouger de place changer le RDN sans bouger de place, en gardant lancien RDN en attribut dplacer lentre dans larbre en gardant le mme RDN dplacer lentre dans larbre en changeant le RDN
o=WorlCompany ou=people uid=jsmith uid=jsmith ou=guests ou=people uid=john o=WorlCompany ou=guests ou=people uid=jsmith uid=jsmith o=WorlCompany ou=guests ou=people uid=john o=WorlCompany ou=guests
uid=jsmith uid=jsmith
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 54
Concepts : LDAP, modle fonctionnel : Authentication Authentication et contrle 3 oprations : bind, unbind, abandon bind = connexion. unbind = dconnexion abandon= le client indique au serveur quil laisse tomber la requte quil avait
envoy. Celui-ci abandonne alors le process.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 55
Concepts : LDAP, modle de scurit Le modle de scurit dcrit le moyen de protger les donnes de lannuaire des accs non autoriss. La scurit se fait plusieurs niveaux : par lauthentication pour se connecter au service, par un modle de contrle daccs aux donnes, par le chiffrement des transactions entre clients et serveurs ou entre serveurs.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 56
Concepts : LDAP, modle de scurit Lauthentication LDAP est un protocole avec connexion : louverture de session (bind) saccompagne dune identication et, ventuellement, dun mot de passe (optionnel en V3). - Anonymous authentication - accs sans authentication permettant datteindre les donnes sans restrictions daccs (V2, V3). - Root DN authentication - accs administrateur (tous les droits) (V2, V3). - Mot de passe en clair - un DN plus un password qui transite en clair sur le rseau (V2, V3). - Kerberos V4 (V2) - Mot de passe + SSL (LDAPS) ou TLS - la session est chiffre et le mot de passe ne transite plus en clair. - Certicats sur SSL - change de certicats SSL (clefs publiques/prives). - Simple Authentication and Security Layer (SASL) - mcanisme externe dauthentication (V3).
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 57
Concepts : LDAP, modle de scurit SASL Simple Authentication and Security Layer (SASL) est dni par le RFC 2222 et permet dajouter des mcanismes dauthentication des protocoles orients connexion (~ plug-in). SASL est implant dans LDAPv3. Les mcanismes supports par SASL sont Kerberos, S/Key, GSSAPI entre autres.
Client LDAP
LDAP
Serveur LDAP
SASL plug-in
SASL plug-in
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 58
Concepts : LDAP, modle de scurit Le contrle daccs Le serveur attribue lutilisateur identi, des droits daccs aux donnes (lecture, criture, recherche et comparaison), qui lui ont t dnis par ladministrateur sous la forme dACLs. Pas encore normalis par lIETF donc non compatibles entre serveurs. Netscape Directory : sous la forme dun attribut Access Control Items (aci) OpenLDAP : sous la forme de directives de contrle daccs dans
slapd.conf
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 59
Concepts : LDAP, modle de scurit Le contrle daccs (suite) Les ACLs peuvent tre "places" au niveau des entres, au sommet de larbre ou sur un sous-arbre. Elles agissent sur les entres ou certains de leurs attributs. Elles sappliquent des individus ou des groupes, mais aussi suivant les adresses IP ou les noms de domaine des clients ou les jours et heures. Le placement et la porte des ACLs dpendent des capacits du logiciel.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 60
<quoi> : point dentre de lannuaire auquel sapplique la rgle <qui> : qui sappliquent ces droits <comment> : oprations autorises/refuses
<comment>
<qui>
Exemple openldap :
access to * by self write by * read
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 61
Concepts : LDAP, modle de scurit Le chiffrement LDAPv3 supporte le chiffrement des transactions (entre clients et serveurs ou entre serveurs) via lutilisation de SSL (ldaps) ou de son successeur, TLS (startTLS extended operation). SSL ou TLS servent galement pour lauthentication par certicats : permet au client de prouver son identit au serveur et, en retour, celui-ci den faire
de mme vis vis du client.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 62
Concepts : LDAP, modle de duplication Le modle de duplication (replication service) dnit comment dupliquer lannuaire sur plusieurs serveurs. Dupliquer lannuaire peut pallier : une panne de lun des serveurs, une coupure du rseau, surcharge du service. et garantir la qualit de service : temps de rponse et sret de fonctionnement. Permet galement : damliorer les performances en plaant les serveurs prs des clients de rpartir le travail entre plusieurs serveurs (load balancing) de grer les entres localement et de les diffuser sur plusieurs sites. Pas encore standard, mais est propos par la plupart des serveurs. LIETF prpare le protocole LDUP.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 63
Concepts : LDAP, modle de duplication La duplication met en jeu plusieurs serveurs : les supplier servers fournissent les donnes, les consumer servers les reoivent. Les informations de conguration dcrivant les suppliers, les consumers et quelles donnes ils changent, forment le replication agreement.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 64
Concepts : LDAP, modle de duplication On peut dupliquer larbre entier ou seulement un sous arbre, une partie des entres et de leurs attributs quon aura spcis via un ltre du genre
:
on ne duplique que les objets de type personne on ne duplique que les attributs non condentiels (annuaire interne vs. annuaire externe)
Plusieurs manires de synchroniser les serveurs : mise jour totale mise jour incrmentale... Plusieurs stratgies de duplications : single-master replication multiple-master replication cascading replication.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 65
Concepts : LDAP, modle de duplication La duplication se fait en temps-rel ou heure xe (scheduling replication). Deux prcautions : les serveurs doivent tous utiliser le mme schma de donnes, les rgles daccs aux donnes dupliques doivent tre dupliques. La mise en uvre de la duplication ncessite de la prvoir au moment du design du DIT.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 66
LDAP : APIs Ces bibliothques de programmation permettent de crer des applications annuaire-compatibles. Les APIs disponibles actuellement : U-M LDAP SDK -- C (UMICH, OpenLDAP) Innosoft LDAP Client SDK (ILC-SDK) -- C (InnoSoft) Netscape Directory SDK -- Java, C (Netscape) PerLDAP Modules -- Perl (Netscape) Net- LDAPapi -- PERL (GNU) Java Naming and Directory Interface (JUNI) -- Java (SUN) Active Directory Service Interface (ADSI) -- COM (Microsoft)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 67
LDAP : LDIF LDAP Data Interchange Format (LDIF) est le standard de reprsentation des entres sous forme texte. Utilis pour afcher ou modier les donnes de la base suivant deux modes : faire des imports/exports de base, faire des modications sur des entres. Le format utilis est lASCII. Toute valeur dattribut ou tout DN qui nest pas ASCII, est cod en base 64.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 68
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 69
-> Un oprateur de modification doit alors tre spcifi. add replace delete : ajouter des attributs et leurs valeurs. : remplacer des valeurs dattributs par dautres. : dtruire lattribut spcifi.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 70
LDAP : LDIF Exemple : Ajouter le numro de tlphone et le nom du manager pour la personne Lisa Jangles.
dn: cn=Lisa Jangles, ou=Sales, o=Ace Industry, c=US changetype: modify add: telephonenumber telephonenumber: (408) 555-2468 add: manager manager: cn=Harry Cruise, ou=Manufacturing, o=Ace Industry, c=US
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 71
LDAP : LDIF Le format utilis dans LDIF est lASCII. Toute donne non ASCII doit tre encod en base 64. Dans ce cas le sparateur entre le type et la valeur de lattribut est :: .
jpegPhoto:: /9j/4AAQSkZJRgABAQAAAQABAAD//gBHQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEwI CBSZXY6IDEyLzE2Lzk0ICBRdWFsaXR5ID0gNzUsIFNtb290aGluZyA9IDAK/9sAQwAIBgYHBgUIB wcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/
LDAP V3 utilise le jeu de caractres Unicode Transformation Format-8 (UTF-8) pour les attributs de type texte et les DNs. UTF- 8 englobe tous les jeux de caractres (isoLatin, Shift- JLS...), annuaires multilingues : avec loption language code de lattribut (extension propose par lIETF) ().
description;lang-fr : texte en franais description;lang-ja : le mme en japonais (le code suit le standard ISO 639)
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 72
Les URLs LDAP Les URLs LDAP (RFC-1959) permettent aux clients Internet davoir un accs direct au protocole LDAP.
syntaxe : ldap[s]://<hostname>:<port>/<base_dn>?<attributes>?<scope>?<filter> <base_dn> : DN de lentre qui est le point de dpart de la recherche <attributes> : les attributs que lon veut consulter <scope> : la profondeur de recherche dans le DIT partir du <base_dn> - base : sarrte au niveau courant (par dfaut) - one : descend dun niveau - sub : parcourt tous les sous-niveaux <filter> : filtre de recherche, par dfaut (objectClass=*) exemples :
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 73
Dploiement Dployer un service dannuaire LDAP, cest rchir : la nature des donnes que lon y met, la manire dont on les rcupre, lutilisation que lon compte en faire, la faon de grer le tout. La mise en place dun annuaire LDAP met donc en jeu plusieurs phases de conception que lon va passer en revue.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 74
Dploiement : besoins en service dannuaire Un annuaire LDAP = entrept dinformations facilement accessibles aux utilisateurs ou aux applications. Dployer un systme dannuaire se fait gnralement sous la contrainte de la mise en place ou du remplacement dune application. Se poser la question dlargir le service dautres types dapplications Envisager toutes les applications possibles, actuelles ou futures, dun annuaire LDAP.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 75
Dploiement : Donnes ncessaires Il sagit : dinventorier, suivant les applications, la liste des donnes inclure dans le systme dinformation et leurs caractristiques : format taille nombre doccurrence droits daccs dynamiques ou statiques partages ou spciques une application de dterminer par quelle source les obtenir et les maintenir jour.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 76
Dploiement : Donnes ncessaires Les sources de donnes courantes : autre service dannuaire ou bases systmes (Unix NIS, DNS, NT domain controler...) bases de donnes de lorganisation (base du personnel, base du PABX...) chiers textes ou feuilles de calcul dutilisateurs des bases propres des applications (chier htpasswd dApache, carnet dadresses...)
Les mcanismes de mise jour envisageables : synchronisation avec un SGBD batches saisie manuelle
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 77
Dploiement : Donnes ncessaires Choisir, en fonction des donnes retenues, quelles classes dobjets et types dattributs utiliser. Les schmas standards ou fournis avec les serveurs conviennent en gnral aux besoins. En rgle gnrale, viter de modier le schma existant car risque de rendre son annuaire inutilisable par les applications clientes ou les autres serveurs. Prfrable de rajouter une classe dobjet et exploiter le mcanisme dhritage dattributs des classes objets.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 78
Dploiement : Donnes ncessaires Par exemple cration de la classe dobjet Personne lle de inetOrgPerson dans laquelle on dnira les attributs ncessaires ses besoins :
attributetype ( 1.3.6.1.4.1.999.1.1 NAME fonction EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) objectclass ( 1.3.6.1.4.1.999.2.1 NAME Personne SUP inetorgperson DESC membre du personnel MUST ( sn $ cn $ fonction ) MAY ( uidNumber $ gidNumber $ homeDirectory $ loginShell ))
Dans tous les cas : documenter son schma pour en faciliter la maintenance et lvolution. viter de dsactiver loption de schema checking.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 79
Dploiement : concevoir son modle de nommage Consiste dnir comment les entres de lannuaire vont tre organises, nommes et accdes. Dans cette phase, les paramtres quil faut prendre en compte sont : Le nombre dentres prvu et son volution ? La nature (type dobjet) des entres actuelles et futures ? Vaudra-t-il mieux centraliser les donnes ou les distribuer ? Seront-elles administres de manire centrale ou faudra-t-il dlguer une partie
de la gestion ? La duplication est-elle prvue ? Quelles applications utiliseront lannuaire et imposent-elles des contraintes particulires ? Quel attribut utiliser pour nommer les entres et comment garantir son unicit ?
Dploiement : concevoir son modle de nommage Design du Directory Information Tree Le DIT X.500 est conu dans loptique dun service global : il part du pays (top level) puis lorganisation, puis ventuellement la localisation...et il utilise lattribut cn pour nommer les entres.
Exemple de DIT la X.500
c=fr
o=cnrs
o=inria
l=Grenoble
cn=Claude Dupont cn=Henri Durand
l=Paris
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 81
Dploiement : concevoir son modle de nommage Design du DIT (suite) Le modle LDAP, nimpose pas une racine universelle du DIT car il renonce tre un service dannuaire mondial. Dans ce cadre, le DIT peut tre organis de diffrentes faons : plat, dcoup pour reter lorganisation interne, branch par type dobjet, branch en vue de faciliter la duplication entre serveurs, la dlgation de gestion,
ou la dnition de rgles daccs spciques une branche.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 82
c=us
o=WorldCompany
cn=smith cn=jones
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 83
c=us
c=us
o=WorldCompany
o=WorldCompany
ou=R&D
ou=Ventes
ou=Administration
ou=Nantes
ou=Lyon
ou=Paris
cn=jones cn=smith
cn=dupont cn=durand
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 84
c=us
o=WorldCompany
ou=Location
ou=Groups
ou=People
cn=dupont cn=jones
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 85
l=United States
l=France
ou=Sales
ou=Engineering
ou=Engineering
ou=R&D
ou=Sales
l=WDC
l=LA
l=NYC
cn=Mike Smith
cn=John Doe
CRU-UREC I Tutorial LDAP I
cn=Jean Dupont
Journes LDAP-27-28/9/00-Paris- 86
Dploiement : concevoir son modle de nommage Design du DIT : branchage fort ou faible ?
Fort : les plus Rete lorganisation interne. Minimise le problme de DNs identiques. Facilite le partitionnement des donnes entre plusieurs serveurs. Fort : les moins Longueur du DN. Problme si lorganisation change. Dure de recherche augmente. Faible : les plus Pas de soucis de classication des entres DN courts stabilit du DIT Meilleurs rapidit de recherche. Faible : les moins Risque de DNs identiques. Mal adapt au listage des entres
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 87
Dploiement : concevoir son modle de nommage Choix du sufxe Le sufxe = identiant de lannuaire. Mme si la base na quune vocation interne , elle peut terme sexternaliser. Choisir, si possible, un sufxe unique au monde. Dans X.500 le top level est le pays, vient ensuite le nom de lorganisation, et ventuellement la localisation. Ce qui donne par exemple comme sufxe : o=World Company, c=us Aucun organisme de contrle dattribution des sufxes : Pas de garantie de lunicit de celui-ci. Entre temps, lInternet sest dvelopp : NIC gre lattribution des noms de domaines DNS. Le choix du nom de domaine DNS comme sufxe de son annuaire est recommand par lIETF IDS group.
I Tutorial LDAP I
CRU-UREC
Journes LDAP-27-28/9/00-Paris- 88
Dploiement : concevoir son modle de nommage Choix du sufxe (suite) Il pourra sexprimer sous deux formes : utilisation de lattribut organization (o) :
o=world-company.com utilisation de lattribut Domain Component (dc) dni par le RFC 2377 : dc=world-company, dc=com
Cette dernire forme est prconise par lIETF. Couple avec le Service Record du DNS (SRV), permet de dterminer automatiquement le serveur LDAP contacter, partir du DN utilis dans une requte.
le DN uid=jones,ou=people,dc=World-Company,dc=com renvoie sur le domaine DNS World-Company.com. Requte sur lentre SRV du DNS de World-Company.com _ldap._tcp.World-Company.com. IN SRV 0 0 389 ldap.World-Company.com Dduction : serveur : ldap.world-company.com - port : 389
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 89
Dploiement : concevoir son modle de nommage Choix du sufxe (conclusion) Pas de standard de design et pas de solution universelle : faire des compromis visant prendre la moins mauvaise solution, en essayant de
dnir les facteurs les plus contraignants.
Prendre en compte son organisation : sa structure, sa taille, son volution Prendre en compte lusage de lannuaire : type de donnes leur mode de gestion type dapplications accdant aux donnes
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 90
Dploiement : concevoir son modle de nommage Nommage des entres : choix du RDN
Exemples :
dn = cn=robert jones,ou=people,dc=world-company,dc=com dn = uid=rdupont,ou=people,dc=world-company,dc=com
Problmes : garantir lunicit viter les changements de DN donner une information pertinente prise en compte des clients Recommendations de lETF : Identication des utilisateurs par leur email
dn = uid=rdupont@world-company.com,ou=people,dc=world-company,dc=com
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 91
Dploiement : Dnir la topologie du service Analyser la manire dont le service dannuaire LDAP va tre rendu en termes de performance, de abilit et de facilit de gestion. Prendre en compte : Les applications qui vont utiliser lannuaire et leur nombre dutilisateurs. Les capacits du logiciel serveur qui va tre choisi. La topologie de son rseau. Le design de son espace de nommage. Dterminer : si la base sera centralise ou rpartie sur plusieurs serveurs. le nombre de serveurs redondants dployer et leur emplacement sur le
rseau physique.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 92
Dploiement : Dnir la topologie du service Le partitionnement Consiste clater les donnes de lannuaire sur plusieurs serveurs.
serveur A
serveur B serveur C
Il peut tre impos par : le volume dentres grer, leur gestion rpartie sur plusieurs sites, les types daccs au rseau physique, le mode dorganisation de la socit. Sparer les donnes ne veut pas dire forcment les dissocier : les standards LDAP et X.500 dnissent des moyens de les relier (re-coller). Ces moyens sont les services "referral service" et "replication service".
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 93
Dploiement : Dnir la topologie du service Le referral service La rsolution de nom est le mcanisme par lequel un serveur dtermine quel objet de sa base dsigne le DN quun client lui fournit. Si le DN est bien dans son contexte de nommage, il excute la requte du client
(search, modify, bind...),
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 94
Dploiement : Dnir la topologie du service Le referral service (suite) Les mthodes permettant de crer des liens virtuels entre des partitions dannuaires sont appeles les knowledge references.
dc=world-company,dc=com
ou=New York
ou=LA
ou=Paris
subordinate reference
contexte de nom-
Les knowledge references permettent un serveur de faire suivre les requtes des utilisateurs lorsque lobjet recherch nappartient pas larbre quil gre.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 95
Dploiement : Dnir la topologie du service Le referral service (suite) Les serveurs LDAP utilisent deux mthodes pour faire suivre les requtes le long de ces liens : Le Referral est une information que retourne au client le serveur LDAP, lorsque
lentre recherche nappartient pas son arborescence, lui indiquant vers quel serveur il doit re-formuler sa requte (via un URL LDAP). Le mcanisme de referral est standardis dans le protocole LDAPv3. Le chanage (chaining) est un mcanisme o cest le serveur qui se charge de contacter un autre serveur pour le compte du client et lui retourne la rponse. Le chanage nest pas un standard du protocole LDAP, il est plutt utilis dans les logiciels X.500.
Le choix entre lune ou lautre mthode dpend essentiellement des fonctionnalits du serveur choisi.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 96
Dploiement : Dnir la topologie du service Le referral service (suite) les serveurs ne les positionnent pas tous au mme endroit. Netscape Directory utilise deux types de referral : le default referral le smart referral. Le default referral est indiqu au niveau de la racine du serveur et agit comme une redirection par dfaut pour toute requte hors espace de nommage. Le smart referral est plac dans une entre quelconque et agit comme un lien symbolique vers une autre entre dun autre serveur. Les deux utilisent les URLs LDAP pour re-diriger la requte.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 97
Dploiement : Dnir la topologie du service Le referral service (suite) Le default referral est positionn dans le chier slapd.conf de Netscape Directory ou OpenLDAP sous la forme dune ligne :
referral ldap://ldap.airius.com:389/o=airius.com
Les smart referrals sont stocks dans lattribut ref de lobjet auquel on a rajout la classe dobjet referral. Exemple en LDIF :
dn: ou=Paris, dc=world-company, dc=com objectclass: top objectclass: organization objectclass: referral ou: Sophia description: Filiale Paris l: Paris ref: ldap://ldap.paris.world-company.fr:389/ou=paris
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 98
Dploiement : Dnir la topologie du service Le replication service La duplication consiste recopier le contenu de tout ou partie de son arbre sur un autre serveur (voir LDAP-Concepts) Son but : rapprocher le service du rseau physique des clients (performances), rpartir la charge sur plusieurs serveurs (load balancing), assurer une redondance en cas de panne (disponibilit), grer localement des entres et les diffuser dans lorganisation (partitionnement).
Le replication service est LE moyen dassurer un service dannuaire able, hautement disponible, et performant.
CRU-UREC
I Tutorial LDAP I
Journes LDAP-27-28/9/00-Paris- 99
Le supplier duplique sur un consumer qui lui-mme duplique sur un autre. Cas o les liaisons rseau entre sites sont de qualit variable.
CRU-UREC
I Tutorial LDAP I
Le supplier coup de lextrieur ne duplique quune branche publique de larbre sur un consumer accessible depuis linternet.
CRU-UREC
I Tutorial LDAP I
La socit Airius a deux agences NY et LA qui grent chacune leur branche du serveur dannuaire. La duplication est mise en uvre pour ramener les branches distantes localement (performance) et assurer une redondance de tout larbre en local (disponibilit).
CRU-UREC
I Tutorial LDAP I
Les branches sont dupliques rciproquement sur chaque site. De plus, larbre entier est dupliqu en local.
CRU-UREC
I Tutorial LDAP I
Dploiement : mettre en service la duplication Rpartir la charge en utilisant le DNS round robin Ce mcanisme du DNS permet de congurer plusieurs adresses IP pour un mme hostname. Le service DNS fait une rotation de lordre des numros IP, lorsquil retourne le rsultat dune requte sur le nom du serveur LDAP. Choisir la stratgie de duplication Consiste dnir le ux de mise jour des donnes entre les serveurs de duplication. Plusieurs mthodes existent : Single-master replication Floating-master replication Multi-master replication
CRU-UREC
I Tutorial LDAP I
Dploiement : mettre en service la duplication Single-master replication Un serveur en lecture-criture (master) et tous les serveurs replicas sont read-only. Les modications des clients sont re-dirigs par des knowledge references sur le master. Cette solution prsente une faiblesse si le master est en panne.
master server (read-write) replica server (read-only)
updates search
modica-
Client LDAP
CRU-UREC
I Tutorial LDAP I
Dploiement : mettre en service la duplication Floating-master replication Nouveau master en secours en cas de panne du master. Mcanisme de synchronisation lorsque le serveur repart. Utilis par Windows NT 4.0 pour ses contrleurs de domaines (PDC, SDC). Il nest pas encore adopt par les logiciels serveurs LDAP.
master server (read-write) replica server (read-only)
synchro.
modications
modications
Client LDAP
CRU-UREC
I Tutorial LDAP I
Dploiement : mettre en service la duplication Duplication totale/incrmentale La synchronisation peut tre totale ou incrmentale. Dans ce cas, le processus de synchronisation utilise un historique des mises jours. Duplication heures xes
Certains logiciels permettent de diffrer les mises jours certains horaires. Utile dans le cas de liaisons rseau non permanentes ou charges par priodes.
CRU-UREC
I Tutorial LDAP I
...Vrier que ces ACLs sont bien dans la partie dupliques du DIT ou comment
cest pris en compte par le logiciel.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 110
Dploiement : mettre en service la duplication Mthodologie de mise en uvre connatre la topologie du rseau physique. connatre lemplacement des applications clientes et la charge gnre. choisir la mthode de duplication en fonction des capacits du logiciel synchronisation totale ou incrmentale single/multi-master replication scheduling replication ou pas outils daudit de la duplication positionner au mieux sur le rseau les serveurs LDAP replicas en fonction des
caractristiques du logiciel, du rseau et de lemplacement des clients.
Attention : le sufx doit toujours tre le mme entre les serveurs replicas.
CRU-UREC
I Tutorial LDAP I
Dploiement : mettre en uvre le partitionnement Rappel : le partitionnement est une solution pour les trop gros volumes dentres (> 10000), ou des organisations clates en units autonomes. Les mcanismes de referral peuvent tre une alternative la duplication. Quelques prcautions : limiter les referrals des sufxes ou des branches principales de larbre (ne pas
sen servir comme alias pour des entres), maintenir la cohrence des liens... et vrier la disponibilit du serveur distant, attention au contrle daccs et lauthentication : les authentications et les rgles daccs du serveur initial ne sappliquent plus aux donnes du serveur point, attention au temps de rponse : traverse de rseaux WAN, problme de scurit : les donnes transitent sur les rseaux WAN...
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Les aspects scurit et condentialit doivent tre pris en compte ds la phase de conception. Quels sont les aspects tudier ? Les accs non autoriss. Les attaques de type denial-of-service. Les droits daccs aux donnes. Le gros du travail est de dterminer les rgles daccs aux donnes. Le serveur peut tre de type read-only ou read-write. Dans les deux cas il faut dterminer pour chaque attribut : Quel est son niveau de condentialit (un numro de scurit sociale est une
donne plus sensible quune adresse mail) ? Quel utilisateur ou quelle application pourra y accder en lecture (tout le monde, certains utilisateurs, uniquement les administrateurs...) ou en criture (utilisateur, manager, administrateur) ?
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Les mcanismes qui peuvent tre mis en uvre sont ceux que lon retrouve dans nombre de services/serveur de lInternet : Lauthentication Les signatures lectroniques Le chiffrement Le ltrage rseau Les rgles daccs (ACLs LDAP) aux donnes Laudit des journaux
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Mettre en place des rgles de contrle daccs Etape 1 : analyser pour chaque attribut son mode daccs :
Tableau 1 :
Attribut cn,sn,givenname
uid
Personne
tous administrateur utilisateurs authentis administrateur tous propritaire administrateur tous manager administrateur
Droit daccs
lecture lecture/modication lecture lecture/modication lecture lecture/modication lecture/modication lecture lecture/modication lecture/modication
telephoneNumber employeeNumber
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Mettre en place des rgles de contrle daccs Etape 2 : traduire ces rgles en aci (LDIF) Exemple pour attribut telephoneNumber
rgle pour tous
aci: (target="ldap:///ou=people,dc=world-company,dc=com) (targetattr="telephonenumber") (version 3.0;acl "anonymous read-search access"; allow (read,search,compare) (userdnattr="manager");)
rgle pour administrateur
aci: (target="ldap:///dc=world-company,dc=com) (targetattr="*") (version 3.0;acl "Admin write access"; allow (write) (userdn="ldap:///cn=Directory Manager");)
rgle pour propritaire
aci: (target="ldap:///ou=people,dc=world-company,dc=com) (targetattr="telephonenumber||roomnumber||userpassword") (version 3.0;acl "self write access"; allow (write) (userdn="ldap:///self");)
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Mettre en place des rgles de contrle daccs Etape 2 : traduire ces rgles en aci (suite) Exemple pour attribut employeeNumber rgle pour manager
aci: (target="ldap:///ou=people,dc=world-company,dc=com) (targetattr="employeenumber") (version 3.0;acl "manager write access"; allow (read,write) (userdnattr="manager");)
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Mettre en place des rgles de contrle daccs Etape 2 : traduire ces rgles en aci (suite)
Exemple dutilisation dun filtre (targetfilter) permettant aux membres du groupe Servadm Manager de modifier une partie des attributs des personnes membres du service administratif.
CRU-UREC
I Tutorial LDAP I
Dploiement : scuriser le service Mettre en place des rgles de contrle daccs Le placement des ACLs inue sur leur porte.
dc=world-company,dc=com
ou=people
cn=smith
CRU-UREC
I Tutorial LDAP I
Dploiement : gestion des donnes Etablir une mthode de gestion des donnes, selon la nature des attributs, pour dterminer qui administre quels attributs et dans quelle partie du DIT. On distingues plusieurs catgories de gestion : attributs maintenus par ladministrateur de lannuaire (contrle daccs...) attributs maintenus par les fournisseurs de donnes (service du personnel...) attributs maintenus par lutilisateur nal (photo, tlphone...) attributs maintenus par les applications (prfrences...) attributs maintenus par le service dannuaire lui-mme Pour chacune, il faut dnir la mthode et la frquence de mise jour, valuer la qualit des donnes et valuer lincidence sur les performances du serveur.
CRU-UREC
I Tutorial LDAP I
Dploiement : gestion des donnes A terme, les attributs maintenus par les applications deviendront majoritaires. Ces applications doivent respecter certaines rgles pour optimiser les performances du serveur : minimiser les connexions en groupant les oprations optimiser le nombre dopration : rechercher plusieurs attributs dun coup, ne
rcuprer que les attributs ncessaires, faire des recherches efcaces minimiser les mises jours
CRU-UREC
I Tutorial LDAP I
Dploiement : gestion des donnes Les attributs maintenus de manire centralises font lobjet des choix suivants : mise jour par commande ou par import de chier protger les transactions de mises jours de donnes sensibles qui fait les mises jour (personnes, scripts...) quelle frquence vrier les donnes en amont
CRU-UREC
I Tutorial LDAP I
Dploiement : gestion des donnes Les attributs maintenus par lutilisateur prsentent les caractristiques suivantes : source dinformation, do des donnes plus jour (bureau, tlphone...) implication des utilisateurs risque de saisies errones ou invalides disposer dune interface spcique de mise jour attention la frquence globale de mise jour et son impact sur les performances
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Concepts Dployer un service LDAP Les logiciels serveurs Les clients LDAP Les outils de dveloppement Les applications de LDAP aujourdhui et demain Bibliographie
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs A cette date, les logiciels les plus connus sont :
OpenLDAP server, Innosofts Distributed Directory Server, Netscape Directory Server, Sun Microsystemss Directory Services, IBMs DSSeries LDAP Directory, University of Michigans SLAPD.
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Choisir un logiciel serveur : quelques critres de choix le prix dachat les cot de maintenance et de support ladquation du logiciel avec le type dapplications envisages : dtermine limportance accorder aux critres dvaluations (performances, nombre dentres supports, niveau de scurisation...) la facilit de prise en main ladquation entre son choix de design et les fonctionnalits du logiciel (schma, replication, referral...) la compatibilit avec le logiciel antrieur (rutilisabilit)
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Choisir un logiciel serveur : quelques critres dvaluation les fonctionnalits de base
les plates-formes hardware/software supportes le schma et ses extensions les oprations LDAP standards et tendues les possibilits de duplication le support de la distribution (referral, chaining) outils dimport-export, de backup les outils de gestion procdure dinstallation outils de conguration et dadministration (interface web, commandes en ligne pour automatisation...) interfaces de gestion de la base (clients natifs, web, commandes en ligne...) possibilit dadministrer distance
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Choisir un logiciel serveur : quelques critres dvaluation (suite) Les outils de dveloppement
API SDK logiciels clients la abilit sauvegardes et modications de conguration chaud mcanismes de replication multi-master outils de monitoring qualit de la base de donnes utilise en cas darrt intempestif
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Choisir un logiciel serveur : quelques critres dvaluation (suite) performance et volutivit
temps de latence nombre doprations par seconde nombre de connexions simultanes nombre dentres, dattributs et taille supports nombre de replicas et de partitions supports benchmark DirectoryMark (http://www.mindcraft.com/benchmarks/dirmark)
scurit
mthodes de contrle daccs gestion des droits daccs mthodes dauthentication chiffrement des transactions, de la duplication
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Choisir un logiciel serveur : quelques critres dvaluation (suite) conformit aux standards
LDAPv2 core : RFC1777-1779 LDAPv3 core : RFC2251-2256 LDAPv3 extension LDIF API SSL/TLS, certicats X509 schmas standards standards X.500 interoprabilit
CRU-UREC
I Tutorial LDAP I
Logiciels serveurs Choisir un logiciel serveur : valuation comparer les fonctionnalits tester les softs sur une base pilote faire quelques benchmarks
CRU-UREC
I Tutorial LDAP I
Logiciels clients Concepts Dployer un service LDAP Les logiciels serveurs Les clients LDAP Les outils de dveloppement Les applications de LDAP aujourdhui et demain Bibliographie
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
Les outils de dveloppement Concepts Dployer un service LDAP Les logiciels serveurs Les clients LDAP Les outils de dveloppement Netscape C SDK Netscape PerLDAP SDK Netscape JAVA SDK SUN JNDI ADSI SDK Netscape Directory Server Plug-Ins Les autres... Les applications de LDAP aujourdhui et demain Bibliographie
CRU-UREC
I Tutorial LDAP I
if ( (ld = ldap_init("ldap.worldcompany.com",389)) == NULL) { rc = ldap_get_lderrno(ld,NULL,NULL); fprintf(stderr, "erreur %s\n",ldap_err2string(rc); return(rc); } [...] if ( ldap_unbind(ld) != LDAP_SUCCESS) { rc = ldap_get_lderrno(ld,NULL,NULL); fprintf(stderr, "erreur %s\n",ldap_err2string(rc); return(rc); }
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
CRU-UREC
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
CRU-UREC
I Tutorial LDAP I
Les outils de dveloppement : les autres U-M LDAP SDK -- C (UMICH, OpenLDAP) le premier SDK Innosoft LDAP Client SDK (ILC-SDK) -- C (InnoSoft) proche du prcdent
CRU-UREC
I Tutorial LDAP I
Les outils de dveloppement : les autres LDAP Command Line Tools -- packages LDAP (U-M, OpenLDAP, Netscape) ldapsearch
ldapsearch -h ldap.worldcompany.com -b "o=worldcompany" -s sub "&((objectclass=person)(ou=semir))" cn,uid,mail,telephonenumber
ldapmodify
ldapmodify -h ldap.worldcompany.com -b "o=worldcompany" -D "cn=Directory Manager" -w "toto" dn: uid=jsmith, ou=people, o=worldcompany changetype: modify replace: roomnumber roomnumber: C105 add: description description: newsmaster delete: title \n\n
CRU-UREC
I Tutorial LDAP I
Les outils de dveloppement : les autres Java naming and Directory Interface (JNDI) -- Java (SUN) conu comme interface diffrents protocoles de type annuaire (LDAP,
Sun NIS/NIS+, Novell NDS...).
Active Directory Service Interfaces - COM (Microsoft) concept similaire JNDI. Net- LDAPapi -- PERL (GNU) comme PerLDAP mais entirement en Perl. LDAP API to Python -- Python (University of Queensland) langage orient dveloppement dinterface graphique. LDAP API to PHP (http://www.php.net) langage de script orient Web - server-side dynamic HTML. DSML -- Directory Service Markup Language (http://www.dsml.org/) standard pour reprsenter des informations issues de service dannuaire en XML.
CRU-UREC
I Tutorial LDAP I
Les outils de dveloppement : les autres PS Enlist - ODBC interface to LDAP (http://www.pspl.co.in/PSEnList) accs LDAP via ODBC (i.e. accder LDAP depuis MS Ofce !). Server-Side Javascript LDAP SDK -- JavaScript (Netscape) module orient Web - dynamic HTML pour les serveurs Web Netscape SuiteSpot. ColdFusion (Allaire) Langage/outil de dveloppement orient Web - database, sinterfaant avec LDAP.
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP Concepts Dployer un service LDAP Les logiciels serveurs Les clients LDAP Les outils de dveloppement Les applications de LDAP aujourdhui et demain Bibliographie
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP Les diffrents domaines dapplication possibles des annuaires LDAP : Les applications systme Les applications Intranet/Extranet Les applications Internet Les bases de donnes
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : applications systmes Les applications systmes Lannuaire utilis pour servir aux besoins des services rseaux tels que lauthentication, le contrle daccs, la localisation des imprimantes ou des serveurs de chier. Dans ce cas, il est troitement li au systme dexploitation. De plus en plus de fabricants se tournent vers le standard LDAP pour limplanter dans leur systme. Exemple : Windows 2000, Novell, Solaris, Linux...
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : applications intranet Les applications Intranet Le service dannuaire sert typiquement aux applications utiles lutilisateur nal :
accs des pages Web, annuaire tlphonique ou pour la messagerie lectronique, prols de conguration... (Netscape suitespot, Lotus Domino...)
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : applications extranet Les applications Extranet Lannuaire peut servir de base dinformation entre un fournisseur et ses sous-traitant, une banque et ses clients... Ce sont celles mises en uvre par les ISPs ou les grandes entits industrielles ou universitaires. Lannuaire sert grer les abonnes, les hbergements de services comme le Web et la messagerie.
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : bases de donnes Les bases de donnes Lannuaire peut remplacer un SGBD traditionnel dans le cas de donnes simples, intensivement interroges, distribues large chelle et utilises par des multiples applications (chier clientle, catalogues de fournitures...). Il peut pauler un SGBD, en tant synchronis avec lui, pour faciliter la consultation des donnes ou la mise jour de certains champs. Parfois, lorganisation possde plusieurs bases de donnes dconnectes et grant des informations redondantes :
la paye le bureau du personnel les comptes informatiques les badges daccs les cartes de restaurants...
Un annuaire LDAP peut fdrer les donnes communes (informations sur les employs), les donnes sensibles tant gres dans les SGBD => Meta-Directory.
CRU-UREC I Tutorial LDAP I Journes LDAP-27-28/9/00-Paris- 160
Les applications de LDAP : exemples Gestion centralise de lauthentication et des droits daccs Remplacer les multiples mots de passe applicatifs/systmes par une authentication
LDAP centralise.
Netscape Directory Server - synchronisation des bases utilisateurs Windows NT4 avec base LDAP Netscape SuiteSpot - serveur de Mail, de News, Web utilisant LDAP pour lauthentication Cyrus IMAP/POP3 pwcheck_ldap.c - programme externe dauthentication LDAP pour les serveurs IMAP/POP3 de Cyrus. Apache::AuthLDAP - module dauthentication et de gestion des autorisations daccs au serveur Web Apache via LDAP. PADL Softwares PAM (Pluggable Authentication Module) & NSS (Name Service Switch) Modules - authentication/lookup redirigs sur LDAP sous Solaris et Linux
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : exemples Gestion des mailing-lists et des aliases mail par LDAP Netscape Messenger Server - Serveur de Mail full LDAP . Sendmail 8.9.x : peut utiliser LDAP pour les rsolutions dadresses. Sympa : gestionnaire de listes de diffusions LDAP capable
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : exemples Mobilit utilisateur : accs distant des applications aux options, congurations et prfrences permettre lutilisateur de retrouver son environnement applicatif indpendamment de sa localisation
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : exemples Annuaires... Annuaire du personnel Inventaire du matriel Stockage des certicats (X509) et des listes de rvocation (CLRs) - pour des infrastructures base de clefs publiques -
CRU-UREC
I Tutorial LDAP I
Les applications de LDAP : exemples Directory Enabled Networks Initiative (DEN) Consortium pour dnir un modle dinformation standard facilitant le dveloppe
ment dapplications reseaux Directory-Enabled interoprables. Faciliter laccs des utilisateurs aux services rseaux : authentication, droits daccs...
CRU-UREC
I Tutorial LDAP I
Futur apparition des mta-annuaires intgration des annuaires dans les OS tendance utiliser LDAP comme un protocol lger daccs des bases de donnes prdominance de LDAP des annuaires partout !
CRU-UREC
I Tutorial LDAP I
OPenLDAP.org:
http://www.openldap.org
LDAP FAQ:
http://www.critical-angle.com/ldapworld/ldapfaq.html
LDAP Central
http://www.ldapcentral.com/
CRU-UREC
I Tutorial LDAP I