0% ont trouvé ce document utile (0 vote)
8 vues5 pages

Guide complet sur OpenLDAP : Serveur et Client

Transféré par

katchao878
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues5 pages

Guide complet sur OpenLDAP : Serveur et Client

Transféré par

katchao878
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Cours OpenLDAP – Serveur et Client

Présentation du logiciel

OpenLDAP est une implémentation open source du protocole LDAP (Lightweight Directory
Access Protocol), un standard utilisé pour organiser, stocker et interroger des informations
dans un annuaire centralisé. Il est diffusé sous licence "OpenLDAP Public License"

Maintenu par la Fondation OpenLDAP, ce projet regroupe un ensemble complet d’outils


appelé “suite OpenLDAP”, comprenant des démons (slapd), des bibliothèques (libldap), des
applications clientes (ldapsearch, ldapadd, ldapmodify), ainsi que divers utilitaires
d’administration tels que slapcat ou slapauth.

La première version d'OpenLDAP (1.0) sort en août 1998. Il faudra attendre août 2000 pour
que la version 2.0 ne voie le jour, offrant le support de LDAP v3. La version stable actuelle
est la version 2.6.10, sortie le 22 May 2025.

Dans une architecture OpenLDAP, les clients envoient des requêtes au serveur LDAP, qui
leur fournit les données nécessaires, comme l’authentification des utilisateurs, la localisation
de ressources ou la gestion des identités.

PARTIE 1 — Concepts (serveur & client)


1.1. Qu’est-ce qu’un serveur LDAP ?

Le serveur LDAP contient :

 la base d’annuaire (utilisateurs, groupes, OU)


 la configuration du serveur (schémas, ACL, TLS…)
 le service slapd qui écoute sur les ports :
o 389 (LDAP)
o 636 (LDAPS)

1.2. Qu’est-ce qu’un client LDAP ?

Un client LDAP, c’est :

 une machine (Linux, poste de travail, application, serveur)


 qui interroge l’annuaire pour :
o authentifier un utilisateur
o lire des informations
o vérifier un groupe

Un client peut être :

 ldap-utils
 PAM / NSS (authentification Linux via LDAP)
 une application web
 phpLDAPadmin

1.3. LDIF (format indispensable)

LDIF = LDAP Data Interchange Format


Un fichier texte qui décrit une entrée ou une modification.

Exemple mini :

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

On applique avec :

ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f [Link]


1.4. Les schémas LDAP (ajout pédagogique)

Un schéma LDAP définit les règles de l’annuaire :

 Quels objets peuvent exister (user, group, ou)


 Quels attributs chaque objet peut avoir (cn, sn, mail, uid)
 Les attributs obligatoires ou optionnels

Exemple concret : objet “Utilisateur”

 objectClass: inetOrgPerson
 Attributs obligatoires : cn, sn
 Attributs optionnels : mail, telephoneNumber, uid, userPassword

Sans schéma, OpenLDAP ne permettrait que les objets très basiques et ne reconnaîtrait pas les
attributs personnalisés.

PARTIE 2 — Configuration du SERVEUR OpenLDAP


2.1 Installer OpenLDAP (serveur)

Installation d’OpenLDAP (Debian/Ubuntu)


On peut installer OpenLDAP soit depuis les paquets de la distribution, soit en compilant les
sources. L’installation via paquets est préférée car elle simplifie la maintenance.
Les outils serveur et client sont fournis séparément, donc on installe les deux. Sur
Debian/Ubuntu, les paquets nécessaires sont slapd (serveur) et ldap-utils (clients).

Commandes à exécuter :

sudo apt update


sudo apt install slapd ldap-utils
sudo dpkg-reconfigure slapd

Configurer :

 Domaine : [Link]
 Base DN : dc=example,dc=com
 Admin DN : cn=admin,dc=example,dc=com
 Mot de passe admin

2.2 Ajouter les schémas (serveur)


sudo ldapadd -Y EXTERNAL -H ldapi:/// \
-f /etc/ldap/schema/[Link]

Ici, on ajoute un schéma standard qui permet de créer des utilisateurs avec des attributs
comme cn, sn, mail, etc.

2.3 Créer la structure de l’annuaire (serveur)

Créer ou=People :
[Link] :

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f [Link]

Créer ou=Groups pareil.

2.4 Ajouter des utilisateurs (serveur)

[Link] :

dn: uid=john,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
cn: John Doe
sn: Doe
mail: john@[Link]
userPassword: motdepasse
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f [Link]
2.5 Ajouter des groupes (serveur)

[Link] :
dn: cn=Admins,ou=Groups,dc=example,dc=com
objectClass: groupOfNames
cn: Admins
member: uid=john,ou=People,dc=example,dc=com
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f [Link]
2.6 Configurer les ACL (serveur)

[Link] :

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: to attrs=userPassword
by self write
by dn="cn=admin,dc=example,dc=com" write
by anonymous auth
by * none
olcAccess: to *
by self read
by dn="cn=admin,dc=example,dc=com" write
by * read
ldapmodify -Y EXTERNAL -H ldapi:/// -f [Link]
2.7 Activer TLS (serveur)

Générer certificat :

sudo openssl req -new -x509 -nodes \


-out /etc/ssl/ldap/[Link] \
-keyout /etc/ssl/ldap/[Link] -days 365

[Link] :

dn: cn=config
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/ldap/[Link]
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/ldap/[Link]
ldapmodify -Y EXTERNAL -H ldapi:/// -f [Link]

PARTIE 3 — Configuration du CLIENT LDAP


3.1 Installer les utilitaires LDAP (client)
sudo apt install ldap-utils
3.2 Configurer /etc/ldap/[Link] (client)
URI ldap://IP_DU_SERVEUR
BASE dc=example,dc=com

Si TLS activé :

URI ldaps://IP_DU_SERVEUR
TLS_CACERT /etc/ssl/certs/[Link]
3.3 Tester depuis le client

Test simple :

ldapsearch -x -b dc=example,dc=com

Test authentification :

ldapsearch -x -D "cn=admin,dc=example,dc=com" -W -b dc=example,dc=com

Test TLS :

ldapsearch -H ldaps://IP -x -b dc=example,dc=com

PARTIE 4 — Authentification Linux via LDAP (option


client avancée)
Sur client :

sudo apt install libnss-ldap libpam-ldap nscd

Configurer :

 serveur LDAP
 Base DN
 Compte admin si bind

Ensuite activer LDAP dans NSS :


/etc/[Link] :

passwd: files ldap


group: files ldap
shadow: files ldap

✅ Ajout pédagogique sur les schémas


 Un schéma LDAP définit les types d’objets et attributs autorisés.
 Exemple concret : l’objet inetOrgPerson pour un utilisateur.
o Obligatoire : cn, sn
o Optionnel : mail, telephoneNumber, uid, userPassword
 Sans schéma, OpenLDAP n’accepterait que les objets très basiques.
 Chaque entrée dans l’annuaire doit respecter le schéma défini.

Vous aimerez peut-être aussi