Lightweight Directory Access Protocol -...

26
Ingénieurs 2000, Université de Marne la vallée LDAP LDAP Lightweight Directory Access Protocol Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée Florent Juillet de Saint-Lager IR3 Groupe 1 Exposé Nouvelles Technologies Réseaux

Transcript of Lightweight Directory Access Protocol -...

Page 1: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

Ingénieurs 2000, Université de Marne la vallée

LDAPLDAPLightweight Directory Access ProtocolLightweight Directory Access Protocol

Sylvain PernotSébastien LaruéeFlorent Juillet de Saint-Lager

IR3 Groupe 1Exposé Nouvelles Technologies Réseaux

Page 2: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 2

�Les Annuaires électroniques

�Le protocole LDAP

�LDAP en pratique

�Synthèse de la Technologie

Plan de l’exposé

Page 3: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 3

Annuaires : Définition

�Un catalogue de données organisées dédié à la lecture, plus qu’à l’écriture

�Exemples de la vie courante� Annuaires papiers

� annuaire téléphonique� carnet d’adresses� catalogue de vente

� Annuaire électronique� DNS� WHOIS� Base de Registre Windows

Page 4: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 4

Annuaires : Concepts

�Dynamiques (mise à jour en temps réels)

�Souples (changement aisé type et organisation des données)

�Sécurisés (qui voit quoi)

�Personnalisés (façon de présenter les données, action sur ses propres données,...)

Page 5: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 5

Annuaires : Caractéristiques (1)

�Conçu pour avoir beaucoup de requêtes en lecture, peu en écriture

�Structurations des données

3Élève 44

3Élève 33

2Élève 22

1Élève 11

3IR3

2IR 2

1IR 1

Organisation Hiérarchique Organisation Relationnelle

Page 6: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 6

Annuaires : Caractéristiques (2)

�Pas de requêtes compliquées (comme les jointures en SQL),

�Les annuaires doivent pouvoir être répartis,

�Un annuaire doit être capable de gérer l'authentification des utilisateurs

Page 7: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 7

protocole LDAP : Présentations (1)

�Le précurseur de LDAP : X.500�Naissance de LDAP

� Alléger le protocole DAP

� Une passerelle LDAP/X.500

Page 8: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 8

protocole LDAP : Présentations (2)

�LDAP natif

�LDAP version 3

� prise en compte des caractères spéciaux,

� Le mécanisme de chaînage des requêtes,

� Sécurité : l’authentification SASL et chiffrement TLS

(Transport Layer Security),

� Surcharge des opérations.

LDAP Client slapd Système de

sauvegarde

Request Write

Response Read

Page 9: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 9

Les modèles de LDAP

�5 modèles:� Modèle d’information� Modèle de nommage� Modèle fonctionnel� Modèle de sécurité� Modèle de réplication

Page 10: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 10

Modèle d’information

� Entrée = Objet� Une entrée contient un ensemble d’attributs (utilisateurs ou

opérationnels)� Classe d’objet: définit les attributs que doit contenir un objet

� Classe abstraite, structurelle ou auxiliaire� On peut faire de l’héritage!!!

� Le schéma de l’annuaire contient les classes d’objets� Le schéma de l’annuaire permet de vérifier le respect de la

syntaxe des données

Page 11: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 11

Modèle de nommage

�Contraintes de nommage pour garantir l’interopérabilitéentre annuaires

� DIT (directory information tree) : définit l’organisation et la désignation des données

�Chaque entrée est identifiée de manière unique par :� Relative Distinguished Name� Distinguished Name

Page 12: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 12

Modèle fonctionnel

�Le modèle fonctionnel décrit la manière d’accéder aux données

�Fonctions d’interrogation: search, compare� Paramètres: base object, scope, derefAliases, size limit, time

limit, attrOnly, search filter

�Fonctions de mise à jour: add, modify, delete, rename�Fonctions de session: bind, unbind

Page 13: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 13

Modèle de sécurité

�Définir pour chaque utilisateur des droits d’accès aux données (authentification, liste de contrôle d’accès)

�Garantir la confidentialité des échanges (chiffrement)

Page 14: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 14

Modèle de réplication

�Dupliquer un annuaire sur plusieurs serveurs�Prévenir les coupures réseau, les surcharges de

service ou les pannes de serveur�Structure maître-esclave�Synchronisation totale/incrémentale �Réplication en temps réel/à heure fixe

Page 15: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 15

Communication client-serveur

�Mécanisme de questions-réponses sous forme de messages

�Traitement synchrone ou asynchrone

�Cas asynchrone: attribution d’un numéro de contexte

Page 16: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 16

Implémentation de LDAP

�OpenLDAP� Présentation� Configuration� Exemple de création d’un annuaire� Avantages et Inconvénients

�Exemple d’implémentation� Authentification sous Linux en réseau

Page 17: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 17

Configuration de OpenLDAP

�Le fichier slapd.conf� Schémas : include /etc/openldap/schema/nis.schema� Accès : access to * by * read� Base de données : database bdb� Domaines de nom : suffix� Compte d'administration : rootdn et rootpw

�Le fichier ldap.conf� Configuration cliente : BASE et URI

Page 18: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 18

Utilisation de OpenLDAP

�Commandes client principales� ldapadd équivalent à ldapmodify -a

� ldapdelete

� ldapsearch

� ldapcompare

� ldapmodify

� ldappasswd

� Ldapmodrdn

�Le format LDIF : Import et export de données

Page 19: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 19

OpenLDAP : Création de l’arbre des données

ldapadd –D «cn=Manager,dc=yourorg,dc=com»

-w –f create_main_tree.ldif

create_main_tree.ldif

Page 20: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 20

OpenLDAP : Ajout de données

ldapadd –D «cn=Manager,dc=yourorg,dc=com»

-w –f create_user.ldif

create_user.ldif

Page 21: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 21

OpenLDAP : Ajout de données

ldapadd –D «cn=Manager,dc=yourorg,dc=com»

-w –f create_group.ldif

create_group.ldif

Page 22: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 22

Avantages et inconvénients de OpenLDAP

�Avantages� Licence modulaire� Sécurité : SSL et SASL� Extensions

� Inconvénients� Support de certaines RFC optionnelles manquant� Documentation en ligne incomplète� Redémarrage après modification de la configuration

Page 23: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 23

Implémentation de LDAP : Authentification sous Linux en réseau

�Au commencement : NIS� Critiqué pour son manque de sécurité

�L’alternative en vogue avec un annuaire� Association de 3 technologies

� LDAP� NSS : Name Server Switch avec nss_ldap� PAM : Pluggable Authentication Modules avec pam_ldap

Page 24: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 24

Synthèse de la technologie

�+ Centralisation

�+ Fiabilité

�+ Sécurisation

�+ Support de nombreux environnements de développement

�- Un langage d'interrogation pauvre

Page 25: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 25

Synthèse de la technologie

�Tableau comparatif LDAP / Base de Données

�Tableau comparatif LDAP / NIS (Network Information Services)

Page 26: Lightweight Directory Access Protocol - igm.univ-mlv.frigm.univ-mlv.fr/~duris/NTREZO/...LDAP-xpose.pdf · LDAP Lightweight Directory Access Protocol Sylvain Pernot Sébastien Laruée

22/01/2006 26

Questions ?