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 :
- 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.
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.
- 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 ».