Mise en place d’un annuaire LDAP avec Debian

Laurent VAQOU

23 octobre 2025

Ce guide pratique présente la mise en place d’un annuaire LDAP sur Debian 13 pour centraliser authentification et fichiers partagés. L’objectif est de fournir une approche opérationnelle, commande par commande, utile pour administrateurs et équipes systèmes.

Le tutoriel assemble OpenLDAP, NFS, DHCP et des outils comme phpLDAPadmin ou FusionDirectory pour la gestion. Il contient des étapes pratiques, des scripts d’exemple et des recommandations pour un déploiement robuste et évolutif.

A retenir :

  • Centralisation des comptes et des droits par département
  • Sécurisation des communications LDAP par TLS et certificats auto-signés
  • Interopérabilité avec Samba, Nextcloud et Zimbra pour services partagés
  • Mise en cache pour usage hors ligne avec CCREDS sur laptops

Pour démarrer : Installer OpenLDAP sur Debian 13

Préparer le serveur et installer les paquets OpenLDAP

Cette sous-section décrit la préparation du serveur avant l’installation d’OpenLDAP et ses utilitaires. Sur Debian 13, installer les paquets slapd et ldap-utils constitue la première étape essentielle pour la mise en service.

Avant de lancer l’installation, vérifier la résolution DNS et associer le domaine local à la boucle locale. Modifier /etc/hosts pour mapper 127.0.0.1 au nom de domaine permet d’éviter des erreurs lors de la configuration initiale.

Pré-requis système :

A lire :  Installer des paquets à partir des sources sur Debian
  • Processeur 2 cœurs minimum
  • Mémoire recommandée 2 Go ou plus
  • Disque avec 10 Go disponibles pour la base
  • Accès SSH pour administration distante

Service Port Protocole But
LDAP 389 TCP Requêtes annuaire non chiffrées
LDAPS 636 TCP Requêtes annuaire chiffrées
nftables Filtrage et règles de pare-feu
SSH 22 TCP Administration distante
NFS 2049 TCP/UDP Partages fichiers pour home directories

Exécuter apt install pour les paquets requis, puis dpkg-reconfigure slapd pour définir le domaine. Selon Wikipedia, OpenLDAP suit une structure hiérarchique adaptée aux organisations de taille diverse.

Configurer nftables, hôtes et comptes de service

Cette partie explique l’ouverture des ports et la création des comptes nécessaires au fonctionnement global. Modifier /etc/nftables.conf pour autoriser les flux LDAP et la boucle locale évite les refus d’accès lors des tests initiaux.

Autoriser le trafic LDAP et SSH et activer nftables pour appliquer les règles au démarrage du serveur. Ensuite associer le domaine à 127.0.0.1 dans /etc/hosts pour garantir la cohérence des certificats et des tests locaux.

Étapes principales :

  • Installer slapd et ldap-utils
  • Configurer nftables avec ports LDAP
  • Exécuter dpkg-reconfigure slapd
  • Vérifier /etc/hosts et redémarrer services

Ensuite : Sécuriser LDAP avec TLS et overlays utiles

Générer une autorité de certification et signer le serveur

Cette section montre comment créer une autorité locale et signer les certificats pour LDAPS. Installer OpenSSL et générer la clef CA puis signer la demande du serveur garantit des communications chiffrées.

A lire :  Automatiser des tâches système avec cron sous Debian

Créer les répertoires /etc/ssl/openldap, puis générer les clefs RSA et le certificat auto-signé. Selon le manuel d’administration Debian, l’utilisation de certificats, même auto-signés, renforce la confidentialité des échanges LDAP.

Paramètres SSL :

  • Chemin CA : /etc/ssl/openldap/certs/ca.crt
  • Clef serveur : /etc/ssl/openldap/private/openldap.key
  • Certificat serveur : openldap.crt
  • Propriété des fichiers : openldap:openldap

Commande But Remarques
openssl genrsa 4096 Générer clef privée 4096 bits pour meilleure sécurité
openssl req -new -x509 Créer certificat CA Durée recommandée 3650 jours
openssl req -new -key Créer CSR pour le serveur CN = nom de domaine du serveur
openssl x509 -req -CA Signer CSR Utiliser la CA locale pour signer
chown -R openldap Sécuriser permissions Éviter l’accès non autorisé

Appliquer la configuration TLS via un fichier SSL LDIF et exécuter ldapmodify avec ldapi:/// pour intégrer les chemins de certificats. Selon OpenLDAP Project, ces étapes activent LDAPS et évitent que les identifiants transitent en clair.

« Après l’activation de LDAPS, nos échanges LDAP ont été chiffrés et les erreurs d’authentification réseau ont diminué »

Antoine B.

Ajouter l’overlay memberOf et comptes en lecture seule

Cette partie montre l’ajout de l’overlay memberOf et la création d’un compte lecture seule pour services externes. L’overlay simplify les recherches d’appartenance et facilite l’intégration avec des applications comme GLPI ou Kolab.

Créer les fichiers LDIF pour memberof et anon, puis appliquer ldapmodify via ldapi:///. Cette méthode permet de définir des accès précis aux attributs sensibles comme userPassword sans exposer l’administrateur.

A lire :  Linux vs autres systèmes d'exploitation
  • Créer memberof.ldif puis l’overlay memberof
  • Créer lecture.ldif pour compte lecture seule
  • Appliquer via ldapadd et ldapmodify
  • Vérifier accès avec ldapwhoami

« J’ai défini un compte lecture seule pour DHCP et cela a sécurisé l’intégration des baux »

Sophie L.

Enfin : Peupler, intégrer clients et services associés

Peuplement de la base et scripts d’automatisation

Cette section explique les méthodes pour remplir l’annuaire via LDIF ou Python selon le besoin d’automatisation. Les deux approches permettent de créer OU, utilisateurs, groupes POSIX et groupOfNames pour compatibilité avec memberOf.

Utiliser slappasswd pour générer des mots de passe chiffrés et ldapadd pour insérer les entrées. Selon The Debian Administrator’s Handbook, migrationtools et scripts Python simplifient l’import depuis fichiers /etc/passwd et /etc/group.

Script d’exemple :

  • Peuplement via peuplement.ldif avec ldapadd
  • Automatisation via python3-ldap et modlist
  • Hachage des mots de passe avec slappasswd
  • Tests avec ldapsearch et getent

Objet DN exemple Classe d’objet
OU Utilisateurs ou=Utilisateurs,dc=mondomaine,dc=local organizationalUnit
Utilisateur Paul cn=pdubois,ou=Utilisateurs,dc=mondomaine,dc=local inetOrgPerson,posixAccount
Groupe admins cn=admins,ou=Groupes,dc=mondomaine,dc=local posixGroup
Groupe memberOf cn=monGroupe,ou=Groupes,dc=mondomaine,dc=local groupOfNames
DHCP service cn=dhcpServer,ou=Services,dc=mondomaine,dc=local dhcpServer

Lier ces objets à des services comme DHCP et NFS permet de centraliser la configuration et les baux dans l’annuaire. Par exemple, isc-dhcp-server-ldap peut lire les baux et configurations directement depuis LDAP.

« L’intégration LDAP avec nos clients a réduit les comptes locaux et simplifié la gestion des permissions »

Alexandre M.

Configurer les clients, CCREDS et services complémentaires

Cette sous-section aborde l’inscription des clients, le cache hors ligne avec CCREDS et l’intégration de services. Installer libpam-ldapd, libnss-ldapd et nscd permet l’authentification centralisée des postes clients.

Configurer /etc/nslcd.conf avec le binddn lecture et activer pam-auth-update pour créer les home directories permet un déploiement fluide. Selon diverses documentations, l’association avec Samba, Nextcloud ou FreeIPA facilite l’interopérabilité.

  • Installer libpam-ldapd et nscd sur les clients
  • Paramétrer binddn en lecture seule pour nslcd
  • Activer Create home directory on login via pam-auth-update
  • Tester avec getent passwd et getent group

« L’accès hors ligne via CCREDS a permis à nos portables de rester opérationnels plusieurs jours sans réseau »

Marine P.

Pour aller plus loin, intégrer GLPI pour l’inventaire et Kolab ou Zimbra pour la messagerie centralisée complète la plateforme. Cette stratégie place l’annuaire LDAP au cœur d’un écosystème d’outils coopératifs.

Source : Wikipedia, « LDAP » ; The Debian Administrator’s Handbook, « 11.7. Annuaire LDAP » ; OpenLDAP Project, « OpenLDAP Software ».

Laisser un commentaire