wiki:LdapConfig

Configuration du serveur OpenLDAP

TOC?

Objectif

LDAP est un système standard et régulièrement déployé pour représenter un annuaire d'utilisateurs. ESUP Portail réclame d'ailleurs un serveur LDAP, et CAS offre un adaptateur pour vérifier un couple login/password contre un annuaire. Nous devons donc mettre en place  OpenLDAP pour faire fonctionner correctement les deux services pré-cités.

Avant de commencer

$ldap_conf_base représente le dossier contenant les fichiers de configuration de OpenLDAP.

Les schémas supann

Le  CRU propose des  schémas LDAP standards pour les universités qui suivent ses recommandations. L'ENT Esup Portail se base d'ailleurs sur ce type de schéma pour extraire des informations sur un utilisateur.

Les schémas téléchargés (disponibles en pièces jointes) doivent être copiés dans le dossier $ldap_conf_base/schema.

Le fichier $ldap_conf_base/slapd.conf

Voici un exemple de schéma de configuration pour OpenLDAP.

include         schema/core.schema
include         schema/cosine.schema
include         schema/inetorgperson.schema
include         schema/nis.schema
include         schema/internet2.schema
include         schema/supann.schema

allow           bind_v2

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

database        bdb
suffix          "dc=enib,dc=fr"
rootdn          "cn=admin,dc=enib,dc=fr"
rootpw          {SSHA}62WWRl4/1QCJrzlb02dFrhO3tdo1sVQ+

directory       /var/lib/ldap
  • Les deux dernières directives include importent les schémas LDAP fournis par le CRU.
  • La directive suffix définie le chemin par défaut des entrées.
  • La directive rootdn correspond au distinguished name de l'administrateur de OpenLDAP.
  • La directive rootpw correspond au mot de passe de l'administrateur. On peut y placer un mot de passe en clair (non recommandé), ou un hash généré par la commande slappasswd.
  • La directive directory définit le chemin contenant les fichiers de la base de données de l'annuaire.

Note : Les autres directives ne sont pas détaillées : elles ont été générées par défaut par l'installateur de paquet de la distribution Linux. Il existe également d'autres directives pour définir les droits sur les entrées de l'annuaire.

Initialiser OpenLDAP

A venir...

Définition d'ACL

Les ACL sont des règles pour restreindre l'accès à l'annuaire.

#ACL Rules -- BEGIN

access to attr=userPassword
        by self         write
        by anonymous    auth
        by *            none

#comptes caches
access to dn="ou=acces,dc=enib,dc=fr"
        by *            none

#Allow only authentificated users

access to *
        by self         write
        by users        read
        by *            none

#ACL Rules -- END

Ces règles autorisent seulement les utilisateurs authentifiés à consulter l'annuaire et interdisent la visualisation du mot de passe des autres utilisateurs.

Problèmes potentiels

  • sudo chown -R ldap:ldap $ldap_db_base : cette commande peut aider à résoudre les problèmes provoqués par les autorisations sous Unix.

Notes

  • Il ne faut pas hésiter à regénérer la base de données de LDAP (voir le guide pour Linux Ubuntu)
  • Le serveur doit être redémarré après chaque modification dans le fichier slapd.conf.
  •  phpLDAPadmin est un très bon logiciel pour lire et modifier un annuaire LDAP.
  • Il est possible de démarrer OpenLDAP en mode debug, avec la commande suivante : slapd -d 256.

Sur le web

Attachments