Chapitre 6. Sécurisation des serveurs OpenLDAP

Table des matières

Utiliser un utilisateur sans privilèges pour faire tourner openldap
Crypter les communications
Choisir un hashage fort pour les mots de passe

Résumé

Dans ce chapitre nous étudierons comment sécuriser les serveurs de la suite logicielle OpenLDAP.

Utiliser un utilisateur sans privilèges pour faire tourner openldap

Dans le cas où une faille existerait dans le daemon slapd, il est souhaitable d'éviter que cette faille potentielle conduise à un accès avec des droits superutilisateurs (root). Pour ce faire il est possible de faire fonctionner le daemon slapd sous une identité autre que root.

Voici comment mettre en place une telle configuration:

  1. arrêter slapd s'il est en fonctionnement

    /etc/init.d/slapd stop

  2. Créer un group et un utilisateur dédié

    1. groupadd ldap

    2. useradd -s /bin/false -d /var/lib/ldap -g ldap ldap

  3. créer un sous répertoire pour placer le fichier de pid

    mkdir -p /var/run/slapd

  4. modifier en conséquence les directives pidfile et argsfile dans /etc/ldap/slapd.conf

    1. pidfile /var/run/slapd/slapd.pid

    2. argsfile /var/run/slapd/slapd.args

  5. Appliquer les droits nécessaires sur les répertoires utilisés par slapd

    1. Sur le répertoire de configuration: chown -R ldap:ldap /etc/ldap

    2. Sur le répertoire de stockage: chown -R ldap:ldap /var/lib/ldap

    3. Sur le répertoire de "fonctionnement": chown ldap:ldap /var/run/slapd

  6. Relancer slapd avec les options appropriées et/ou modifier le script de démarrage

    /usr/sbin/slapd -u ldap -g ldap

  7. Sous Debian GNU/Linux 3.0 (openldap 2.0.23), on peut modifier le script de démarrage /etc/init.d/slapd en ajoutant ces options à la ligne suivante:

    start-stop-daemon --start --quiet --pidfile "$pf" --exec /usr/sbin/slapd

    start-stop-daemon --start --quiet --pidfile "$pf" --exec /usr/sbin/slapd -- -u ldap -g ldap

  8. Sous Debian GNU/Linux testing ou unstable (openldap 2.1.23/2.1.25) il suffit de mettre le nom de l'utilisateur et du groupe dans le fichier /etc/default/slapd (variables SLAPD_USER et SLAPD_GROUP).