Openldap tutorial – Installation et configuration de base

« OpenLDAP tutorial », basée sur la pratique. La démarche de l’exposé se fait pas à pas en montrant tous les détails nécessaires au bon fonctionnement final. L’installation exposée comprend une configuration minimale pour un fonctionnement correcte. D’autres articles suivront pour améliorer l’installation sur différents aspects. Il est conseillé de suivre cette serie d’articles dans l’ordre.

  1. Cet article: Installation et configuration de base
  2. Modifier les paramètres par défaut
  3. Activer le Log OpenLDAP
  4. Accès à la configuration dynamique par l’administrateur
  5. Organisation et types de données
  6. Ajouter des données à l’annuaire
  7. Utilisation pour protéger l’accès à un site web
  8. OpenLDAP password policy – gérer les comptes des utilisateurs
Pré-requis: Aucun à propos du serveur OpenLDAP. There is an english version of this series of articles.

Openldap tutorial, étape 1: Configurer correctement l’hôte Debian / Ubuntu.

La procédure d’installation du serveur met en place systématiquement une base de données. Le DIT (équivalent de l’instance pour les bases de données relationnelles) est sélectionné en fonction du nom de domaine de la machine hôte.
hostname -f
Cette commande retourne le nom complet (full) de la machine. Exemple: desktop.meddeb.net. Dans ce cas la base de données aura pour DIT: dc=meddeb,dc=net (la partie droite du nom à partir du 1er point rencontré). Si la configuration ne vous convient pas, il faudrait la modifier (fichier /etc/hostname et /etc/hosts)

Openldap tutorial, étape 2: installer le serveur Openldap sur Debian / Ubuntu.

sudo apt-get purge slapd
sudo apt-get install slapd
La procédure d’installation se lance et demande le mot de passe de l’administrateur du serveur. openldap tutorial, openldap ubuntu, openldap debianEn plus des fichiers binaires exécutables, il est installé dans les dossiers:
  • /usr/lib/ldap/ : librairies des modules (overlay), fichiers binaires natifs
  • /etc/ldap/schema/ : Schémas disponibles par défaut, fichiers texte.
  • /etc/ldap/slap.d/ : Configuration dynamique, fichiers texte.
  • /var/lib/ldap/ : Données, fichiers de la base de données installée.
  • /var/run/slapd/ : Paramètres d’exécution, fichiers texte.

Openldap tutorial, étape 3: installer les utilitaires client de Openldap.

sudo apt-get install ldap-utils
Ceci installe les utilitaires clients Openldap, notamment l’utilitaire d’interrogation ldapsearch. Le fichier de configuration de ces utilitaires /etc/ldap/ldap.conf peut être très utile dans le mesure où il permet de fixer des paramètres par défaut. Cela simplifie l’interaction avec le serveur. Un contenu typique de ce fichier est:
BASE   dc=meddeb,dc=net
URI    ldap://localhost
SIZELIMIT      12
TIMELIMIT      15
DEREF          never
# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

Openldap tutorial, étape 4: Vérifier l’installation.

slapd -V ↵

@(#) $OpenLDAP: slapd  (Ubuntu) (May 11 2016 16:12:05) $
        buildd@lgw01-10:/build/openldap-mF7Kfq/openldap-2.4.42+dfsg/debian/build/servers/slap
La version du serveur installée est 2.4.42
ldapsearch -Y external  -H ldapi:/// -b cn=config "(objectClass=olcGlobal)" -LLL ↵
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcLogLevel: none
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
Ceci donne la partie globale de la configuration mise en place par défaut. On retrouve l’indication des deux fichiers des paramètres d’exécution dans le dossier /var/run/slapd/. On remarquera le paramètre olcLogLevel à none, à modifier impérativement.
sudo ldapsearch -Y external  -H ldapi:/// -b dc=meddeb,dc=net -LLL ↵

ASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: dc=meddeb,dc=net
objectClass: top
objectClass: dcObject
objectClass: organization
o: meddeb.net
dc: meddeb

dn: cn=admin,dc=meddeb,dc=net
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
Ceci donne les deux seules entrées créées dans l’annuaire par défaut:
  • dc=meddeb,dc=net, qui représente le DIT de l’annuaire.
  • cn=admin,dc=meddeb,dc=net, qui est l’administrateur de l’annuaire dont le mot de passe a été saisie au cours de l’installation.
]]>