Ce guide de l’administrateur système vous montrera comment utiliser LDAP de manière efficace et intelligente pour vous faciliter la vie.

« Si » vous comprenez déjà ce que c’est, à quoi il sert et quels sont les termes spécifiques à LDAP, alors cet article vous sera utile. Nous présentons ici une brève introduction à LDAP pour les administrateurs système et les programmeurs.

Si vous avez déjà été concerné par un aspect de ce protocole, cet article est fait pour vous !

LDAP signifie « Light Weight Directory Access Protocol »

Avant de vous expliquer ce qu’est le protocole LDAP, nous allons parler de la signification de LDAP en général. Ce concept a vu le jour à l’Université du Michigan lorsque des développeurs cherchaient des solutions à faible coût pour remplacer le DAP – le protocole d’accès au répertoire – et le service de répertoire précurseur X.500.

À cette époque, l’Internet était encore une solution tout juste émergente.

En conséquence, l’Organisation internationale de normalisation (ISO) a créé des normes pour tout ce qui concernait le web, y compris la messagerie électronique et les services d’annuaire.

Les développeurs travaillaient donc avec X.500, la norme ISO pour les services d’annuaire pour l’Université du Michigan. Mais ils ont découvert plus tard qu’il s’agissait d’un protocole beaucoup trop compliqué et trop lourd pour les machines utilisés dans les bureaux de la plupart des gens. LDAP a été né de leur désir de faire quelque chose d’un peu plus léger et qui pourra en conséquence s’adapter aux ordinateurs Mac et aux appareils utilisés dans les locaux du campus.

Depuis son introduction en 1993, le protocole LDAP a connu un grand succès. En 1997, la version LDAP.v3 est devenue la norme pour les services d’annuaire. Ce protocole LDAP a permis le développement d’OpenLDAP qui était devenue la plate-forme précurseur en matière de services d’annuaire open source. Quelques années plus tard, OpenLDAP a permis à d’autres développeurs de constituer la base de Microsoft Active Directory.

À noter que LDAP est actuellement considéré comme un aspect essentiel des annuaires dans le cloud comme JumpCloud Directory-as-a-Service. Il est donc évident de supposer que le protocole LDAP restera un élément fondamental de la gestion des identités à l’avenir.

Pour beaucoup de gens, le protocole LDAP peut sembler difficile à comprendre, car il est basé sur des abréviations peu communes et des concepts spéciaux. Nous allons donc tenter de les aider à comprendre le concept en faisant un tour d’horizon autour du LDAP et de son fonctionnement.

Il s’agit d’un protocole utilisé pour accéder aux répertoires d’information tels que les adresses et les numéros de téléphone.

Il est implémenté dans les navigateurs Web et les programmes de messagerie électronique pour permettre les requêtes de recherche. De nombreux grands sites Web utilisent LDAP pour l’authentification, tout comme Active Directory.

La raison est que LDAP est conçu pour les lectures à grande vitesse. Les systèmes de gestion de l’identité sont aussi souvent pilotés par LDAP.

LDAP n’utilise pas SQL pour l’accès. Au lieu de cela, vous faites appel aux commandes ldapsearch ou ldapmodify, lesquelles sont incluses dans la plupart des distributions Linux.

Différence entre LDAP et Active Directory

Tout administrateur système sait que les clés d’un réseau informatique se trouvent dans Active Directory. Si un pirate parvient à accéder à l’un de vos comptes d’utilisateur, une course contre la montre est lancée pour assurer la protection de vos données. L’administrateur doit être en mesure de bloquer les menaces avant que celles-ci ne réussissent, c’est-à-dire avant que les pirates arrivent à violer les données sensibles de votre organisation. Pour ce faire, il doit donc connaître à fond le fonctionnement d’Active Directory et protéger votre réseau contre les accès non autorisés, mais il doit aussi maîtriser le protocole LDAP.

Active Directory est un service d’annuaire qui fournit de nombreuses fonctionnalités telles que l’authentification, l’administration des politiques d’utilisation de l’Internet, la gestion des groupes d’utilisateurs, etc. Il supporte à la fois les protocoles d’authentification réseau Kerberos et LDAP et fonctionne parfaitement, qu’il soit utilisé sur site ou sur VPN.

Active Directory est un exemple de service d’annuaire qui peut prendre en charge le protocole LDAP, mais il existe d’autres variantes comme Apache et Red Hat Directory Service. En d’autres termes, LDAP est un moyen de parler à Active Directory. Ce protocole peut être compris par de nombreux services d’annuaire et différentes solutions de gestion d’accès.

Vous pouvez considérer la relation entre Active Directory et LDAP comme celle qui existe entre Apache et HTTP. HTTP est un protocole qui permet à un navigateur web de consulter un site Internet, tandis qu’Apache est un serveur web qui utilise ce protocole. Si un administrateur vous dit qu’il n’a pas Active Directory, mais qu’il a LDAP, c’est qu’il veut probablement dire qu’il utilise un autre service d’annuaire comme OpenLDAP. Cela revient à dire qu’il n’utilise pas le protocole HTTP, alors qu’il a recours à un serveur web Apache.

Comment fonctionnent l’authentification, l’autorisation et le contrôle d’accès LDAP ?

LDAP est un protocole d’application neutre qui sert à maintenir les informations d’annuaire distribuées de manière organisée et de sorte que les informations soient faciles à consulter.

Autrement dit, il vous permet de conserver un répertoire d’éléments et d’informations. Il  enregistre ces données par le biais d’enregistrements contenant un ensemble d’attributs, comme les champs d’une base de données.

L’enregistrement lui-même possède un identifiant unique ou « Distinguished Name – DN » dans le langage LDAP. Le plus souvent, le DN est considéré comme le bit unique de chaque entrée, c’est-à-dire une sorte de chemin d’accès à un fichier système. Chaque attribut de l’enregistrement possède un nom, un type et une ou plusieurs valeurs.

LDAP peut servir à beaucoup de choses telles que contrôle et l’autorisation d’accès. Grâce à ce protocole, vous pourrez par exemple savoir dans quels groupes se trouve un utilisateur. Supposons que vous voulez qu’un groupe d’utilisateur particulier au sein de votre entreprise ait accès à des fichiers sensibles. Lorsque quelqu’un tente d’accéder à ces fichiers, le protocole LDAP vous permet de vous assurer qu’il est dans le bon groupe avant de lui accorder l’accès.

LDAP v2 vs LDAP v3

LDAP v3 est un service conçu pour répondre à certaines des limitations de son prédécesseur LDAP v2 dans plusieurs domaines comme l’authentification et le déploiement. Il permet également d’ajouter d’autres fonctionnalités sans avoir à modifier le protocole. Vous pouvez faire cela en utilisant des extensions et des systèmes de contrôle. Par ailleurs, LDAP v3 permet  une mise en œuvre plus efficace en matière d’accès aux services d’annuaire sur le web.

Parmi les modifications apportées à la version 3 de LDAP, on compte l’utilisation de l’UTF-8 pour tous les attributs des chaînes de texte, ce qui permet de prendre en charge des jeux de caractères plus étendus. Il y a également les attributs opérationnels que l’annuaire maintient pour son propre usage. Cette fonctionnalité est intéressante, par exemple, lorsque vous voulez enregistrer la date et l’heure après avoir modifié un attribut. En outre, les systèmes de renvoi permettent à un serveur de diriger un client vers un autre serveur. Sans oublier que LDAP v3 offre plus de sécurité en comparaison à la version 2, et ce, grâce à un mécanisme d’authentification basé SASL (couche d’authentification et de sécurité simple).

A noter que LDAP v3 est compatible avec LDAP v2. Un client qui utilise LDAP v2 peut donc se connecter à un serveur LDAP v3. Par contre, un serveur LDAP v3 peut choisir de ne pas se connecter à un client LDAP v2.

Qu’entend-on par critères de recherche ?

Les critères de recherche pour LDAP utilisent ce qu’on appelle la notation polonaise ou « Polish notation », telle que :

(&(cn=Cameron)(st=10 Downing Street))

Cette requête permet dresser la liste de toutes les personnes qui habitent au 10 Downing Street (st) dont le n.c.n. (nom commun) est Cameron. Le nom commun donne l’attribut principal, comme une clé, utilisée pour localiser un enregistrement. L’attribut UID (User ID) est également utilisé.

En notation polonaise, l’opérateur & (AND) relie les deux filtres avec et. L’opérateur OR est représenté par le symbole « | ».

Les recherches LDAP sont généralement plus simples sans notation polonaise, comme celle-ci :

ldapsearch -D cn=directory manager -w password -p port -h hostname -b dc=example,dc=com -b » objectclass=person cn uid st

avec ces options de ligne de commande :

-D est le DN de l’utilisateur qui exécute cette requête (voir ci-dessous la signification de DN).

Dans cet exemple, il s’agit du Sun Super User Directory Manager.

-w est le mot de passe,

-p est port (le port par défaut est 386).

La sous-option -s fait référence à l’étendue de la recherche. Dans cet exemple, elle permet de faire la recherche susmentionnée et incluant la base -b (dc=exemple,dc=com).

Par exemple, la base pourrait être dc=example,dc=com or ou=employees, dc=example,dc=com.

Écrire un domaine comme dc=example.com en deux mots comme celui-ci est appelé composants de domaine.

cn=Cameron est le critère de recherche

Les trois derniers champs indiquent quels attributs retourner, soit cn uid st pour notre cas.

Enregistrement LDAP

Le DN d’un enregistrement LDAP est le même que celui d’un certificat SSL. Par exemple, un enregistrement LDAP peut ressembler à ceci :

dn: uid=Cameron, ou=politicians, dc=Britain, dc=com

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

uid: Cameron

userpassword: {crypt}23232GGHSS

Notez l’attribut objectclass. Pensez à objectclass comme un schéma de table. Chaque classe d’objets ajoute des attributs supplémentaires comme le numéro de téléphone, et ainsi de suite. Ensuite, vous pouvez vérifier le schéma LDAP en interrogeant cn=schema.

Nom de domaine

La première ligne d’un enregistrement LDAP est le dn (nom de domaine). Ceci donne l’adresse exacte dans l’arborescence des répertoires (DIT) ou l’endroit où se trouve l’enregistrement. Il indique également à quelle unité structurelle (ou) appartient l’enregistrement. Pour notre cas, c’est ou=politicians.

Pensez aux unités organisationnelles comme des groupes, sauf que le mot « group » a une signification bien distincte dans LDAP (voir ci-dessous). Un enregistrement LDAP appartient à une unité structurelle, mais peut appartenir à plusieurs groupes.

L’enregistrement LDAP de l’unité structurelle ressemble à ceci :

dn: cn=politicians, dc=Britain, dc=com

objectclass: OrganizationalUnit

cn=politicians

où cn est le nom du groupe.

Groupes

Certaines personnes peuvent aussi appartenir à des groupes comme celui-ci :

dn: cn=Conservative, dc=Britain, dc=com

objectclass: Group

cn=Conservative

uniqueMember: cn=Cameron, ou=politicians, dc=Britain, dc=com

uniqueMember: cn=Thatcher, ou=politicians, dc=Britain, dc=com

uniqueMember: cn=Heath, ou=politicians, dc=Britain, dc=com

Ce groupe garde la trace des membres du groupe par l’attribut uniqueMember group, y compris le DN unique de chaque membre.

Certains serveurs LDAP, comme Novell eDirectory, le font de deux manières. Ils répertorient les personnes appartenant à chaque groupe de l’enregistrement de groupe, ainsi que groupes auxquels un utilisateur appartient dans l’enregistrement, et ce, à l’aide de l’attribut MemberOf.

Format LDIF

Les enregistrements LDAP sont stockés au format natif dans des serveurs LDAP. Mais pour ajouter ou supprimer un enregistrement, vous utilisez LDIF (LDAP interchange format). La deuxième ligne de l’enregistrement est l’opération.

Par exemple, l’entrée suivante supprime un enregistrement :

dn: uid=Cameron, ou=politicians, dc=Britain, dc=com

changetype: delete

Et celui-ci ajoute un enregistrement :

dn: uid=Cameron, ou=politicians, dc=Britain, dc=com

changetype: add

objectclass: top

objectclass: person

objectclass: organizationalPerson

objectclass: inetorgPerson

Réplication LDAP

Pour un administrateur système, les principaux problèmes liés à la prise en charge et au fonctionnement de LDAP sont le maintien de la réplication. La réplication depuis un serveur LDAP des opérations d’écriture peut développer un cache important qui atterrissent dans une file d’attente (queue). Cela pourrait provoquer une condition d’erreur lors d’une opération de répétition alternée dans laquelle le serveur Web est configuré pour examiner plusieurs serveurs LDAP.

En réalité, l’un des principes de base de la sécurité informatique est la redondance. Mis à part les sauvegardes, les administrateurs doivent aussi, dans certains cas, répliquer les serveurs LDAP.

Bien entendu, il n’existe aucune norme concernant la réplication entre serveurs. Ceci signifie que l’interopérabilité, c’est-à-dire la possibilité de répliquer un annuaire d’un fournisseur à un autre, n’est pas toujours une nécessité.

Toutefois, même si la réplication LDAP n’est pas une obligation, il est recommandé d’avoir une copie de l’ensemble ou d’une partie de l’annuaire. C’est notamment le cas lorsqu’une application fait un usage important du serveur et que cela implique le ralentissement des autres.

La réplication LDAP est aussi recommandée lorsque votre serveur atteint ses limites, lorsque votre entreprise est multi-sites, lorsque vous avez des problèmes à cause de l’indisponibilité de l’annuaire ou encore lorsque l’annuaire est l’un des composants les plus importants de votre architecture informatique et que vous voulez qu’il soit hautement disponible.

Par exemple, si un utilisateur est ajouté à un enregistrement sur un serveur LDAP 1, il peut s’écouler quelques microsecondes avant que l’enregistrement apparaisse sur un serveur LDAP 2. Celui-ci peut donc s’inscrire pour un site web et ne pas être en mesure de s’y connecter si les deux opérations sont effectuées sur deux serveurs différents.

La manière dont vous surveillez la réplication sur LDAP est souvent effectuée à l’aide des commandes ldapsearch. Avec Oracle, vous devez par exemple entrer cn = réplica.

Gestion du cache LDAP

Dans le protocole LDAP, lorsque plusieurs utilisateurs envoient certaines requêtes, cela donne lieu à un large ensemble de résultats et peut poser quelques problèmes au serveur Windows.

A un moment donné, le nombre maximum d’objets autorisés sera atteint. Dans ce cas, le serveur LDAP peut conditionner le message de réponse et ajouter un cache contenant les informations dont les utilisateurs pourront avoir besoin pour poursuivre leurs recherches ultérieurement.

Pour un serveur LDAP qui stocke une grande quantité de données, la capacité de la mémoire cache doit donc être aussi grande que possible, en tenant compte de la mémoire disponible sur la machine. Cela réduit le temps de recherche pour les opérations de recherche, c’est-à-dire le temps de latence de la connexion au site web. Il est même possible de mettre en cache toute la base de données LDAP si la mémoire est suffisante.

Etant donné que le serveur LDAP sert plusieurs utilisateurs, ces derniers peuvent lancer des requêtes nécessitant l’utilisation du cache du serveur. Il incombe donc aux administrateurs de définir les paramètres selon la politique LDAP de l’entreprise.

Par exemple, si un administrateur configure MaxResultSetSize : 262 144 octets, cela signifie que la taille totale du cache sur le serveur LDAP ne doit pas dépasser les 256*1024 octets, soit 262 144 octets. Si c’est le cas, les caches les plus anciens seront supprimés jusqu’à ce que la taille maximale soit atteinte.

Qu’en est-il donc des caches supprimés ? La suppression des caches du serveur LDAP n’implique pas nécessairement une erreur immédiate pour les applications. Celles-ci peuvent relancer la recherche depuis le début et conserver le cache lors d’une autre tentative. Au cas où un cookie dans le cache est  supprimé sur le serveur et si un client poursuit la recherche avec ce gestionnaire de cache, le serveur LDAP ne pourra pas satisfaire la demande et retournera une erreur vers l’utilisateur.

Nous avons fourni suffisamment d’informations générales qui vous permettront de vous familiariser avec LDAP. N’oubliez pas que nous archivons les enregistrements LDAP dans ArcTitan et que vous pouvez conserver vos enregistrements LDIF dans le même stockage permanent et pour la récupération après sinistre.

Maintenance du compte LDAP

Il faut savoir que LDAP est souvent utilisé pour l’authentification de sites web. L’administrateur LDAP passera donc beaucoup de temps à réinitialiser les mots de passe des utilisateurs lorsque ceux-ci ne peuvent pas se connecter, ou en éliminant les problèmes de mot de passe.

En voici les raisons :

Si votre site web dispose d’une fonctionnalité de libre-service, l’utilisateur peut réinitialiser lui-même son mot de passe. Sinon, vous pouvez le faire à l’aide de l’interface graphique d’Active Directory ou de Sun LDAP.

Cependant, si vous modifiez fréquemment les mots de passe, vous pouvez enregistrer un fichier LDIF, puis exécuter ldapmodify pour modifier simplement l’identifiant de l’utilisateur. C’est beaucoup plus rapide que d’utiliser une interface graphique.

Voici le mot de passe.LDIF à utiliser:

uid=user,dc=example,dc=com

changetype: modify

replace: userPassword

userPassword: newPassword

ldapmodify command:

ldapmodify -c -a -f password.ldif -h hostname -p port -D cn=Directory Manager -w password

Voici maintenant comment vous pouvez prouver que le mot de passe de l’utilisateur fonctionne. Vous vous connectez en tant que tels et vous consultez leur dossier.

ldapsearch -D uid=user,dc=example,dc=com -w newPassword -p port -h hostname -b dc=example,dc=com -b uid=user

L’authentification de l’expéditeur et la vérification du destinataire sont essentielles au maintien du flux de courrier électronique sécurisé de votre organisation.

Une fois que vous aurez identifié les expéditeurs et les destinataires approuvés, vous pouvez bloquer un grand pourcentage de spam, de virus et de malwares sur votre réseau.

Conclusion

LDAP est un protocole développé par l’université du Michigan. Son principal but était d’améliorer le protocole DAP qui permettait d’accéder  au service d’annuaire X.500 de la suite de protocoles OSI.

Grâce à l’intégration de la suite de protocoles TCP/IP, LDAP permet désormais de gérer facilement des annuaires, c’est-à-dire que vous pouvez accéder à des bases de données sur les utilisateurs d’un réseau via TCP/IP. Ces bases de données concernent généralement des utilisateurs d’un réseau, mais elles peuvent aussi être utilisées à d’autres fins, notamment pour gérer les différents matériels au sein de votre entreprise. Mais le plus important, c’est que ce protocole peut aussi vous aider à renforcer la sécurité de votre réseau.

Si vous utilisez SpamTitan, vous pouvez le synchroniser avec votre serveur LDAP pour créer automatiquement des comptes pour les utilisateurs du domaine.

Questions fréquentes sur LDAP

Pour un utilisateur particulier, quels sont les avantages d’utiliser LDAP ?

LDAP simplifie le processus d’envoi d’un fax ou la numérisation de certains documents vers un e-mail, car la méthode de recherche est plus efficace. D’autre part, vous gagnez du temps important, surtout si l’expéditeur ne connait pas l’adresse e-mail des destinataires.

Vous n’avez pas abordé le sujet sur le certificat de vérification TLS dans votre blog, pouvez vous donner plus d’explications à ce sujet ?

Ce paramètre permet de déterminer comment le certificat de sécurité de votre serveur LDAP doit être vérifié quand votre connexion est chiffrée. Selon le système d’exploitation utilisé, le certificat est vérifié grâce à des certificats racines installés à l’échelle de votre réseau.

Que se passe-t-il lorsque le LDAP est activé et qu’un employé crée un compte pour la première fois ? L’employé doit-il utiliser son identifiant de connexion et son mot de passe Active Directory pour créer le compte ?

Une fois que le LDAP est activé, l’utilisateur doit créer un compte ESP ou « Edge Security Pack ». Pour ce faire, il doit utiliser son nom d’utilisateur ainsi que son mot de passe. Si ce dernier utilise un nom d’utilisateur ou un mot de passe différent, le processus de création de compte échouera. L’authentification ESP permet de valider son nom d’utilisateur et son mot de passe lorsqu’il fera une demande de création d’un nouveau compte ESP.

Le compte de l’administrateur est-il validé avec LDAP ?

Non. En réalité, le compte d’utilisateur de l’administrateur continuera à fonctionner comme avant, même s’il utilise LDAP.

Existe-t-il d’autres informations à savoir concernant le fonctionnement et l’utilisation du LDAP pour les employés ?

Il est toujours recommandé de contacter votre ESP si vous rencontrez des problèmes sur l’utilisation de ce service pour vos employés ou pour demander des informations supplémentaires.