Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. LDAP
  3. Les concepts de base LDAP
Extrait - LDAP Planification et mise en oeuvre d'un annuaire OpenLDAP
Extraits du livre
LDAP Planification et mise en oeuvre d'un annuaire OpenLDAP Revenir à la page d'achat du livre

Les concepts de base LDAP

Introduction

Le protocole LDAP est basé sur un modèle de communication de type client/serveur dont les fondements sont issus en grande partie des protocoles X.500 et DAP. Son succès réside d’ailleurs dans sa simplicité d’utilisation et de mise en œuvre comparée à ses prédécesseurs.

Ce chapitre va permettre d’expliquer le fonctionnement et l’architecture de base du protocole LDAP en traitant de son modèle d’organisation, de nommage et de sécurisation des informations, mais également des différentes opérations qu’un client LDAP peut réaliser sur les entrées d’un annuaire LDAP.

LDAP : Protocole ou normalisation des systèmes d’annuaires informatiques

LDAP est souvent présenté comme un protocole de communication pour joindre un annuaire informatique. Mais il est devenu en fait bien plus que ça. En effet, bien qu’à l’origine il fut créé pour être une amélioration (en fait un "allègement" d’où Lightweight en anglais) du protocole existant de l’époque DAP, il est maintenant désigné comme norme pour les systèmes d’annuaires au travers des RFC4510 à RFC4519 définissant des modèles (de structure, de nommage, de sécurité), permettant ainsi de constituer son annuaire informatique de manière moins complexe que le modèle de l’époque nommé X.500 normalisé par l’UIT-T.

LDAP est un protocole de niveau 5 du modèle de communication OSI qui s’appuie sur les protocoles de couches basses « TCP/IP ». Il est donc orienté « connexion » et doit en ce sens établir une communication avec le serveur LDAP afin d’échanger des données. LDAP, comme tout protocole, est défini par un ensemble d’opérations réalisées entre le client et le serveur, mais aussi par le contenu de ces messages définissant l’organisation logique de l’annuaire. Ainsi, la nature des actions peut être initiée par le client (c’est-à-dire la recherche, la modification et la suppression), par les réponses du serveur et également par des opérations de connexion/déconnexion de session entre le client et le serveur.

Toutefois, le protocole LDAP ne se résume pas seulement à la nature des opérations réalisées entre un client et un serveur, car il possède également un modèle logique qui permet de structurer et d’organiser les informations...

Modèle de stockage des informations

L’unité de base de l’information stockée dans un annuaire s’appelle une entrée ; celle-ci contient des informations sur un type d’objet particulier qui peut être une personne, un serveur, une fonction ou bien même une organisation d’entreprise, etc. Les entrées sont ainsi composées d’une collection d’attributs qui contiennent les informations décrivant l’objet. Chaque attribut est constitué d’un type de syntaxe et d’une ou plusieurs valeurs. Le type de syntaxe spécifie en fait le type de valeurs pouvant être stockées par l’attribut. Par exemple, une entrée contenant des informations sur un objet Personne peut avoir un attribut nommé Numéro de Téléphone dont le type de syntaxe autorisera l’utilisation de caractères numériques, mais aussi de caractères spéciaux tels que des tirets (-) ou des signes plus (+) et également des espaces. Mais comme une personne peut détenir plusieurs numéros de téléphone, il convient également de définir pour cet attribut la possibilité de posséder plusieurs valeurs différentes.

La relation entre une entrée de l’annuaire et ses attributs et leurs valeurs est illustrée par la figure 2-1 :

Images/Figure2-1.png

Figure 2-1 : Modèle de stockage de l’information

1. Les attributs

En plus de définir quelles données peuvent être stockées en tant que valeur d’un attribut, un type de syntaxe de l’attribut définit également la manière dont ces valeurs se comportent pendant les opérations de recherche ou de comparaison soumises aux informations de l’annuaire.

Ainsi, la syntaxe de l’attribut Numéro de Téléphone de notre exemple précédent contiendra une information supplémentaire afin de spécifier que les espaces, les signes plus (+) et les tirets (-) seront ignorés lors d’une opération de recherche ou de comparaison sur ce type d’attribut. Par exemple, si une recherche dans l’annuaire de type : trouver l’entrée (ou les entrées) de l’annuaire qui possède(nt) la valeur 0665452312 pour l’attribut Numéro...

Modèle d’organisation des informations

1. La structure arborescente (DIT)

Le modèle d’organisation des informations définit comment les entrées de l’annuaire LDAP sont identifiées et organisées. Celles-ci sont organisées dans une structure arborescente appelée Directory Information Tree (DIT) comparable à la structure d’un système de fichiers Unix où les fichiers et les répertoires ont comme base la racine (/) et se déploient par de multiples ramifications. Dans le modèle LDAP, la racine est nommée « suffixe » et chaque nœud de l’arbre (ou DIT) représente une « entrée » appelée (DSE) pour Directory Entry Service. Voici un exemple (figure 2-6) permettant d’illustrer de façon conceptuelle les informations précédentes où chaque rectangle représente une entrée de l’annuaire.

Images/Figure2-6.png

Figure 2-6 : DIT

Chaque entrée de l’annuaire (DSE) sera désignée selon le contexte soit par son Relative Distinguished Name (RDN), soit par son Distinguished Name (DN). Ces termes sont en quelque sorte comparables au modèle Unix ou l’on peut désigner un fichier par son nom complet depuis la racine (/) ou bien seulement par son nom si l’on se trouve dans le répertoire du fichier désigné....

Modèle fonctionnel

Le modèle fonctionnel LDAP définit la manière dont il est possible d’accéder aux informations contenues dans l’annuaire.

Il se constitue d’opérations qui peuvent être regroupées en trois catégories :

  • Les opérations d’authentification : Bind, Unbind et Abandon sont utilisées pour se connecter et se déconnecter vers et depuis un serveur LDAP et également d’appliquer les droits d’accès aux informations.

  • Les opérations de type requête : Search et Compare sont utilisées pour effectuer des recherches d’entrées de l’annuaire répondant aux critères spécifiés par l’utilisateur.

  • Et les opérations de mise à jour : Add, Delete, Modify et ModifyRDN sont utilisées dans l’ordre pour ajouter, supprimer, modifier une entrée. L’opération ModifyRDN ne modifie seulement que le RDN de l’entrée, pas son contenu.

1. Les opérations de type requête

L’opération la plus courante est la recherche. Elle est notamment très flexible et permet d’afficher des résultats très avancés grâce à l’utilisation d’options de recherches complexes.

Il n’y a pas d’opérations distinctes pour la lecture du contenu d’une entrée ou bien le listing des entrées de l’annuaire ; ces opérations sont incorporées dans la fonction de recherche.

L’opération de recherche permet à un client de demander à un serveur LDAP de rechercher dans une partie du DIT des informations répondant aux critères spécifiés par l’utilisateur puis d’afficher les résultats selon également des critères spécifiés par l’utilisateur. Il sera ainsi possible de spécifier le point de départ de la recherche dans le DIT, sa portée, les attributs/valeurs qu’une entrée doit contenir pour être considérée et les attributs à retourner (à afficher à l’utilisateur) pour les entrées correspondantes.

Quelques exemples de recherches pourraient être :

  • Trouvez l’adresse postale de : cn=John Smith, ou=utilisateur,dc=exemple,dc=com...

Modèle de sécurisation et de confidentialité des informations

La sécurité informatique est d’une grande importance dans un monde d’ordinateurs interconnectés, et cela vaut également pour les communications LDAP. Lors de l’envoi de données sur des réseaux non sécurisés, les informations sensibles devront être protégées pendant le transport. Il est également nécessaire de savoir qui demande l’information et qui l’envoie. Ceci est particulièrement important en ce qui concerne les opérations de mise à jour sur un annuaire.

Le terme sécurité, tel qu’utilisé dans le contexte de ce livre, couvre généralement les quatre fonctions suivantes :

  • Authentification : assure que la partie opposée (machine ou personne) est vraiment celle qu’elle prétend être. Cette fonction est assurée par les opérations d’authentification appelées liaison ou bind. Certains serveurs LDAP ont même la possibilité de s’appuyer sur des mécanismes d’authentification externe via la couche ou mécanismes SASL.

  • Confidentialité : assure la protection de la divulgation d’informations par chiffrement des données, les rendant illisibles à ceux qui ne sont pas destinés à les recevoir. Bien...