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. Il est possible d’indiquer plusieurs balises <server/> avec les adresses de serveurs LDAP différents. Ainsi, une liste de serveurs depuis lesquels on peut s’authentifier sera créée. L’adresse du serveur principal qui assumera la charge essentielle doit être indiqué en premier. Ensuite, vous pouvez indiquer les adresses de serveurs en réserve. En cas de connexion de l’administrateur, le premier serveur LDAP disponible est utilisé. En cas d’échec, l’authentification aura lieu sur le serveur suivant et, ensuite, dans l’ordre dans lequel les adresses des serveurs LDAP sont indiquées dans le fichier de configuration.

<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 traduire 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. Si aucune règle ne correspond et que le script n’est pas autorisé ou qu’il n’a rien retourné, le nom d’utilisateur saisi sera utilisé tel qu’il est.

L’attribut de l’objet LDAP pour DN reçu suite à la transformation et ses valeurs possibles peuvent être remplacés à l’aide de la balise suivante (les valeurs par défaut sont indiquées) :

<!-- 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.