Commandes LDAP pour le diagnostic
Commandes ldapsearch et ldapwhoami couramment utilisées pour diagnostiquer des problèmes LDAP : DN incorrect, filtre invalide, utilisateur introuvable, problème TLS, ou authentification applicative (ex: AAP, applications web).
Mode debug LDAP
Pour afficher les échanges LDAP détaillés, sorte de ‘débug’ très verbeux mais permet de comprendre ce que fait réellement ldapsearch :
# ldapsearch -x -d9 |
Permet de voir :
- les bind effectués
- les requêtes envoyées
- les erreurs TLS ou réseau
- les DN réellement utilisés
Vérifier l’existence exacte d’un DN utilisateur
Erreur fréquente : un DN mal écrit (ordre prénom/nom, casse, espaces).
Recherche directe par DN
Pour directement faire une recherche par DN :
# ldapsearch -x -H ldaps://ldap.subdomain.company.org \ |
Interprétation
La commande a renvoyé un résultat indiquant que le le DN existe mais faux (erreur 32).
- Succès : le DN existe
- Erreur 32 No such object
result: 32 No such object |
Ici le DN existe mais est faux et l’utilisateur n’existe pas sous cette forme.
Identifier le DN correct d’un utilisateur
Plutôt que deviner un DN, il vaut mieux le chercher.
Recherche globale dans l’OU Users
Cette commande permet de comprendre la structure réelle de l’annuaire.
# ldapsearch -x -H ldaps://ldap.subdomain.company.org \ |
Cette commande :
- Parcourt tous les utilisateurs
- Liste DN, CN et UID
- Permet de comprendre la structure de l’annuaire
Filtrer un utilisateur précis
Cette commande cibleun utilisateur précis.
# ldapsearch -x -H ldaps://ldap.subdomain.company.org \ |
Résultat :
dn: cn=Sanchez Rick EXT,ou=Users,dc=company,dc=org |
Ici le DN réel est donc :
cn=Sanchez Rick EXT,ou=Users,dc=company,dc=org |
Il faut veiller à :
- l’ordre Nom / Prénom
- la casse
- les espaces
Retrouver un DN à partir d’un uid
Dans la majorité des cas, l’authentification applicative repose sur l’uid.
# ldapsearch -x -H ldaps://ldap.subdomain.company.org \ |
Résultat :
dn: cn=sanchez Rick EXT,ou=Users,dc=company,dc=org |
Meilleure méthode car :
- Le uid est stable
- Indépendant du nom affiché
- Idéal pour les applications (AAP, apps web, etc.)
Vérifier les identifiants utilisateur (bind direct)
Une fois le DN correct identifié, on teste le mot de passe (de Rick Sanchez).
# ldapwhoami -x \ |
Résultat :
dn:cn=Sanchez Rick EXT,ou=Users,dc=company,dc=org |
Le mot de passe est valide et L’utilisateur peut s’authentifier
Diagnostiquer les erreurs TLS (LDAPS)
Si une application échoue mais que ldapsearch fonctionne, vérifier les erreurs TLS :
certificate verify failed (self-signed certificate in certificate chain) |
Les causes possibles :
- Certificat LDAP auto-signé
- CA non reconnu par le système ou l’application
Solutions :
- Installer le certificat CA dans le trust store
- Ou désactiver temporairement la vérification TLS (tests uniquement)
Documentation
MAN ldapsearch
MAN ldapwhoami