C2. Authentification via LDAP

Les paramètres sont écrits dans le fichier de configuration auth-ldap.conf.

Les balises principales du fichier de configuration :

<enabled/> et <order/> – comme dans le cas d’Active Directory.

<server/> spécifie l’adresse du serveur LDAP.

<user-dn/> détermine les règles de transformation des noms vers DN à l’aide des masque de type DOS.

La balise <user-dn/> permet d’utiliser les caractères de substitution :

* remplace une séquence de n’importe quels caractères sauf . , = @ \ et des espaces ;

# remplace une séquence de n’importe quels caractères.

<user-dn-expr/> détermine les règles de transformation des noms vers DN à l’aide des expressions régulières.

Pour l’exemple, la même règle dans deux variantes :

<user-dn user="*@example.com" dn="CN=\1,DC=example,DC=com"/>
<user-dn-expr user="(.*)@example.com" dn="CN=\1,DC=example,DC=com"/>

\1 .. \9 déterminent la place de substitution dans le modèle des valeurs *, # ou des expressions entre parenthèses.

Selon ce principe, si le nom d’utilisateur est spécifié au format login@example.com, après la traduction, le DN a le format suivant : "CN=login,DC=example,DC=com".

<user-dn-extension-enabled/> autorise l’exécution du script Lua ldap-user-dn-translate.ds (depuis le dossier extensions) pour traduirer le nom d’utilisateur en DN. Ce script est exécuté après les tentatives d’appliquer toutes les règles user-dn, user-dn-expr ou si aucune règle correspondante n’est trouvée. Le script a un seul paramètre – le nom d’utilisateur saisi. Le script retourne la ligne contenant DN, sinon il retourne la ligne vide. Dans le cas, où aucune règle ne correspond et que le script n’est pas autorisé ou il n’a rien retourné, le nom d’utilisateur saisi sera utilisé tel qu’il est.

Les attributs de l’objet LDAP pour DN reçu suit à la transformation, leurs valeurs possibles peuvent être modifiées à l’aide des balises (les valeurs par défaut sont décrites) :

<!-- DrWebAdmin attribute equivalent (OID 1.3.6.1.4.1.29690.1.3.1) -->
<admin-attribute-name value="DrWebAdmin" true-value="^TRUE$" false-value="^FALSE$"/>

En tant que les valeurs de paramètres true-value/false-value des expressions régulières sont spécifiées.

S’il reste des valeurs des attributs de l’administrateur non déterminées et que dans le fichier de configuration, la balise <group-reference-attribute-name value="memberOf"/> est spécifiée, la valeur de l’attribut memberOf sera comprise comme une liste de DN des groupes dont l’administrateur fait partie. Dans ce cas, la recherche des attributs nécessaires sera effectuée par groupes tout comme c’est le cas d’Active Directory.