Sécurité
DN : Distinguished Name. « Nom distinctif », par analogie avec une adresse postale complète, écrite du nom sur la boîte aux lettres jusqu'au pays.
Structure : Un DN est une suite de composants séparés par des virgules, du plus précis au plus général, par exemple cn=Dupont,ou=Compta,dc=exemple,dc=fr. Chaque composant associe un attribut à une valeur.
Dans un annuaire : Dans LDAP et AD, le DN identifie de façon unique une entrée de l'arbre ; c'est aussi l'identifiant transmis lors d'un bind simple, avec le mot de passe.
Dans les certificats : Un certificat X.509 porte un DN pour le sujet et un autre pour l'émetteur. Le CN y a longtemps désigné le nom du serveur, jusqu'à ce que le monde admette, avec la lenteur propre aux grandes institutions, que le SAN était fait pour ça.
Échappement : Virgules, signes plus et barres obliques inverses doivent être échappés dans une valeur ; un DN assemblé par concaténation brute d'une saisie utilisateur finit tôt ou tard par désigner autre chose que prévu.
Ce qui arrive si on s'en passe
Assembler un DN par concaténation brute d'une saisie utilisateur, sans échapper virgules, signes plus et barres obliques inverses, laisse cette saisie redéfinir l'entrée désignée : l'application croit viser un compte et en atteint un autre, ou une autre branche de l'annuaire. Comme le DN sert aussi d'identifiant lors d'un bind simple, l'erreur touche directement l'authentification. Côté certificats, se fier au seul CN du sujet plutôt qu'au SAN pour vérifier le nom d'un serveur revient à consulter une rubrique que les navigateurs ont cessé de lire. L'adresse était parfaitement exacte ; elle avait simplement été rédigée par le mauvais correspondant.
Explication de la marmotte
Dans une grande organisation, deux personnes peuvent s'appeler Martin. Pour ne jamais les confondre, on écrit le nom avec tout le chemin qui mène à elles : Martin, du service comptabilité, du site de Lyon, de l'entreprise Machin. C'est comme une adresse postale écrite en entier, du nom sur la boîte aux lettres jusqu'au pays. Les ordinateurs qui tiennent les listes d'utilisateurs et de machines appliquent exactement ce principe, pour que chaque fiche porte un nom unique, impossible à confondre avec une autre.
Où ce terme est utilisé
- Grand-père Castor raconte : bind LDAP en clair, corrigé (8 occurrences)
- Énumérer les métadonnées LDAP anonymes d'un domaine Active Directory (3 occurrences)
