Activer l’authentification LDAP sous Netdisco avec Active Directory (AD)

Netdisco permet d’intégrer une authentification LDAP centralisée, notamment via Active Directory (AD). Grâce à LDAPS (LDAP sécurisé), vous pouvez garantir la sécurité des connexions. Voici comment configurer cette authentification dans Netdisco.

Étape 1 : Modifier le fichier de configuration

Pour configurer LDAP dans Netdisco, modifiez le fichier de configuration :

  • Déploiement classique : Fichier netdisco.yml.
  • Déploiement Docker : Fichier deployment.yml.

Exemple de configuration LDAP pour Active Directory

ldap:
  servers:
    - 'ldaps://ad.mydomain.com'  # Utilisation de LDAPS, port 636 par défaut
  user_string: '%USER%@mydomain.com'  # Format UPN pour AD
  base: 'dc=mydomain,dc=com'  # Base de recherche dans l'AD
  scope: sub  # Recherche dans tout le sous-arbre LDAP
  opts:
    version: 3  # Utilisation de LDAPv3
    debug: 1  # Active le mode débogage pour plus de détails dans les logs
  tls_opts:
    verify: 'require'  # Vérification des certificats
    ca_file: '/etc/ssl/certs/ca-certificates.crt'  # Chemin vers le certificat CA

Explication des paramètres

  1. servers : Définit le serveur LDAP avec LDAPS. Le port 636 est utilisé par défaut pour LDAPS.
  2. user_string : Permet aux utilisateurs de s’authentifier directement via leur UPN (%USER%@mydomain.com), sans besoin d’un utilisateur de service.
  3. base : Définit la base de recherche dans l’annuaire Active Directory.
  4. scope: sub : Permet de rechercher dans l’ensemble du sous-arbre LDAP à partir de la base spécifiée.
  5. opts.version: 3 : Force l’utilisation de LDAPv3, standard pour les environnements modernes.
  6. opts.debug: 1 : Active le débogage LDAP pour obtenir des détails supplémentaires dans les logs, utiles pour diagnostiquer des problèmes d’authentification.
  7. tls_opts.verify: 'require' : Active la vérification des certificats pour sécuriser la connexion.
  8. ca_file : Chemin vers le certificat CA utilisé pour vérifier le serveur LDAP.

Utilisation d’un utilisateur de service (optionnel)

Si votre configuration LDAP nécessite un utilisateur de service (Bind) pour effectuer les recherches LDAP, vous pouvez ajouter les options suivantes :

proxy_user: 'cn=binduser,dc=mydomain,dc=com'
proxy_pass: 'mot_de_passe_bind'

Cependant, dans notre exemple, l’authentification directe via user_string évite ce besoin.

Étape 2 (optionnel) : Montage des certificats SSL dans Docker

Pour les déploiements Docker, assurez-vous que les certificats SSL sont disponibles dans le conteneur en ajoutant un volume dans docker-compose.yml :

services:
  netdisco:
    volumes:
      - ./config:/home/netdisco/environments
      - ./logs:/home/netdisco/logs
      - ./nd-site-local:/home/netdisco/nd-site-local
      - /etc/ssl/certs:/etc/ssl/certs  # Monte les certificats sur le conteneur Docker

Étape 3 : Redémarrer Netdisco

Après avoir modifié la configuration, redémarrez Netdisco :

docker-compose down
docker-compose up -d

Conclusion

Configurer LDAP sous Netdisco pour Active Directory est une méthode pratique pour centraliser l’authentification des utilisateurs. Grâce à LDAPS, les échanges sont sécurisés, et le mode débogage permet de diagnostiquer efficacement les erreurs en cas de problème.

Pour plus d’informations sur la configuration LDAP dans Netdisco, consultez la documentation officielle sur Metacpan.