La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les annuaires LDAP Ph. Sevre le 25/09/12. Introduction Light Weight Directory Protocol descendant de la norme d'annuaires OSI X500 trop lourde et complexe.

Présentations similaires


Présentation au sujet: "Les annuaires LDAP Ph. Sevre le 25/09/12. Introduction Light Weight Directory Protocol descendant de la norme d'annuaires OSI X500 trop lourde et complexe."— Transcription de la présentation:

1 Les annuaires LDAP Ph. Sevre le 25/09/12

2 Introduction Light Weight Directory Protocol descendant de la norme d'annuaires OSI X500 trop lourde et complexe à mettre en oeuvre normalisation de l'interface d'accès aux annuaires fonctionne au niveau applicatif au dessus de TCP/IP mode de communication client-serveur optimisé pour les requêtes dinterrogations

3 X500 Standard OSI (protocole à 7 couches) Protocoles : DAP : communication client-serveur (Directory Access Protocol) DSP : communication serveur-serveur (Directory System Protocol) Données au format objets-attributs Objects Identifiers Structure hiérarchique : arbre, branches, feuilles Encodage ASN.1 Sécurité : X.509 (certificats, PKI) Réplication

4 Concepts Modèle dinformation Modèle de nommage Modèle fonctionnel (de service) Modèle de sécurité

5 Caractéristiques Stockage réparti de données dauthentification

6 Le protocole LDAP Ldap V1: RFC accès simple X500 Ldap V – les bases de LDAP Actuellement protocole LDAP V3.0 (RFC 2251) depuis 1998

7 Le protocole LDAP -2 Communication client-serveur : Utilise TCP/IP ASN.1 (Abstract Syntax Notation One) Communication serveur-serveur : Referrals : liens entre annuaires Réplication : échange de données entre annuaires Les mécanismes de sécurité : Authentification (Kerberos) Chiffrement des flux (SASL :Simple Authentication and Security layer) Règles daccès aux données

8 Lannuaire LDAP - 1 collection hiérarchisée dobjets et de leurs attributs un annuaire nest pas une base de données : –un deux objets de même type peuvent avoir des attributs différents –les attributs peuvent être multivalués Ex : 2 homonymes dans 2 OU différentes il est basé sur des schémas standards prédéfinis mais qui peuvent être adaptés localement

9 Lannuaire LDAP - 2 suit des recommandations (RFC) pour garantir linteropérabilité il est optimisé pour les interrogations et les recherches il peut utilisé le stockage distribué et les techniques de réplications permet de gérer finement les accès aux objets et attributs au moyen dACLs

10 LDAP : les opérations Abandon Abandonne l'opération précédemment envoyées au serveur Add Ajoute une entrée au répertoire Bind Initie une nouvelle session sur le serveur LDAP Compare Compare les entrées d'un répertoire selon des critères Delete Supprime une entrée d'un répertoire Extended Effectue des opérations étendues Rename Modifie le nom d'une entrée Search Recherche des entrées d'un répertoire Unbind Termine une session sur le serveur LDAP

11 Schéma annuaire Ou=People,dc=darkstar,dc=org Base Ou=Groups,dc=darkstar,dc=org Unité organisationelle O=darkstar,c=US (X500) dc=darkstar.org dc=darkstar,dc=org (RFC 2247) cn=Vador,ou=People,dc=darkstar,dc=org dc=darkstar,dc=org

12 Un objet : Un ou plusieurs type de classe (objectclass) Des attributs

13 Pourquoi ce type de structure ? administration plus fine configuration indépendante de lhôte la réplication permet daméliorer la disponibilité pour les gros sites, les performances sont supérieures à celles des fichiers plats Unix contrôle renforcé du fait de la structure du schéma plus sûr

14 Terminologie - 1 Base : la racine du répertoire. La base de recherche dune requête définit où commence cette dernière dc=darkstar,dc=org Scope (base, one, sub) : définit la profondeur jusquà laquelle ira la requête –base : reste au niveau de la base –one : descend dun niveau –sub : parcourt tout larbre

15 Terminologie - 2 Distinguished Name (DN) : un identifiant qui détermine lobjet de façon unique dans le contexte considéré cn=Vador,ou=People,dc=darkstar,dc=org Relative Distinguished Name (RDN) : les attributs du DN qui le rendent unique dans son contexte cn=Vador

16 Le schéma un schéma définit des classes dobjet (ObjectClass) ressemble à un schéma de base de données avec lhéritage (simple ou multiple) définit les classes dobjets définit les attributs, leur –contenu –Le caractère obligatoire ou facultatif –mode de comparaison (sensible ou non à la casse),

17 Les OID chaque élément dun schéma est identifié par un Object Identifier unique (comme pour SNMP) pour obtenir un OID, il faut sadresser à lIANA Un OID est composé de plusieurs numéros séparés par un point. Chaque numéro représente une branche dun arbre hiérarchique. Tous les attributs du standard commencent par Toutes les classes dobjet commencent par

18 Schéma dobjet Définition de la classe dobjet person : objectclass ( NAME 'person' SUP top STRUCTURAL MUST( sn $ cn ) MAY( userPassword $ telephoneNumber $ seeAlso $ description ) ) attributetype ( NAME ( 'sn' 'surname' ) SUP name )

19 Les attributs Un attribut est défini par : –son OID. –son nom. – une courte description de lattribut. – les critères de comparaison utilisés lors dune recherche. une syntaxe décrivant le type de données.

20 Les attributs - Exemple Définition de lattribut sn : attributetype ( NAME ( 'sn' 'surname' ) SUP name )objectclass attributetype ( NAME 'name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMat SYNTAX {32768} ) Lattribut sn (surname) hérite ses propriétés de ses parents (name)

21 Les attributs : règles de comparaison Les règles de comparaison : Associées à un traitement particulier sur un type dattribut (comparaison, tri), elles définissent lalgorithme à utiliser lors de ces opérations Elles dépendent de la syntaxe spécifiées dans la RFC 2252 Exemples de règles de comparaison : : objectIdentifierMatch : distinguishedNameMatch : caseIgnoreMatch : caseIgnoreOrderingMatch : caseIgnoreSubstringsMatch : numericStringMatch : numericStringSubstringsMatch

22 Exemple d'objet dn: cn=Albert Dupont,dc=exemple,dc=org cn: Albert Dupont givenName: Albert sn: Dupont telephoneNumber: telephoneNumber: mail: manager: cn=Jules Leroy,dc=exemple,dc=org objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top

23 Quelques objets standard Schéma par défaut RFC 2256 : core RFC 1274 : cosine RFC 2798 : inetOrgPerson PosixAccount person organizationalPerson inetOrgPerson

24 Unité organisationelle (OU) Cest un conteneur pouvant stocker des objets terminaux ou dautres OU

25 Le Directory Information Tree ( DIT) DIT : structure de larbre Un schéma peut être réparti sur plusieurs serveurs. Une sous- partie constitue une partition règle : chaque objet doit disposer dun ancêtre commun et cet ancêtre doit être dans la partition

26 Les ACLS Elles permettent de décrire les accès aux attributs. Par exemple : # controle daccès simple: lecture seule sauf pour les mots de passe access to dn=".*,dc=darkstar,dc=org" attr=userPassword by self write by dn=Manager,ou=People,dc=darkstar,dc=org write by * auth access to dn=".*,dc=darkstar,dc=org" by self write by * read

27 Les URL LDAP les navigateurs web peuvent accéder à un annuaire LDAP grâce à des URL : ldap[s]:// : / ? ? ? : DN du point de départ de la recherche : attributs que l'on veut consulter : la profondeur de recherche dans le DIT à partir du :"base" | "one" | "sub" : filtre de recherche, par défaut (objectClass=*)

28 Les URL LDAP - suite exemples : ldap://ldap.netscape.com/ou=Sales,o=Netscape,c=US?cn,tel,mail?scop e=sub?(objetclass=person) ldap://ldap.domain.fr/cn=Albertldap://ldap.domain.fr/cn=Albert%20Dupont, ou=People, dc=domain,dc=fr ldap://ldap.domain.fr/dc=domain,dc=fr?mail,uid,sub?(sn=Dupont)*)

29 Les connexions et la sécurité mode anonyme (DN et mot de passe vide: pour client de messagerie) : opération bind avec ou sans paramètres authentification simple (envoi du DN + mdp en clair => peu de sécurité) Sécurisée –avec TLS (Transaction Layer Security) ou SSL (LDAPS) –Kerberos 4 –SASL

30 Les couches de sécurité SSL/TLS (Secure Socket Layer/Transport Layer Security) au moyen de certificats SSL SASL (Simple Layer Authentication and Security Layer) Kerberos 4 Kerberos5

31 Annuaires distribués Il est possible dutiliser des annuaires distribués au moyen de referral : dn: ou=explore,dc=darkstar,dc=org objectClass: organizationalUnit objectClass: referral ou: explore ref: ldap://explr.darkstar.org/ou=explore,dc=darkstar,dc=org Ici, lannuaire correspondant à lOU explore est stocké sur le serveur explr.darkstar.org

32 Les indexes les annuaire LDAP permettent de définir les indexes ad-hoc pour obtenir les performances souhaitées. Exemple: index cn,uid eq index uidNumbereq index gidNumber eq

33 Le back-end OpenLdap propose plusieurs back-end pour stocker la base dannuaire : –DBM –Berkeley DB –BD relationnelle –fichiers plats

34 La réplication – 1 Elle permet : – doptimiser la gestion de la charge. – daméliorer la disponibilité de lannuaire. – de sécuriser les données. Il existe deux mécanismes de réplication entre annuaires LDAP : – le processus basé sur la génération dun fichier LDIF et géré par un démon dédié (slurpd). – le mécanisme LDAP Sync Replication disponible depuis la version 2.2 dOpenLdap.

35 La réplication – 2 configuration maître/esclave ou multi- maîtres les annuaires doivent posséder le même schéma Les règles d'accès doivent être dupliquées

36 Intégration au système LDAP est maintenant intégré au système par lintermédiaire de clients LDAP et peut être utilisé conjointement avec PAM (Plugable Authentication Module)

37 Les clients et outils Outlook Express permet dinterroger un annuaire LDAP Les outils : ils commencent à apparaître –gq : outil graphique X Windows –Webmin : permet dadministrer un serveur LDAP depuis une interface Web –PhpLdapAdmin –ldapvi

38 Quelques exemples annuaire duniversité Paris V : étudiants personnels Ministère de lIntérieur : création de adresses en 2h30 !! Wanadoo : dentrée DGCP : agents BAL + projets Education Nationale

39 Les applications LDAPifiées Samba Sendmail Postfix Squid Apache serveurs POP3/IMAP4 (DovetCot,...) serveurs Radius + communication avec Microsoft AD.... plus de très nombreuses applications Web

40 Les outils slapxxx : fonctionnent à froid –slapcat : vidage annuaire en ASCII LDIF –slapadd : ajout d'entrées (à froid) –slappasswd : modif mdp root DN –slapindex : réindexation ldapxxx: fonctionnent à chaud –Ldapadd : ajout d'entrée –Ldapmodify : modification d'entrées –Ldapdelete : suppression –ldapsearch : recherche

41 Les API de nombreuses interfaces de programmation sont disponibles en particulier avec OpenLdap sous Linux : –C/C++ –Perl (Net::Ldap) –Python –PHP –Java

42 Les implémentations Sun Java System Directory Server IBM Tivoli Directory Server Active Directory (Windows 2000, Server 2003) Apple Open Directory (Mac OS X Server) Novell eDirectory, anc. Novell Directory Services (NDS) OpenLDAP 389 Directory Server (RedHat) Apache Directory Server (Java)

43 Mise en oeuvre gros travail de réflexion de manière à ce que la structure de larbre : –reflète bien la structure de lorganisation –ne soit pas trop complexe (nbre de niveaux limités) –structure plate/structure profonde migration lourde sans outils avec OpenLdap

44 Le format LDIF Ldap Directory Information File : format standard déchange Le standard : RFC 2849 fichier texte Ascii utilisé pour insérer des objets/vider un annuaire Encodage UTF-8 Chaque entrée séparée par une ligne blanche le programme slapcat (dump annuaire ldap) produit un fichier LDIF utilisé pour les sauvegardes

45 Utilisation de LDAP Partout ou une authentification distribuée et extensible est nécessaire permet davoir une seule source dauthentification quels que soient les clients et les OS (p. Ex. Windows/Samba et messagerie, Apache, Squid,...) remplacement de service NIS Annuaire dentreprise (avec interface Web depuis Rolodap)

46 Migration des outils de migration (scripts shell et perl) sont disponibles pour passer dune structure Unix classique à fichiers plats (/etc/passwd et groups) ou de type NIS vers une structure de type Ldap on peut migrer : utilisateurs, groupes, aliases, netgroups, hosts, services... cf

47 Openldap fonctionne sur tous les Unix/Linux packagé pour toutes des distributions importantes Debian/Ubuntu : –slapd (serveur) –ldap-utils (client)

48 Authentification Unix permet à des utilisateurs Unix de s'authentifier auprès d'un annuaire LDAP basée sur nss_ldap et pam_dap

49 nss_ldap Name Service Switch : permet de faire le lien avec des dispositifs externes (ldap, nis, winbind) – commande getent Modification du fichier /etc/nsswitch.conf recherche d'abord dans les fichiers locaux /etc/passwd, group, puis dans la base ldap passwd: files ldap group: files ldap shadow: files ldap

50 pam_ldap - 1 Pam-ldap prend en charge les authentifications des utilisateurs : –avec le module PAM_LDAP, on permet à des programmes tels que su, gdm, login, telnet, ftp..., d'aller chercher et vérifier l'information d'authentification dans un annuaire LDAP. –Ces programmes doivent être ``pam-enabled'' c'est à dire liés à la librairie pam libpam.so pour utiliser ce cadre d'authentification. –paramétrage dans /etc/pam.d

51 Pam_ldap – 2 4 controles : gestion des comptes, des authentifications, des password et des sessions –Auth : vérification de l'identité user avec mot de passe –Account: vérification des comptes.. mot de passe expiré? Accès permis à une ressource? –Password : gestion des mots de passe, expiration etc.. –Session : gestion de l'entrée en session.. montage du home directory Sufficient : si le test est probant on s'arrete là, sinon on essaie la suite Required : succès obligatoire sinon le test échoue

52 les clients Le fichier de configuration pour les commandes clientes : –permet d'éviter de taper les arguments sur la ligne de commande /etc/ldap/ldap.conf (ubuntu et debian) # adresse des serveurs ldap à contacter HOST #Dn de la base BASE dc=dom,dc=fr #adresse des serveurs avec protocole d'accès URI ldap://localhost ldaps://

53 Sauvegarde/restauration annuaire sauvegarde : slapcat > -l dump.ldif arrêt annuaire /etc/init.d/ldap stop purge base rm -fr /var/lib/ldap/* restauration slapadd -l dump.ldif chown -R ldap.ldap /var/lib/ldap/ /etc/init.d/ldap start


Télécharger ppt "Les annuaires LDAP Ph. Sevre le 25/09/12. Introduction Light Weight Directory Protocol descendant de la norme d'annuaires OSI X500 trop lourde et complexe."

Présentations similaires


Annonces Google