C2. Autenticazione in caso di utilizzo di LDAP

Le impostazioni sono riportate nel file di configurazione auth-ldap.conf.

I tag principali del file di configurazione sono:

<enabled/> e <order/> — sono analoghi alla variante per Active Directory.

<server/> imposta l'indirizzo del server LDAP. È possibile specificare più tag <server/> con gli indirizzi di server LDAP diversi, di conseguenza, verrà creata una lista di server su cui può essere eseguita l'autenticazione. Per primo deve essere indicato l'indirizzo del server principale su cui è previsto il carico massimo, dopo cui possono essere indicati gli indirizzi dei server di riserva. Alla connessione dell'amministratore, viene utilizzato il primo server LDAP disponibile. In caso di errore, verrà effettuato un tentativo di autenticazione sul server successivo e così via nell'ordine in cui gli indirizzi dei server LDAP sono specificati nel file di configurazione.

<user-dn/> determina le regole di traduzione dei nomi in DN con l'impiego di maschere analoghe a maschere DOS.

Nel tag <user-dn/> è ammesso l'utilizzo dei caratteri jolly:

* sostituisce una sequenza di caratteri ad eccezione di . , = @ \ e di spazi;

# sostituisce una sequenza di caratteri.

<user-dn-expr/> determina le regole di traduzione dei nomi in DN con l'impiego di espressioni regolari.

Per esempio, questa è la stessa regola in diverse varianti:

<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 determina il posto per mettere nel pattern i valori *, # o espressioni tra parentesi.

Secondo questo principio: se il nome utente è scritto come login@example.com, in seguito alla traduzione risulta il DN: "CN=login,DC=example,DC=com".

<user-dn-extension-enabled/> consente l'esecuzione dello script Lua ldap_user_dn_translate.ds (dalla directory extensions) per eseguire la traduzione del nome utente in DN. Questo script viene eseguito dopo i tentativi di applicare tutte le regole user-dn, user-dn-expr se non è stata trovata nessuna regola adatta. Lo script ha un singolo parametro — il nome utente inserito. Lo script restituisce una stringa che contiene DN o nulla. Se non è stata trovata nessuna regola adatta e lo script non è consentito o non ha restituito nulla, il nome utente inserito viene utilizzato così com'è.

L'attributo dell'oggetto LDAP per il DN ottenuto come risultato di traduzione e i suoi possibili valori possono essere ridefiniti dal seguente tag (sono indicati i valori di default):

<!-- 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$"/>

Come valori di parametri true-value/false-value vengono impostate espressioni regolari.

Se sono rimasti valori non definiti dell'attributo amministratore, nel caso in cui nel file di configurazione viene impostato il tag <group-reference-attribute-name value="memberOf"/>, il valore dell'attributo memberOf viene considerato come una lista di gruppi DN in cui rientra questo amministratore, e la ricerca degli attributi richiesti in questi gruppi viene eseguita allo stesso modo del caso di uso di Active Directory.