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.

SUIVEZ MOI

Retour en haut