Introduction
OpenLDAP est un annuaire informatique qui fonctionne sur le modèle client/serveur. Il contient des informations de n'importe quelle nature qui sont rangées de manière hiérarchique. Pour bien comprendre le concept, il est souvent comparé aux pages jaunes, où le lecteur recherche un numéro de téléphone particulier : il va d'abord sélectionner la profession, puis la ville, puis le nom de l'entrée pour trouver finalement le numéro de téléphone. En pratique, dans un réseau informatique, il est utilisé pour enregistrer une grande quantité d'utilisateurs ou de services, parfois des centaines de milliers. Il permet d'organiser hiérarchiquement les utilisateurs par département, par lieu géographique ou par n'importe quel autre critère. C'est une alternative libre à Microsoft Active Directory.
Source : OpenLDAP — Wikipédia (wikipedia.org)
FusionDirectory est une application web qui permet la gestion des infrastructures et le déploiement des systèmes. Son but est de faciliter le travail de l’administrateur système indépendamment de la taille et de la variété du parc à gérer.
Dans cet article, je vais présenter l'installation et la configuration initiale d'OpenLDAP avec FusionDirectory sur un même serveur Debian 10 fraîchement installé avec les outils de base.
Prérequis
-
Un serveur Debian 10 fraîchement installé et à jour.
-
Une adresse IP statique doit être configuré sur le serveur.
-
Le nom d'hôte du serveur doit être le FQDN futur dans l'annuaire ldap.
Vérifier les fichiers
/etc/hostname
et/etc/hosts
.# Exemple d'un fichier /etc/hostname srv-ldap.domaine.local
# Exemple d'un fichier /etc/hosts 127.0.0.1 localhost 127.0.1.1 srv-ldap 192.168.1.10 srv-ldap.domaine.local srv-ldap
Installation
OpenLDAP
-
Installer les paquets nécessaires :
sudo apt install slapd ldap-utils
-
Saisir le mot de passe souhaité pour le compte
admin
de l'annuaire : -
Saisir une seconde fois le mot de passe pour confirmer.
-
Vérifier l'installation d'OpenLDAP :
sudo slapcat
-
Voici le retour attendu :
dn: dc=domaine,dc=local objectClass: top objectClass: dcObject objectClass: organization o: domaine.local dc: domaine structuralObjectClass: organization entryUUID: a91714fa-d1a0-103b-9752-7ba3681b6a0b creatorsName: cn=admin,dc=domaine,dc=local createTimestamp: 20211104095226Z entryCSN: 20211104095226.276305Z#000000#000#000000 modifiersName: cn=admin,dc=domaine,dc=local modifyTimestamp: 20211104095226Z dn: cn=admin,dc=domaine,dc=local objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e1NTSEF9bHRGR2hnUTNCMTdLcWlUSTI1UVU2TjI2d3U4dmhydWc= structuralObjectClass: organizationalRole entryUUID: a9175640-d1a0-103b-9753-7ba3681b6a0b creatorsName: cn=admin,dc=domaine,dc=local createTimestamp: 20211104095226Z entryCSN: 20211104095226.278012Z#000000#000#000000 modifiersName: cn=admin,dc=domaine,dc=local modifyTimestamp: 20211104095226Z
La configuration du schéma de l'annuaire sera faites à travers FusionDirectory.
FusionDirectory
-
Récupérer et ajouter la clef GPG officielle de FusionDirectory :
wget https://public.fusiondirectory.org/FD-archive-key sudo apt install -y gnupg2 && sudo apt-key add FD-archive-key
-
Ajouter le repository de fusiondirectory pour debian :
sudo cat > /etc/apt/sources.list.d/fusiondirectory-release.list << 'EOL' #fusiondirectory repository deb https://public.fusiondirectory.org/stretch-fusiondirectory-release/ stretch main EOL
-
Ajouter le repository de schema2ldif pour debian :
sudo cat > /etc/apt/sources.list.d/schema2ldif-release.list << 'EOL' #latest version of schema2ldif deb https://public.fusiondirectory.org/stretch-schema2ldif-release/ stretch main EOL
-
Mettre à jour la liste des paquets :
sudo apt update
-
Les repositories étant en https, installer le paquet
apt-transport-https
:sudo apt install apt-transport-https
-
Installer les paquets pour FusionDirectory :
sudo apt install fusiondirectory fusiondirectory-schema
Apache2 sera déployé en même temps. Il est possible de se reposer sur un autre serveur web mais cela ne sera pas abordé ici.
-
Installer les paquets manquant pour PHP :
sudo apt install php-xml
-
Installer les schémas FusionDirectory dans la base LDAP :
sudo fusiondirectory-insert-schema
-
Redémarrer Apache2 :
sudo systemctl restart apache2.service
Configuration
-
Se connecter à la WebUI de FusionDirectory : http://srv-ldap.domaine.local/fusiondirectory/
-
Pour accéder au serveur, il est nécessaire de mettre un token dans un fichier. Celui-ci est indiquer sur la WebUI :
-
Copier / Coller la commande avant de cliquer sur Suivant :
sudo echo -n cm5ch69brdj9jdm8uejjrfans0 > /var/cache/fusiondirectory/fusiondirectory.auth
-
Configurer la langue :
-
Vérifier que l'installation soit entièrement en vert avant de continuer :
-
Vérifier les informations de connexion au serveur LDAP et saisir le mot de passe du compte
admin
de l'annuaire spécifié lors de l'installation d'OpenLDAP plus haut : -
Régler le fuseau horaire :
La configuration par défaut est conservé dans cette procédure. Il est bien évidement possible de la modifier plus tard pour par définir une politique de sécurité des mots de passes par exemple.
-
Une inspection LDAP est effectuée et propose plusieurs actions afin d'être pleinement compatible avec FusionDirectory. Effectuer les actions nécessaires :
-
Télécharger le fichier de configuration :
-
Placer ce fichier
fusiondirectory.conf
dans le répertoire du serveur/etc/fusiondirectory/
. -
Vérifier la configuration de FusionDirectory :
sudo fusiondirectory-setup --check-config
-
Une erreur est détectée. Répondre
Yes
afin de corriger les permissions du fichier de configuration de fusion :Checking FusionDirectory's config file /etc/fusiondirectory/fusiondirectory.conf exists… /etc/fusiondirectory/fusiondirectory.conf is not set properly, do you want to fix it ?: [Yes/No]? Yes
-
OpenLDAP et FusionDirectory sont fonctionnels :
Attribut mail
Par défaut, il n'y pas d'attribut mail sur un utilisateur. Cependant, il est possible de l'ajouter.
-
Installer les paquets nécessaires :
sudo apt install fusiondirectory-plugin-mail fusiondirectory-plugin-mail-schema
-
Modifier le schéma de l'annuaire afin de faire apparaitre l'attribut mail :
sudo fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/mail-fd.schema
-
Il est désormais possible de spécifier une adresse mail pour les utilisateurs :
1 commentaire pour l’instant