Installation d’OpenLDAP
De la même façon que NIS, c’est un Active Directory donc nous aurons besoin d’une machine serveur et d’une machine cliente, pour cela nous aurons deux machines (virtualisées) Debian 12 Standard
Machine Hôte (Debian 12)
Faire les mises à jour et installer l’applicatif OpenLDAP
apt update && apt upgrade -y apt install slapd ldap-utils ufw -y
PS : On installe UFW pour le pare-feu (optionnel)
Ajoutez ces lignes dans le fichier /etc/hosts en modifiant les valeurs entre crochets (enlevez les crochets)
nano /etc/hosts 127.0.1.1 [Hostname]
[Adresse IP du serveur LDAP] [Hostname].[FQDN] [Hostname] [FQDN]
Configurez le pare-feu en utilisant UFW (optionnel)
ufw allow port 389/tcp ufw allow port 636/tcp Utilisation de dpkg-reconfigure sladp pour configurer le serveur LDAP et sa base de données
dpkg-reconfigure sladp Répondez « Non » à « Voulez-vous omettre la configuration d’OpenLDAP ? »
Nom de domaine DNS : servldap.fr [FQDN]
Nom d’organisation : servldap [FQDN sans alias]
Mot de passe administrateur : [Choisissez un mot de passe fort]
Moteur de base de données : MDB
Supprimer la base lors de la purge : Oui
Déplacer l’ancienne base de données : Oui
Pour vérifier la configuration, utilisez slapcat
slapcat Créez le dossier /etc/ldap/changes
mkdir /etc/ldap/changes Générez un mot de passe hashé, puis copiez-le dans la configuration qui suit
slappasswd -s [Mot de passe] Créez le fichier /etc/ldap/changes/update_config.ldif
Ce fichier permet de contrer les erreurs lors de la connexion au user Admin
Ajoutez ensuite les lignes suivantes :
nano /etc/ldap/changes/update_config.ldif dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=servldap,dc=fr
-
replace: olcRootDN
olcRootDN: cn=admin,dc=servldap,dc=fr
-
replace: olcRootPW
olcRootPW: {SSHA}[Mot de passe hashé précédemment] Appliquez les changements
ldapmodify -Y EXTERNAL -H ldapi:/// -f update_config.ldif Créer une Unité Organisationnelle en créant le fichier /etc/ldap/changes/add_ou.ldif
touch /etc/ldap/changes/add_ou.ldif Permission sur le fichier add_ou.ldif
chmod 644 /etc/ldap/changes/add_ou.ldif Ajoutez ces lignes dans le fichier /etc/ldap/changes/add_ou.ldif
dn: ou=users,dc=servldap,dc=fr
objectClass: organizationalUnit
ou: users Ajouter l’Unité Organisationnelle à l’annuaire LDAP
ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_ou.ldif Créer le fichier de configuration qui permet de changer l’ID du Serveur LDAP nommé /etc/ldap/changes/update_serverID.ldif :
nano /etc/ldap/changes/update_serverID.ldif Ajoutez ceci
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 0 ServeurLDAP.servldap.fr Sauvegardez la configuration dans la base de données LDAP
ldapmodify -Y EXTERNAL -H ldapi:/// -f update_serverID.ldif Définition des bases de la configuration LDAP, qui permet de structurer l’annuaire et de renseigner les informations nécessaires à son fonctionnement
nano /etc/ldap/changes/add_base.ldif Ajoutez ces lignes, et modifiez-les à souhait
dn: dc=servldap,dc=fr
objectClass: top
objectClass: dcObject
objectClass: organization
o: ServeurLDAP
dc: servldap
Ajoutez cette base à la configuration LDAP
ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_base.ldif Machine Cliente (Debian 12)
Mettre à jour et installez les paquets LDAP
apt update && apt upgrade -y apt install ldap-utils Éditez le fichier de configuration /etc/ldap/ldap.conf
nano /etc/ldap/ldap.conf Modifiez ceci à votre guise et suivant vos besoins
URI ldap://ServeurLDAP.servldap.fr
BASE dc=servldap,dc=fr Tester la connectivité avec le Serveur LDAP
ldapsearch -x -b "dc=servldap,dc=fr" Pour se connecter à un compte spécifique, on peut renseigner dans le fichier /etc/ldap/ldap.conf ceci :
BINDDN cn=admin,dc=servldap,dc=fr
BINDPW votre_mot_de_passe_admin BINDDN uid=jdupont,ou=users,dc=servldap,dc=fr
BINDPW mot_de_passe_jdupont Pour se connecter sur l’Utilisateur, utilisez la commande ldapwhoami
ldapwhoami -x -D "cn=admin,dc=servldap,dc=fr" -W ldapwhoami -x -D "uid=jdupont,ou=users,dc=servldap,dc=fr" -W Création d’Utilisateurs et de Groupes
Utilisateur :
Pour créer un utilisateur il faut créer un fichier dans /etc/ldap/changes nommé add_user.ldif
nano /etc/ldap/changes/add_user.ldif Incorporez ces lignes dans le fichier, puis modifiez le hash du mot de passe, en copiant le hash généré par le mot de passe souhaité une nouvelle fois avec slappasswd
slappasswd -s [Mot de passe] dn: uid=ebaron,ou=users,dc=servldap,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Erwann Baron #Prénom et nom
sn: Baron #Nom
givenName: Erwann #Prénom
uid: jdupont #Username
uidNumber: 10000 #ID de l'Utilisateur
gidNumber: 10000 #Groupe ID
homeDirectory: /home/ebaron
loginShell: /bin/bash
userPassword: {SSHA}E8rboh823CDLQ23TC47ce1PCMU6sfe4o
Enregistrez la règle dans l’annuaire LDAP
ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_user.ldif Créez le fichier de configuration de groupe du nom de /etc/ldap/changes/add_group.ldif
nano /etc/ldap/changes/add_group.ldif Ajoutez ce code et modifiez le à votre sauce
dn: cn=sio,ou=groups,dc=servldap,dc=fr
objectClass: posixGroup
cn: sio #Group Name
gidNumber: 10000 #Groupe ID Enregistrez le groupe dans la base données LDAP
ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f add_group.ldif Vérifiez l’accès au groupe
ldapsearch -x -b "ou=groups,dc=servldap,dc=fr" -s sub "cn=developers" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.