Comment configurer le serveur OpenLDAP sur Debian 11

Dans ce tutoriel, nous allons voir comment installer et configurer le serveur OpenLDAP sur Debian 11. Nous installerons également l’outil de gestion en ligne LDAP Account Manager.

Qu’est-ce qu’OpenLDAP

OpenLDAP est un serveur d’annuaire rapide et open-source qui fournit aux clients du réseau des services d’annuaire. Les applications clientes se connectent au serveur OpenLDAP en utilisant le protocole LDAP (Lightweight Directory Access Protocol) pour accéder aux informations organisationnelles stockées sur ce serveur. Avec l’accès approprié, les clients peuvent rechercher dans l’annuaire, modifier et manipuler les enregistrements de l’annuaire. OpenLDAP est efficace à la fois pour lire et modifier les données de l’annuaire.

Les serveurs OpenLDAP sont le plus souvent utilisés pour fournir une gestion centralisée des comptes utilisateurs. Par exemple, vous pouvez créer un compte dans OpenLDAP et s’il est connecté à un serveur de messagerie, un serveur FTP, un serveur Samba ou tout autre serveur, vous pouvez utiliser ce compte pour vous connecter à ces serveurs sans créer un nouveau compte pour chaque serveur.

OpenLDAP est considéré comme léger par rapport au service d’annuaire X.500. LDAP v3 ne comporte que 9 opérations de base et offre un modèle plus simple pour les programmeurs et les administrateurs.

Étape 1 : Installer le serveur OpenLDAP sur Debian 11

Exécutez la commande suivante pour installer le serveur OpenLDAP et les utilitaires de ligne de commande du client à partir du dépôt de paquets de Debian 11. slapd signifie Stand-Alone LDAP Daemon.

sudo apt install slapd ldap-utils

Il vous sera demandé de définir un mot de passe pour l’entrée admin dans l’annuaire LDAP.

openldap ubuntu

  • Nom de domaine DNS: Entrez votre nom de domaine comme linuxbabe.com. Vous devrez définir un enregistrement A correct pour votre nom de domaine. Vous pouvez également utiliser un sous-domaine comme directory.linuxbabe.com. Ces informations sont utilisées pour créer le DN de base (distinguished name) du répertoire LDAP.

install openldap ubuntu

  • Nom de l’organisation: Entrez le nom de votre organisation comme LinuxBabe.

ldap server configuration in ubuntu 16.04 step by step

  • Mot de passe administrateur: Entrez le même mot de passe que celui défini lors de l’installation.

openldap server ubuntu 16.04

  • Base de données à utiliser : MDB.
  • BDB (Berkeley Database) est lent et encombrant. Elle est dépréciée et son support sera abandonné dans les futures versions d’OpenLDAP.
  • HDB (Hierarchical Database) est une variante du backend BDB et sera également déprécié.
  • Les lecturesMDB sont 5-20x plus rapides que BDB. Les écritures sont 2 à 5 fois plus rapides. Et elle consomme 1/4 de la RAM de BDB. Nous choisissons donc MDB comme backend de la base de données.

openldap mdb

  • Voulez-vous que la base de données soit supprimée lorsque Slapd est purgé ? Non.

install openldap server on ubuntu 16.04 LTS

  • Déplacer l’ancienne base de données ? Oui.

openldap server configuration

  • Autoriser le protocole LDAPv2 ? Non. La dernière version de LDAP est LDAP v.3, développée en 1997. LDAPv2 est obsolète.

install ldap ubuntu

Le processus va maintenant reconfigurer le service OpenLDAP en fonction de vos réponses. Votre serveur OpenLDAP est maintenant prêt à être utilisé.

openldap debian configuration

Si vous avez fait une erreur, vous pouvez toujours exécuter à nouveau la commande sudo dpkg-reconfigure slapd pour reconfigurer OpenLDAP.

Étape 3 : Configuration des clients LDAP

/etc/ldap/ldap.conf est le fichier de configuration de tous les clients OpenLDAP. Ouvrez ce fichier.

sudo nano /etc/ldap/ldap.conf

Nous devons spécifier deux paramètres : le DN de base et l’URI de notre serveur OpenLDAP. Copiez et collez le texte suivant à la fin du fichier. Remplacez votre-domaine et com comme il se doit.

BASE dc=votre-domaine,dc=comURI ldap://localhost

La première ligne définit le DN de base. Elle indique aux programmes clients où commencer leur recherche dans le répertoire. Si vous avez utilisé un sous-domaine lors de la configuration du serveur OpenLDAP, alors vous devez ajouter le sous-domaine ici comme suit

BASE dc=sous-domaine,dc=votre-domaine,dc=com

La deuxième ligne définit l’URI de notre serveur OpenLDAP. Puisque le serveur et le client LDAP sont sur la même machine, nous devons définir l’URI à ldap://localhost. Vous pouvez ajouter plusieurs URI plus tard si le besoin s’en fait sentir.

Enregistrez et fermez le fichier.

Étape 4 : Test du serveur OpenLDAP

Maintenant que le serveur OpenLDAP fonctionne et que la configuration du client est terminée, exécutez la commande suivante pour effectuer des connexions de test au serveur.

ldapsearch -x

Sortie :

# extended LDIF## LDAPv3# base  (default) with scope subtree# filter : (objectclass=*)# requesting : ALL## linuxbabe.comdn : dc=linuxbabe,dc=comobjectClass : topobjectClass : dcObjectClass : organizationo : LinuxBabedc : linuxbabe# admin, linuxbabe.comdn : cn=admin,dc=linuxbabe,dc=comobjectClass : simpleSecurityObjectClass : organizationalRolecn : admindescription : Administrateur LDAP# résultats de la recherchesearch : 2résultat: 0 Succès# numResponses : 3# numEntries : 2

Lerésultat : 0 Success indique que le serveur OpenLDAP fonctionne. Si vous obtenez la ligne suivante, alors il ne fonctionne pas.

résultat : 32 No such object

Étape 5 : Installation de LDAP Account Manager

LDAP Account Manager est un programme basé sur le web pour gérer le serveur OpenLDAP. Les utilitaires de ligne de commande peuvent être utilisés pour gérer notre serveur OpenLDAP, mais pour ceux qui veulent une interface facile à utiliser, vous pouvez installer LDAP Account Manager.

Exécutez la commande suivante pour installer LDAP Account Manager à partir du dépôt de paquets Debian.

sudo apt install ldap-account-manager

Si votre serveur Debian n’a pas de serveur web, la commande ci-dessus installera le serveur web Apache en tant que dépendance. S’il existe déjà un serveur web tel que Nginx, Apache ne sera pas installé.

Étape 6 : Installation des modules PHP requis et recommandés

Exécutez la commande suivante pour installer les modules PHP requis ou recommandés par le gestionnaire de comptes LDAP.

sudo apt install php7.4-fpm php7.4-imap php7.4-mbstring php7.4-mysql php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-bz2 php7.4-intl php7.4-gmp php7.4-redis

Étape 7 : Créer un hôte virtuel pour le gestionnaire de comptes LDAP

Apache

Si vous utilisez le serveur web Apache, créez un hôte virtuel pour LDAP Account Manager.

sudo nano /etc/apache2/sites-available/ldap-account-manager.conf

Mettez le texte suivant dans le fichier. Remplacez openldap.example.com par votre vrai nom de domaine et n’oubliez pas de définir un enregistrement DNS A pour celui-ci.

 ServerName openldap.example.com DocumentRoot /usr/share/ldap-account-manager ErrorLog ${APACHE_LOG_DIR}/ldap-account-manager_error.log CustomLog ${APACHE_LOG_DIR}/ldap-account-manager_access.log combiné Alias /lam /usr/share/ldap-account-manager  Options FollowSymLinks AllowOverride All Require all granted DirectoryIndex index.html   Options -Indexes   Options -Index Requiert tous les refusés   Options -Index Requiert tous les refusés   Options -Index Require all denied   Options -Indexes Require all denied   Options -Index Require all denied   Options -Index Require all denied 

Enregistrez et fermez le fichier. Puis activez cet hôte virtuel avec :

sudo a2ensite ldap-account-manager.conf

Rechargez Apache pour que les modifications soient prises en compte.

sudo systemctl reload apache2

Vous devriez maintenant pouvoir accéder à l’interface web du gestionnaire de comptes LDAP à l’adresse http://openldap.example.com.

Nginx

Si vous utilisez le serveur web Nginx, créez un hôte virtuel pour LDAP Account Manager.

sudo nano /etc/nginx/conf.d/ldap-account-manager.conf

Copiez le texte suivant et collez-le dans le fichier. Remplacez ldap.votre-domaine.com par votre nom de domaine préféré.

server { listen 80 ; server_name openldap.your-domain.com; root /usr/share/ldap-account-manager/ ; index index.php index.html index.htm ; error_log /var/log/nginx/ldap-account-manager.error ; access_log /var/log/nginx/ldap-account-manager.access ; location ~ \N.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name ; include fastcgi_params ; }}

Sauvegardez et fermez le fichier. Ensuite, configurez Nginx en texte.

sudo nginx -t

Si le test est réussi, rechargez Nginx pour que les changements prennent effet.

sudo systemctl reload nginx

Vous pouvez maintenant accéder à l’interface web du gestionnaire de compte LDAP à l’adresse openldap.example.com.

Étape 8 : Activation de HTTPS

Pour crypter le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Debian.

sudo apt install certbot

Si vous utilisez Apache, installez le plugin Apache Certbot.

sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email
sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email

  • --nginx: Utiliser le plugin nginx.
  • --apache: Utilise le plugin Apache.
  • --agree-tos: Accepter les conditions de service.
  • --redirect: Force HTTPS par redirection 301.
  • --hsts: Ajouter l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Se défend contre le dépouillement SSL/TLS.
  • --staple-ocsp: Active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur offre pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement, ce qui est indiqué par le message ci-dessous.

openldap account manager https

Étape 9 : Accès à l'interface Web de LDAP Account Manager

Nous pouvons maintenant tester l'outil LDAP Account Manager avec notre navigateur Web. Lorsque LDAP Account Manager se charge pour la première fois, il vous redirige vers la page de connexion.

ldap account manager login page

Avant de se connecter, nous devons configurer le profil du serveur. Cliquez sur le lien de configuration de LAM dans le coin supérieur droit, puis sélectionnez Edit server profiles.

ldap account manager edit server profiles

Saisissez le mot de passe du profil, qui est lam par défaut.

Dans l'onglet " Paramètres généraux ", vous trouverez le suffixe de l'arbre, qui est dc=votredomaine,dc=org par défaut. Vous devez le changer pour votre propre DN de base (nom distingué). Dans mon cas, je dois le changer en dc=linuxbabe,dc=com.

ldap account manager tree suffix

Faites défiler la page jusqu'à la section Paramètres de sécurité, vous y trouverez la liste des utilisateurs valides. Par défaut, il n'y a qu'un seul utilisateur : cn=Manager,dc=my-domain,dc=com. Ceci est connu comme le DN de connexion. Changez le nom commun(cn) en admin et changez également le DN de base. Dans mon cas, je dois changer le DN de connexion en cn=admin,dc=linuxbabe,dc=com.

ldap account manager login dn

C'est aussi une bonne idée de changer le mot de passe par défaut du profil.

Ensuite, faites défiler vers le haut et sélectionnez l'onglet Types de comptes. Vous trouverez le suffixe LDAP pour les utilisateurs et les groupes. Modifiez-les.

  • ou=People,dc=linuxbabe,dc=com
  • ou=groupe,dc=linuxbabe,dc=com

LDAP suffix

Enfin, cliquez sur le bouton Enregistrer et vous serez redirigé vers la page de connexion. Vous pourrez vous connecter en utilisant le compte administrateur.

ldap account manager admin login

Le mot de passe est le mot de passe administrateur que vous avez défini lors de la configuration du serveur OpenLDAP à l'étape 2. Une fois que vous vous êtes connecté à LDAP Account Manager, vous pouvez gérer ce serveur d'annuaire.

ldap account manager openldap admin

Il est également très important de changer le mot de passe maître par défaut. Déconnectez-vous du gestionnaire de compte LDAP, puis sélectionnez Configuration LAM -> Modifier les paramètres généraux. Utilisez le mot de passe principal par défaut lam pour vous connecter, puis faites défiler vers le bas et modifiez le mot de passe principal.

Conclusion

C'est tout ! J'espère que ce tutoriel vous a aidé à installer et à configurer le serveur OpenLDAP et le gestionnaire de comptes LDAP sur Debian 11. Dans le prochain tutoriel, nous verrons comment configurer Debian pour authentifier les connexions des utilisateurs avec OpenLDAP.

Scroll to Top