Annuaire LDAP et Sécurisation LDAPS
Installation d'OpenLDAP sur Debian 13 et sécurisation via certificat auto-signé généré sur Windows AD
1. Informations Générales
- Serveur LDAP (Debian 13) :
10.192.194.101 - Contrôleur de Domaine (Windows) :
AD01.MPR-IF.infra - Service : OpenLDAP (
slapd) - Ports : 389 (LDAP) / 636 (LDAPS)
2. Pourquoi un certificat auto-signé n'est pas optimal ?
L'utilisation d'un certificat auto-signé est une solution fonctionnelle pour des tests ou un environnement isolé, mais elle présente des faiblesses critiques :
- Crédibilité nulle : C'est l'équivalent numérique de rédiger son propre diplôme. Aucune autorité tierce ne valide que le serveur est bien celui qu'il prétend être.
- Vulnérabilité MITM : Un attaquant peut facilement intercepter le trafic en présentant son propre certificat auto-signé. Comme le client est déjà configuré pour ignorer les erreurs de signature, l'attaque passe inaperçue.
- Maintenance manuelle : Il faut modifier la configuration de chaque client (comme le fichier
ldap.confde GLPI) pour forcer l'acceptation du certificat, ce qui est fastidieux à grande échelle. - Expiration : Sans infrastructure PKI, la gestion du renouvellement est purement manuelle et risque de briser les services lors de l'expiration.
3. Génération du certificat sur Windows (PowerShell)
Pour créer le certificat auto-signé avec une validité de 5 ans sur votre serveur AD, la commande suivante a été exécutée :
New-SelfSignedCertificate -DnsName "AD01.MPR-IF.infra" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(5)
Ce certificat doit être exporté (avec sa clé privée) pour être injecté sur le serveur Debian.
4. Configuration d'OpenLDAP (LDAPS)
4.1 Activation du chiffrement (LDIF)
Une fois les fichiers positionnés dans /etc/ldap/sasl2/tls/, créez le fichier activate_ldaps.ldif :
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/sasl2/tls/server.crt
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/sasl2/tls/server.key
Appliquez la configuration :
ldapmodify -Y EXTERNAL -H ldapi:/// -f activate_ldaps.ldif
4.2 Activation du port 636
Dans /etc/default/slapd :
SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"
Redémarrer le service :
systemctl restart slapd
5. Liaison avec GLPI
Dans l'interface GLPI (Configuration > Authentification > Annuaires LDAP), les paramètres suivants doivent être renseignés :
| Champ | Valeur |
|---|---|
| Nom | Annuaire MPR-IF |
| Serveur | ldaps://10.192.194.101 |
| Port | 636 |
| BaseDN | dc=mpr-if,dc=infra |
| DN racine (Bind DN) | cn=admin,dc=mpr-if,dc=infra |
| Champ de l'identifiant | uid |
5.1 Forcer l'acceptation du certificat
Pour que GLPI accepte le certificat auto-signé, modifiez le fichier /etc/ldap/ldap.conf sur le serveur GLPI :
| Paramètre | Valeur |
|---|---|
| TLS_REQCERT | allow |
Puis redémarrez le serveur web :
systemctl restart apache2
6. Vérification
Pour tester la connexion sécurisée depuis la Debian :
LDAPTLS_REQCERT=never ldapsearch -x -H ldaps://10.192.194.101:636 -b "dc=mpr-if,dc=infra"