10.7.4. Utiliser LDAP pour vous authentifier auprès des interfaces de Gestion

Pour utiliser un serveur de répertoire LDAP comme source d'authentification pour la Console de gestion, le Management CLI ou l'API de gestion, vous devez effectuer les procédures suivantes :
  1. Créer une connexion sortante au serveur LDAP.
  2. Créer un domaine de sécurité activé-LDAP.
  3. Référencer le nouveau domaine de sécurité dans l'interface de Gestion.
Créer une Connexion sortante au serveur LDAP

La connexion sortante LDAP autorise les attributs suivants :

Tableau 10.1. Attributs d'une Connexion sortante LDAP

Attribut Requis Description
Le nom oui
Le nom qui sert à identifier cette connexion. Ce nom est utilisé dans la définition du domaine de sécurité.
url oui
Ĺ'adresse URL du serveur de répertoires.
search-dn oui
Le nom unique (DN) de l'utilisateur autorisé à effectuer des recherches.
search-credentials oui
Le mot de passe de l'utilisateur autorisé à effectuer des recherches.
initial-context-factory non
L'usine de contexte initiale à utiliser quand on établit une connexion. Valeur par défaut com.sun.jndi.ldap.LdapCtxFactory.

Exemple 10.7. Ajouter une connexion sortante LDAP

Cette exemple ajoute une connexion sortante par le jeu de propriétés suivant :
  • Search DN: cn=search,dc=acme,dc=com
  • Search Credential: myPass
  • URL: ldap://127.0.0.1:389
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com")

Exemple 10.8. XML représentant un connexion sortante LDAP

<outbound-connections>
   <ldap name="ldap_connection" url="ldap://127.0.0.1:389" search-dn="cn=search,dc=acme,dc=com" search-credential="myPass" />
</outboundconnections>	
	

Créer un domaine de sécurité activé-LDAP

Les Interfaces de gestion peuvent authentifier sur le serveur LDAP au lieu des domaines de sécurité basés propriété-fichier et configurés par défaut. L'authentificateur LDAP fonctionne en établissant tout d'abord une connexion au serveur de répertoires distant. Il effectue ensuite une recherche en utilisant le nom d'utilisateur que l'utilisateur a transmis au système d'authentification, afin de trouver le nom unique complet (DN) du dossier LDAP. Une nouvelle connexion est alors établie, utilisant le DN de l'utilisateur comme informations d'identification et mot de passe fournis par l'utilisateur. Si cette authentification au serveur LDAP réussit, le DN est considéré comme valide.

Le domaine de sécurité LDAP utilise les éléments et attributs de configuration suivants pour pouvoir effectuer ses fonctions.
connection
Le nom de la connexion définie dans <outbound-connections> à utiliser pour se connecter au répertoire LDAP.
base-dn
Le nom unique (DN) du contexte pour commencer à chercher l'utilisateur.
recursive
Indique si la recherche doit être récursive dans toute l'arborescence de répertoires LDAP, ou si l'on doit rechercher uniquement le contexte spécifié. La valeur par défaut est false.
user-dn
Attribut de l'utilisateur qui détient le nom unique (DN). Utilisé par la suite pour tester l'authentification. Valeur par défaut dn.
Soit username-filter ou advanced-filter, comme élément enfant.
Le username-filter utilise un attribut unique nommé attribute, dont la valeur correspond au nom de l'attribut LDAP qui contient le nom d'utilisateur, comme userName ou sambaAccountName.
Le advanced-filter prend un attribut unique nommé filter, qui contient une recherche de filtre en syntaxe LDAP standard. Veillez à bien échapper les caractères & en commutant à & amp;. Un exemple de filtre est :
(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))
Après avoir échappé un caractère esperluette, le filtre apparaîtra ainsi :
(&amp;(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))

Exemple 10.9. XML représentant un Domaine de sécurité activé-LDAP

Cet exemple utilise les paramètres suivants :
  • connection - ldap_connection
  • base-dn - cn=users,dc=acme,dc=com.
  • username-filter - attribute="sambaAccountName"
<security-realm name="TestRealm">
   <authentication>
      <ldap connection="ldap_connection" base-dn="cn=users,dc=acme,dc=com">
         <username-filter attribute="sambaAccountName" />
      </ldap>
  </authentication>
</security-realm>	


Avertissement

Il est important de veiller à ne pas autoriser les mots de passe LDAP. À moins que vous désiriez particulièrement les avoir dans votre environnement, ils représentent un problème de sécurité sérieux.
EAP 6.1 inclut un correctif pour CVE-2012-5629, qui définit l'option allowEmptyPasswords des modules de connexion LDAP à false si l'option n'est pas déjà configurée. Pour les versions plus anciennes, cette option devra être configurée manuellement.

Exemple 10.10. Ajout d'un Domaine de sécurité LDAP

La commande ci-dessous ajoute un domaine de sécurité et définit ses attributs pour un serveur autonome.
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap:add(base-dn="DC=mycompany,DC=org", recursive=true, username-attribute="MyAccountName", connection="ldap_connection")
Appliquer le Nouveau domaine de sécurité à l'Interface de gestion

Après avoir créé un domaine de sécurité, vous devez le référencer dans la configuration de votre interface de gestion. L'interface de gestion utilisera le domaine de sécurité pour l'authentification HTTP digest.

Exemple 10.11. Ajouter le Domaine de sécurité à l'interface HTTP

Une fois que la configuration est en place, et que vous aurez démarré à nouveau le contrôleur d'hôtes, la Console de gestion basée-web utilisera LDAP pour authentifier ses utilisateurs.
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=TestRealm)