Installer un serveur openldap
Introduction
Aujourd’hui nous allons installer un serveur openldap sur un serveur debian.
Cette procédure a été testée sur les distributions suivantes :
- squeeze (arm)
- wheezy (arm)
- jessie (arm)
Les sources sont accessibles ici :
Setting up an LDAP server with OpenLDAP
Configuring OpenLDAP with SSL/TLS on Debian
Installation et configuration de base
On installe le paquet debian correspondant au serveur openldap :
aptitude install slapd
Il est toujours possible de reconfigurer le serveur en éxecutant la commande suivante :
dpkg-reconfigure slapd
Mot de passe administrateur
étape n°1 de l'assistant d'installation OpenLdap étape n°1 de l’assistant d’installation OpenLdap
Stockage des données
Par défaut la base de données correspondant à l’arbre LDAP est créée dans :
/var/lib/ldap
Installation des utilitaires LDAP
On installe le paquet debian correspondant aux utilitaires de configuration du serveur OpenLdap :
aptitude install ldap-utils
Modification de l’index
Dans un premier temps, il convient de modifier les index par défaut. Pour ce faire, nous allons créer le fichier ldif suivant :
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: cn pres,sub,eq
-
add: olcDbIndex
olcDbIndex: sn pres,sub,eq
-
add: olcDbIndex
olcDbIndex: uid pres,sub,eq
-
add: olcDbIndex
olcDbIndex: displayName pres,sub,eq
-
add: olcDbIndex
olcDbIndex: default sub
-
add: olcDbIndex
olcDbIndex: uidNumber eq
-
add: olcDbIndex
olcDbIndex: gidNumber eq
-
add: olcDbIndex
olcDbIndex: mail,givenName eq,subinitial
-
add: olcDbIndex
olcDbIndex: dc eq
que nous chargerons à l’aide de la commande suivante :
ldapmodify -Y EXTERNAL -H ldapi:/// -f ./fichier.ldif
Droits d’accès
Ensuite nous souhaitons autoriser les utilisateurs à modifier la valeur des attributs loginshell et gecos de leur propre compte. Pour ce faire, nous allons créer le fichier ldif suivant :
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {1}to attrs=loginShell,gecos
by dn="cn=admin,dc=example,dc=com" write
by self write
by * read
que nous chargerons à l’aide de la commande suivante :
ldapmodify -Y EXTERNAL -H ldapi:/// -f ./fichier.ldif
Configurer LDAPS
Il faut d’abord activer le support du port ldaps dans le fichier /etc/default/slapd :
SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"
ll faut ensuite configurer les certificats (et l’autorité de certification) dans la configuration du service slapd.Pour ce faire, nous allons créer le fichier ldif suivant :
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
nadd: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/server-key.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/server-cert.pem
On redémarre ensuite le service slapd :
/etc/init.d/slapd restart
Puis on vérifie que le service slapd écoute bien sur les deux ports :
netstat -tunlp | grep slapd
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 2462/slapd
tcp 0 0 127.0.0.1:389 0.0.0.0:* LISTEN 2462/slapd