Chapitre 13. Protocole LDAP (Lightweight Directory Access Protocol)

Lightweight Directory Access Protocol (LDAP) est un ensemble de protocoles ouverts utilisés pour accéder à des informations stockées localement sur un réseau. Il est basé sur le standard X.500 pour le partage de répertoires, mais est moins complexe et exigeant en matière de ressource. C'est pour cette raison que LDAP est quelques fois appelé "X.500 Lite."

Comme X.500, LDAP organise des informations d'une manière hiérarchique en utilisant des répertoires. Ces répertoires peuvent stocker diverses informations et peuvent même être utilisés d'une manière semblable au Service d'informations réseau(NIS, Network Information Service), permettant à tout un chacun d'accéder à son compte depuis toute machine dans le réseau sous LDAP.

Dans la plupart des cas, LDAP sert d'annuaire téléphonique virtuel, permettant aux utilisateurs d'accéder facilement aux informations de contact d'autres utilisateurs. Mais le protocole LDAP est beaucoup plus flexible qu'un annuaire téléphonique traditionnel. En effet, de par sa conception, il est destiné à prendre en charge la propagation vers des serveurs LDAP sur tout l'Internet, fournissant ainsi un accès mondial aux informations. Actuellement, cependant, le protocole LDAP est plus généralement utilisé au sein de grandes organisations comme des universités, des départements gouvernementaux et entreprises du secteur privé.

Le protocole LDAP est un système client/serveur. Le serveur peut utiliser diverses bases de données pour stocker un répertoire, chacune d'elles étant optimisée de façon à permettre des opérations de consultation rapides et nombreuses. Lorsqu'un client LDAP se connecte à un serveur LDAP, il peut soit consulter un répertoire, soit y apporter des modifications. Dans le cas d'une requête, le serveur y répond localement, ou la renvoie à un serveur LDAP de niveau supérieur qui aura lui la réponse. Si l'application cliente tente de changer des informations dans un répertoire LDAP, le serveur vérifie d'abord que l'utilisateur est bien autorisé à effectuer des changements et ensuite ajoute ou met à jour les informations.

Ce chapitre décrit la configuration et l'utilisation de OpenLDAP 2.0, une implémentation Open Source des protocoles LDAPv2 et LDAPv3.

13.1. Pourquoi utiliser LDAP ?

Le principal avantage du protocole LDAP réside dans la possibilité de réunir les informations d'une organisation entière dans un lieu central. Par exemple, plutôt que de gérer des listes d'utilisateurs pour chaque groupe au sein d'une organisation, LDAP peut être utilisé comme un répertoire central accessible sur tout le réseau. De plus, puisque LDAP supporte les fonctions Secure Sockets Layer (SSL) et Transport Layer Security (TLS), des données confidentielles peuvent être protégées des intrusions.

LDAP supporte aussi diverses bases de données parallèles pour y enregistrer des répertoires. Cela donne aux administrateurs la flexibilité nécessaire pour déployer la base de données la plus adaptée au type d'informations que le serveur doit disséminer. De plus, comme LDAP comporte une API (de l'anglais 'Application Programming Interface', soit interface de programmation d'application) bien définie, le nombre d'applications compatibles avec LDAP est vaste et grandissant aussi bien en quantité qu'en qualité.

13.1.1. Améliorations des caractéristiques d'OpenLDAP 2.0

OpenLDAP 2.0 comprend plusieurs caractéristiques importantes.

  • Support LDAPv3 — OpenLDAP 2.0 supporte SASL ('Simple Authentication and Security Layer'), TLS ('Transport Layer Security') et SSL ('Secure Sockets Layer'), entre autres améliorations. De nombreux changements apportés au protocole depuis LDAPv2 visent à augmenter la sécurité de LDAP.

  • Support IPv6 — OpenLDAP supporte le protocole Internet de la prochaine génération, version 6.

  • LDAP sur IPC — OpenLDAP peut communiquer au sein d'un système en utilisant IPC ('interprocess communication'). Il en résulte une sécurité améliorée car il n'est plus nécessaire de communiquer à travers un réseau.

  • Mise à jour de C API — Elle améliore la manière dont les programmeurs se connectent aux serveurs de répertoires LDAP et les utilisent.

  • Support LDIFv1 — Grâce à ce support, OpenLDAP 2.0 est pleinement compatible avec la version 1 du format d'échange de données LDAP (LDIF).

  • Amélioration du serveur autonome LDAP — Le serveur inclut à présent un système de contrôle d'accès mis à jour, un pool de conversation, de meilleurs outils et bien plus encore.