Installation de l'annuaire OpenLDAP

Précédent / Suivant

Généralités

Toute l'authentification des utilisateurs est faite par l'annuaire LDAP. Maillon clé de la chaîne d'authentification, il doit être fiable, sécurisé et performant.

Ne contenant que des informations publiques, cet annuaire n'a nécessité qu'une demande d'avis auprès de la CNIL (Commission Nationale de l'Informatique et des Libertés). Une page sur l'intranet a été écrite pour permettre la modification, par les utilisateurs, de leur numéro de téléphone, de leur bureau...

Principe de fonctionnement

L'annuaire est un service fonctionnant sur le serveur principal du polygone. Ce service est prêt à répondre à une requête comme "quel est le numéro de téléphone de l'utilisateur Untel" ou "vérification que le mot de passe XYZ de l'utilisateur Untel est correct".

Il est à noter que le serveur FreeRadius pour s'interfacer avec l'annuaire LDAP nécessite que ce dernier ait un schéma Radius chargé. Ce schéma permet de faire apparaître dans les fiches des utilisateurs le champ RadiusGroupName, utilisé dans 802.1x.

Sécurité

La sécurité de l'annuaire doit être prise en compte puisque les informations confidentielles comme le mot de passe ne doivent jamais être ni lisibles ni interceptés. Les configurations doivent donc prendre en compte la liste des champs ouverts en lecture par les comptes anonymes, par l'utilisateur lui-même, ou par l'administrateur de l'annuaire. Ces filtres sont tous définis dans le fichier de configuration de OpenLDAP : /etc/ldap/slapd.conf.

Pour augmenter encore la sécurité, le champ de mot de passe est crypté de manière irréversible par un hash MD5. De cette manière, en cas d'erreur de configuration, on ne pourra jamais obtenir le mot de passe en clair de l'utilisateur, seul autorisé pour valider une connexion.

Pour éviter le transfert de mot de passe en clair sur le réseau, il est souhaitable de mettre en oeuvre un cryptage TTLS. De cette manière, les logiciels devant se connecter à l'annuaire LDAP pour une authentification pourront envoyer le mot de passe dans un tunnel crypté, qui ne pourra donc pas être intercepté par les analyseurs réseau éventuels.

Configuration

Comme l'annuaire LDAP va être interrogé par FreeRadius, il est nécessaire que tous les utilisateurs aient l'objectClass radiusprofile. De cette manière, on pourra savoir dans quel VLAN les placer, en fonction de leur RadiusGroupName.

Vérification du fonctionnement

L'annuaire devant fournir des informations aux demandes des utilisateurs, le premier test à faire est de demander une information non sensible. On peut faire cette requête en console, depuis un script PHP, un programme C, ou n'importe quel langage supportant la connexion vers un serveur LDAP.

On vérifie ensuite si le champ de mot de passe est bien protégé : on ne doit pas pouvoir afficher le contenu de ce champ, sauf en administrateur (qui a tous les droits de toute façon).

Il faut ensuite vérifier si l'authentification fonctionne correctement en essayant de se connecter au serveur avec un compte et un mot de passe utilisateur.

Validation

La validation peut être faite par les administrateurs en configurant leur logiciel de messagerie pour chercher dans l'annuaire LDAP le mail de leurs correspondants, ou en définissant dans les logiciels d'intranet l'authentification auprès de l'annuaire LDAP.
CNRS / Centre Réseau et Informatique Commun (CRIC) - Dernière modification : 26/06/2019.

Mail : CRIC @ grenoble.cnrs.fr (sans les espaces)