Serveur Apache HTTP Version 2.4
Description: | Permet d'utiliser un annuaire LDAP pour l'authentification HTTP de base. |
---|---|
Statut: | Extension |
Identificateur�de�Module: | authnz_ldap_module |
Fichier�Source: | mod_authnz_ldap.c |
Compatibilit�: | Dosponible depuis les versions 2.1 et sup�rieures d'Apache |
Ce module permet aux frontaux d'authentification comme
mod_auth_basic
d'authentifier les utilisateurs via
un annuaire ldap.
mod_authnz_ldap
supporte les fonctionnalit�s
suivantes :
Lorsqu'on utilise mod_auth_basic
, ce module est
invoqu� en affectant la valeur ldap
� la directive
AuthBasicProvider
.
L'utilisateur se voit accorder l'acc�s selon un processus en deux
phases. La premi�re phase est l'authentification, au cours de
laquelle le fournisseur d'authentification
mod_authnz_ldap
v�rifie que les informations de
connexion de l'utilisateur sont valides. Elle est aussi connue sous
le nom de phase de recherche/connexion (NdT : en anglais ou
dans le code source : search/bind). La deuxi�me
phase est l'autorisation, au cours de laquelle
mod_authnz_ldap
d�termine si l'utilisateur
authentifi� a la permission d'acc�der � la ressource consid�r�e.
Elle est aussi connue sous le nom de phase de
comparaison (compare).
mod_authnz_ldap
comporte un fournisseur
d'authentification authn_ldap et un gestionnaire d'autorisation
authz_ldap. Le fournisseur d'authentification authn_ldap peut �tre
invoqu� en affectant la valeur ldap
� la directive
AuthBasicProvider
. Le
gestionnaire d'autorisation authz_ldap enrichit la liste des types
d'autorisations de la directive Require
en y ajoutant les
valeurs ldap-user
, ldap-dn
et
ldap-group
.
Au cours de la phase d'authentification,
mod_authnz_ldap
recherche une entr�e de l'annuaire
LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
Si une correspondance unique est trouv�e,
mod_authnz_ldap
tente de se connecter au serveur
h�bergeant l'annuaire LDAP en utilisant le DN de l'entr�e et le mot
de passe fourni par le client HTTP. Comme ce processus effectue tout
d'abord une recherche, puis une connexion, il est aussi connu sous
le nom de phase de recherche/connexion. Voici le d�tail des �tapes
constituant la phase de recherche/connexion :
AuthLDAPURL
avec le nom d'utilisateur et le mot de
passe fournis par le client HTTP.Les directives utilis�es durant la phase de recherche/connexion sont les suivantes :
AuthLDAPURL |
Sp�cifie le serveur LDAP, le DN de base, l'attribut � utiliser pour la recherche, ainsi que les filtres de recherche suppl�mentaires. |
AuthLDAPBindDN |
Un DN optionnel pour se connecter durant la phase de recherche. |
AuthLDAPBindPassword |
Un mot de passe optionnel pour se connecter durant la phase de recherche. |
Au cours de la phase d'autorisation,
mod_authnz_ldap
tente de d�terminer si
l'utilisateur est autoris� � acc�der � la ressource consid�r�e. Une
grande partie de cette v�rification consiste pour
mod_authnz_ldap
en des op�rations de comparaison au
niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
sous le nom de phase de comparaison.
mod_authnz_ldap
accepte les directives Require
suivantes pour
d�terminer si les informations de connexion permettent d'accorder
l'acc�s � l'utilisateur :
Require ldap-user
,
l'autorisation d'acc�s est accord�e si le nom d'utilisateur
sp�cifi� par la directive correspond au nom d'utilisateur fourni
par le client.Require
ldap-dn
, l'autorisation d'acc�s est accord�e si le DN
sp�cifi� par la directive correspond au DN extrait du r�sultat de
la recherche dans l'annuaire LDAP.Require ldap-group
,
l'autorisation d'acc�s est accord�e si le DN extrait du r�sultat de
la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
par le client) appartient au groupe LDAP sp�cifi� par la
directive, ou �ventuellement � un de ses sous-groupes.Require ldap-attribute
, l'autorisation d'acc�s
est accord�e si la valeur de l'attribut extraite de la recherche
dans l'annuaire LDAP correspond � la valeur sp�cifi�e par la
directive.Require ldap-filter
, l'autorisation d'acc�s
est accord�e si le filtre de recherche renvoie un objet
utilisateur unique qui corresponde au DN de l'utilisateur
authentifi�.Sous r�serve du chargement de modules d'autorisation
suppl�mentaires, d'autres valeurs de la directive Require
peuvent �tre
sp�cifi�es.
Require
valid-user
est pr�sente (n�cessite le module
mod_authz_user
).Require group
, l'autorisation
d'acc�s est accord�e si le module
mod_authz_groupfile
a �t� charg� et si la
directive AuthGroupFile
a �t�
d�finie.Durant la phase de comparaison, mod_authnz_ldap
utilise les directives suivantes :
AuthLDAPURL
|
On utilise l'attribut sp�cifi� dans l'URL pour les
op�rations de comparaison initi�es par la directive
Require ldap-user . |
AuthLDAPCompareDNOnServer |
D�termine le comportement de la directive Require
ldap-dn . |
AuthLDAPGroupAttribute |
D�termine l'attribut utilis� pour les op�rations de
comparaison initi�es par la directive Require
ldap-group . |
AuthLDAPGroupAttributeIsDN |
Sp�cifie si l'on doit utiliser le DN ou le nom de
l'utilisateur lors des op�rations de comparaison initi�es par la
directive Require ldap-group . |
AuthLDAPMaxSubGroupDepth |
D�termine la profondeur maximale de l'arborescence des
sous-groupes qui seront �valu�s au cours des op�rations de
comparaisons initi�es par la directive Require
ldap-group . |
AuthLDAPSubGroupAttribute |
D�termine l'attribut � utiliser lors de l'extraction de
membres de sous-groupes du groupe courant au cours des
op�rations de comparaison initi�es par la directive
Require ldap-group . |
AuthLDAPSubGroupClass |
Sp�cifie les valeurs de classe d'objet LDAP � utiliser pour
d�terminer si les objets extraits de l'annuaire sont bien des
objets de type groupe (et non des objets de type utilisateur),
au cours du traitement des sous-groupes initi� par la directive
Require ldap-group . |
Les directives Require
d'Apache sont utilis�es
au cours de la phase d'autorisation afin de s'assurer que
l'utilisateur est autoris� � acc�der � une ressource.
mod_authnz_ldap enrichit la liste des types d'autorisations avec les
valeurs ldap-user
, ldap-dn
,
ldap-group
, ldap-attribute
et
ldap-filter
. D'autres types d'autorisations sont
disponibles, sous r�serve du chargement de modules d'autorisation
suppl�mentaires.
La directive Require ldap-user
permet de sp�cifier
les noms des utilisateurs autoris�s � acc�der � la ressource.
Lorsque mod_authnz_ldap
a extrait un DN unique de
l'annuaire LDAP, il effectue une op�ration de comparaison LDAP en
utilisant le nom d'utilisateur sp�cifi� par la directive
Require ldap-user
, pour v�rifier si ce nom
d'utilisateur correspond � l'entr�e LDAP extraite. On peut accorder
l'acc�s � plusieurs utilisateurs en pla�ant plusieurs nom
d'utilisateurs sur la m�me ligne s�par�s par des espaces. Si un nom
d'utilisateur contient des espaces, il doit �tre entour� de
guillemets. On peut aussi accorder l'acc�s � plusieurs utilisateurs
en utilisant une directive Require ldap-user
par
utilisateur. Par exemple, avec la directive AuthLDAPURL
d�finie �
ldap://ldap/o=Example?cn
(sp�cifiant donc que l'attribut
cn
sera utilis� pour les recherches), on pourra
utiliser les directives Require suivantes pour restreindre l'acc�s
:
Require ldap-user "Barbara Jenson" Require ldap-user "Fred User" Require ldap-user "Joe Manager"
De par la mani�re dont mod_authnz_ldap
traite
cette directive, Barbara Jenson peut s'authentifier comme
Barbara Jenson, Babs Jenson ou tout autre
cn
sous lequel elle est enregistr�e dans l'annuaire
LDAP. Une seule ligne Require ldap-user
suffit pour
toutes les valeurs de l'attribut dans l'entr�e LDAP de
l'utilisateur.
Si l'attribut uid
avait �t� sp�cifi� � la place de
l'attribut cn
dans l'URL pr�c�dente, les trois lignes
ci-dessus auraient p� �tre condens�es en une seule ligne :
Require ldap-user bjenson fuser jmanager
Cette directive permet de sp�cifier un groupe LDAP dont les membres auront l'autorisation d'acc�s. Elle prend comme argument le DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des guillemets. Par exemple, supposons que l'entr�e suivante existe dans l'annuaire LDAP :
dn: cn=Administrators, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Barbara Jenson, o=Example uniqueMember: cn=Fred User, o=Example
La directive suivante autoriserait alors l'acc�s � Fred et Barbara :
Require ldap-group cn=Administrators, o=Example
Les membres peuvent aussi se trouver dans les sous-groupes du
groupe LDAP sp�cifi� si la directive AuthLDAPMaxSubGroupDepth
a �t�
d�finie � une valeur sup�rieure � 0. Par exemple, supposons que les
entr�es suivantes existent dans l'annuaire LDAP :
dn: cn=Employees, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Managers, o=Example uniqueMember: cn=Administrators, o=Example uniqueMember: cn=Users, o=Example dn: cn=Managers, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Bob Ellis, o=Example uniqueMember: cn=Tom Jackson, o=Example dn: cn=Administrators, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Barbara Jenson, o=Example uniqueMember: cn=Fred User, o=Example dn: cn=Users, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Allan Jefferson, o=Example uniqueMember: cn=Paul Tilley, o=Example uniqueMember: cn=Temporary Employees, o=Example dn: cn=Temporary Employees, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Jim Swenson, o=Example uniqueMember: cn=Elliot Rhodes, o=Example
Les directives suivantes autoriseraient alors l'acc�s � Bob Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et Paul Tilley, mais l'interdiraient � Jim Swenson, ou Elliot Rhodes (car ils sont situ�s dans un sous-groupe de niveau de profondeur 2) :
Require ldap-group cn=Employees, o-Example AuthLDAPMaxSubGroupDepth 1
Le comportement de cette directive est modifi� par les directives
AuthLDAPGroupAttribute
,
AuthLDAPGroupAttributeIsDN
,
AuthLDAPMaxSubGroupDepth
,
AuthLDAPSubGroupAttribute
, et
AuthLDAPSubGroupClass
.
La directive Require ldap-dn
permet �
l'administrateur d'accorder l'utorisation d'acc�s en fonction du DN.
Elle permet de sp�cifier un DN pour lequel l'acc�s est autoris�. Si
le DN extrait de
l'annuaire correspond au DN sp�cifi� par la directive Require
ldap-dn
, l'autorisation d'acc�s est accord�e. Note :
n'entourez pas Le DN de guillemets.
La directive suivante accorderait l'acc�s � un DN sp�cifique :
Require ldap-dn cn=Barbara Jenson, o=Example
Le comportement ce cette directive est modifi� par la directive
AuthLDAPCompareDNOnServer
.
La directive Require ldap-attribute
permet �
l'administrateur d'accorder l'autorisation d'acc�s en fonction des
attributs de l'utilisateur authentifi� dans l'annuaire LDAP. Si la
valeur de l'attribut dans l'annuaire correspond � la valeur
sp�cifi�e par la directive, l'autorisation d'acc�s est accord�e.
La directive suivante accorderait l'autorisation d'acc�s � tout utilisateur dont l'attribut employeeType a pour valeur "actif" :
Require ldap-attribute employeeType=active
Plusieurs paires attribut/valeur peuvent �tre sp�cifi�es par une
m�me directive en les s�parant par des espaces, ou en d�finissant
plusieurs directives Require ldap-attribute
. La logique
sous-jacente � une liste de paires attribut/valeur est une op�ration
OU. L'autorisation d'acc�s sera accord�e si au moins une paire
attribut/valeur de la liste sp�cifi�e correspond � la paire
attribut/valeur de l'utilisateur authentifi�. Si elle contient des
espaces, la valeur, et seulement la valeur, doit �tre entour�e de
guillemets.
La directive suivante accorderait l'autorisation d'acc�s � tout utilisateur dont l'attribut city aurait pour valeur "San Jose", ou donc l'attribut status aurait pour valeur "actif" :
Require ldap-attribute city="San Jose" status=active
La directive Require ldap-filter
permet �
l'administrateur d'accorder l'autorisation d'acc�s en fonction d'un
filtre de recherche LDAP complexe. L'autorisation d'acc�s est
accord�e si le DN renvoy� par le filtre de recherche correspond au
DN de l'utilisateur authentifi�.
La directive suivante accorderait l'autorisation d'acc�s � tout utilisateur poss�dant un t�l�phone cellulaire et faisant partie du d�partement "marketing" :
Require ldap-filter &(cell=*)(department=marketing)
Alors que la directive Require ldap-attribute
se
contente d'une simple comparaison d'attributs, la directive
Require ldap-filter
effectue une op�ration de recherche
dans l'annuaire LDAP en utilisant le filtre de recherche sp�cifi�.
Si une simple comparaison d'attributs suffit, l'op�ration de
comparaison effectu�e par ldap-attribute
sera plus
rapide que l'op�ration de recherche effectu�e par
ldap-filter
, en particulier dans le cas d'un annuaire
LDAP de grande taille.
AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)" Require valid-user
AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example" Require valid-user
cn
,
car une recherche sur le cn
doit
retourner une entr�e et une seule. C'est pourquoi cette
approche n'est pas recommand�e : il est pr�f�rable de choisir un
attribut de votre annuaire dont l'unicit� soit garantie, comme
uid
.
AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn" Require valid-user
AuthLDAPURL ldap://ldap.example.com/o=Example?uid Require ldap-group cn=Administrators, o=Example
qpagePagerID
. Seuls ces utilisateurs
(authentifi�s via leur UID) se verront accorder l'autorisation
d'acc�s :
AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*) Require valid-user
L'exemple suivant illustre la puissance des filtres pour effectuer des requ�tes complexes. Sans les filtres, il aurait �t� n�cessaire de cr�er un nouveau groupe LDAP et de s'assurer de la synchronisation des membres du groupe avec les utilisateurs poss�dant un bippeur. Tout devient limpide avec les filtres. Nous avons pour but d'accorder l'autorisation d'acc�s � tout utilisateur disposant d'un bippeur ainsi qu'� Joe Manager qui ne poss�de pas de bippeur, mais doit tout de m�me pouvoir acc�der � la ressource :
AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager)) Require valid-user
Ce dernier exemple peut sembler confus au premier abord ; en
fait, il permet de mieux comprendre � quoi doit ressembler le
filtre en fonction de l'utilisateur qui se connecte. Si Fred
User se connecte en tant que fuser
, le filtre devra
ressembler � :
(&(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))
Un recherche avec le filtre ci-dessus ne retournera un r�sultat positif que si fuser dispose d'un bippeur. Si Joe Manager se connecte en tant que jmanager, le filtre devra ressembler � :
(&(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))
Un recherche avec le filtre ci-dessus retournera un r�sultat positif que jmanager dispose d'un bippeur ou non
Pour l'utilisation de TLS, voir les directives du module
mod_ldap
LDAPTrustedClientCert
, LDAPTrustedGlobalCert
et LDAPTrustedMode
.
Un second param�tre optionnel peut �tre ajout� � la directive
AuthLDAPURL
pour
remplacer le type de connexion par d�faut d�fini par la directive
LDAPTrustedMode
. Ceci
permettra de promouvoir la connexion �tablie via une URL du type
ldap:// au statut de connection s�curis�e sur le m�me
port.
Pour l'utilisation de SSL, voir les directives du module
mod_ldap
LDAPTrustedClientCert
, LDAPTrustedGlobalCert
et LDAPTrustedMode
.
Pour sp�cifier un serveur LDAP s�curis�, utilisez
ldaps:// au lieu de
ldap:// dans la directive AuthLDAPURL
.
Au cours du processus d'authentification, les attributs LDAP
sp�cifi�s par la directive authldapurl
sont enregistr�s
dans des variables d'environnement pr�fix�es par la cha�ne
"AUTHENTICATE_".
Au cours du processus d'autorisation, les attributs LDAP
sp�cifi�s par la directive authldapurl
sont enregistr�s
dans des variables d'environnement pr�fix�es par la cha�ne
"AUTHORIZE_".
Si les champs attribut contiennent le nom, le CN et le num�ro de t�l�phone d'un utilisateur, un programme CGI pourra acc�der � ces informations sans devoir effectuer une autre requ�te LDAP pour les extraire de l'annuaire.
Ceci a pour effet de simplifier consid�rablement le code et la configuration n�cessaire de certaines applications web.
Active Directory peut supporter plusieurs domaines � la fois. Pour faire la distinction entre les utilisateurs de plusieurs domaines, on peut ajouter � l'entr�e de l'utilisateur dans l'annuaire un identifiant appel� Nom Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se compose en g�n�ral du nom de compte de l'utilisateur, suivi du nom du domaine consid�r�, par exemple [email protected].
Vous voudrez probablement configurer le module
mod_authnz_ldap
afin de pouvoir authentifier les
utilisateurs de n'importe quel domaine de la for�t Active Directory.
Ainsi, [email protected] et
[email protected] pourront �tre authentifi�s en une
seule fois par la m�me requ�te.
Pour y parvenir, on utilise le concept de Catalogue Global d'Active Directory. Ce Catalogue Global est une copie en lecture seule des attributs s�lectionn�s de tous les serveurs de la for�t Active Directory. Une requ�te vers le Catalogue Global permet donc d'atteindre tous les domaines en une seule fois, sans avoir � se connecter aux diff�rents serveurs, via des liaisons dont certaines peuvent �tre lentes.
Lorsqu'il est activ�, la Catalogue Global est un serveur d'annuaire ind�pendant accessible sur le port 3268 (3269 pour SSL). Pour rechercher un utilisateur, effectuez une recherche sur l'attribut userPrincipalName, avec une base de recherche vide, comme suit :
AuthLDAPBindDN [email protected] AuthLDAPBindPassword password AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
Les utilisateurs devront s'authentifier en entrant leur UPN, de la forme[email protected].
Normalement, FrontPage utilise des fichiers utilisateur/groupe
sp�cifiques � FrontPage-web (c'est � dire les modules
mod_authn_file
et
mod_authz_groupfile
) pour effectuer toute
l'authentification. Malheureusement, il ne suffit pas de modifier
l'authentification LDAP en ajoutant les directives appropri�es, car
ceci corromprait les formulaires de Permissions dans le
client FrontPage, qui sont cens�s modifier les fichiers
d'autorisation standards au format texte.
Lorsqu'un site web FrontPage a �t� cr��, lui adjoindre
l'authentification LDAP consiste � ajouter les directives suivantes
� chaque fichier .htaccess
qui sera cr�� dans
le site web :
AuthLDAPURL "the url" AuthGroupFile mygroupfile Require group mygroupfile
FrontPage restreint l'acc�s � un site web en ajoutant la
directive Require valid-user
aux fichiers
.htaccess
. La directive Require valid-user
permettra l'acc�s � tout utilisateur valide du point de vue
LDAP. Cela signifie que tout utilisateur poss�dant une entr�e
dans l'annuaire LDAP sera consid�r� comme valide, alors que
FrontPage ne consid�re comme valides que les utilisateurs
enregistr�s dans le fichier des utilisateurs local. En rempla�ant
l'autorisation par groupe LDAP par une autorisation par fichier de
groupe, Apache sera en mesure de consulter le fichier des
utilisateurs local (g�r� par FrontPage) - au lieu de l'annuaire LDAP
- lors du processus d'autorisation des utilisateurs.
Une fois les directives ajout�es selon ce qui pr�c�de, les utilisateurs FrontPage pourront effectuer toutes les op�rations de gestion � partir du client FrontPage.
mod_authn_file
. A cette fin,
l'UID est id�al.mod_auth_basic
, mod_authn_file
et mod_authz_groupfile
. Ceci est d� au fait
qu'Apache doit utiliser le fichier de groupes de
mod_authz_groupfile
pour d�terminer le niveau
d'acc�s d'un utilisateur au site web FrontPage..htaccess
. Elles ne fonctionneront pas si vous les
placez dans une section <Location>
ou <Directory>
. Ceci est d� au fait que pour savoir
o� se trouve la liste des utilisateurs valides,
mod_authnz_ldap
doit �tre en mesure d'atteindre
la directive AuthGroupFile
qui se trouve
dans les fichiers .htaccess
de FrontPage. Si les directives
de mod_authnz_ldap
ne sont pas situ�es dans le
m�me fichier .htaccess
que les directives FrontPage,
la configuration ne fonctionnera pas, car
mod_authnz_ldap
ne sera jamais en mesure de
traiter le fichier .htaccess
, et par cons�quent ne
pourra jamais trouver le fichier des utilisateurs g�r� par
FrontPage.Description: | Sp�cifie le pr�fixe ajout� aux variables d'environnement durant la phase d'autorisation |
---|---|
Syntaxe: | AuthLDAPAuthorizePrefix pr�fixe |
D�faut: | AuthLDAPAuthorizePrefix AUTHORIZE_ |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible depuis la version 2.3.6 |
Cette directive permet de sp�cifier le pr�fixe ajout� aux variables d'environnement durant la phase d'autorisation. Si la valeur sp�cifi�e est AUTHENTICATE_, les utilisateurs de ces variables d'environnement verront les m�mes informations, que le serveur effectue une authentification, une autorisation, ou les deux.
Require
valid-user
.
Description: | D�termine si l'on doit utiliser d'autres fournisseurs d'authentification lorsque le serveur ne peut pas valider les donn�es d'authentification de l'utilisateur, alors que ce dernier poss�de un DN. |
---|---|
Syntaxe: | AuthLDAPBindAuthoritativeoff|on |
D�faut: | AuthLDAPBindAuthoritative on |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Par d�faut, des fournisseurs d'authentification sont appel�s
si un utilisateur ne poss�de pas de DN, mais ne le sont pas si
l'utilisateur poss�de un DN et si son mot de passe ne peut pas �tre
v�rifi� lors d'une connexion au serveur LDAP. Si la directive
AuthLDAPBindAuthoritative
est
d�finie � off, d'autres modules d'authentification
configur�s auront une chance de valider le mot de passe de
l'utilisateur si la tentative de connexion au serveur LDAP �choue
pour une raison quelconque (avec les donn�es d'authentification
fournies).
Ceci permet aux utilisateurs pr�sent � la fois dans l'annuaire
LDAP et dans un fichier AuthUserFile
de s'authentifier
lorsque le serveur LDAP est disponible, alors que le compte de
l'utilisateur est verrouill� ou que son mot de passe est
inutilisable pour une raison quelconque.
Description: | Un DN optionnel pour se connecter au serveur LDAP |
---|---|
Syntaxe: | AuthLDAPBindDN dn |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Cette directive permet de d�finir un DN optionnel pour se
connecter au serveur afin d'y rechercher des entr�es. Si aucun DN
n'est sp�cifi�, mod_authnz_ldap
tentera une
connexion anonyme.
Description: | Mot de passe � utiliser en conjonction avec le DN de connexion |
---|---|
Syntaxe: | AuthLDAPBindPassword mot-de-passe |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Cette directive permet de sp�cifier un mot de passe � utiliser en
conjonction avec le DN de connexion. Notez que ce mot de passe
constitue en g�n�ral une donn�e sensible, et doit donc �tre prot�g�
de mani�re appropri�e. Vous ne devez utiliser les directives
AuthLDAPBindDN
et AuthLDAPBindPassword
que si
vous en avez vraiment besoin pour effectuer une recherche dans
l'annuaire.
Si la valeur sp�cifi�e d�bute par "exec:", la commande qui suit sera ex�cut�e, et la premi�re ligne renvoy�e par la commande sur la sortie standard sera utilis�e comme mot de passe.
# Mot de passe sp�cifi� directement AuthLDAPBindPassword secret # Ex�cution de /path/to/program pour obtenir le mot de passe AuthLDAPBindPassword exec:/path/to/program # Ex�cution de /path/to/otherProgram avec un argument pour obtenir le mot de passe AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"
Description: | Chemin du fichier de configuration de la correspondance langage/jeu de caract�res |
---|---|
Syntaxe: | AuthLDAPCharsetConfig chemin-fichier |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_authnz_ldap |
La directive AuthLDAPCharsetConfig
permet
de d�finir le chemin du fichier de configuration de la
correspondance langage/jeu de caract�res. chemin-fichier
est un chemin relatif au r�pertoire d�fini par la directive
ServerRoot
. Ce fichier contient une liste
de correspondances extension de langage/jeu de caract�res. La
plupart des administrateurs utilisent le fichier
charset.conv
fourni qui associe les extensions de
langage courantes � leurs jeux de caract�res.
Le fichier contient des lignes au format suivant :
extension de langage jeu de caract�res
[Nom du langage] ...
L'extension est insensible � la casse. Les lignes vides et les
lignes commen�ant par un di�se (#
) sont ignor�es.
Description: | Utilisation des donn�es d'authentification de l'utilisateur pour effectuer les comparaisons pour l'attribution des autorisations |
---|---|
Syntaxe: | AuthLDAPCompareAsUser on|off |
D�faut: | AuthLDAPCompareAsUser off |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible depuis la version version 2.3.6 |
Lorsque cette directive est d�finie, et si
mod_authnz_ldap
a authentifi� l'utilisateur, les
recherches LDAP pour les autorisations utilisent le nom distinctif
trouv� (DN) et le mot de passe d'authentification basique HTTP de
l'utilisateur authentifi� au lieu des donn�es d'authentification
configur�es au niveau du serveur.
Les v�rifications d'autorisation ldap-attribute, ldap-user, et ldap-group (niveau simple seulement) utilisent des comparaisons.
Cette directive n'a d'effet sur les comparaisons effectu�es au
cours des traitements de groupe imbriqu�s, et lorsque la directive
AuthLDAPSearchAsUser
est aussi activ�e.
Cette directive ne doit �tre utilis�e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d�di� via la directive AuthLDAPBindDN
.
Description: | Utilise le serveur LDAP pour comparer les DNs |
---|---|
Syntaxe: | AuthLDAPCompareDNOnServer on|off |
D�faut: | AuthLDAPCompareDNOnServer on |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Lorsque cette directive est d�finie � on,
mod_authnz_ldap
utilise le serveur LDAP pour
comparer les DNs. Il s'agit de la seule m�thode infaillible pour
comparer les DNs. mod_authnz_ldap
va rechercher
dans l'annuaire le DN sp�cifi� par la directive Require dn
, puis extraire ce DN et le
comparer avec le DN extrait de l'entr�e de l'utilisateur. Si cette
directive est � off, mod_authnz_ldap
effectue une
simple comparaison de cha�nes. Cette derni�re approche peut produire
des faux n�gatifs, mais elle est beaucoup plus rapide. Notez
cependant que le cache de mod_ldap
peut acc�l�rer
la comparaison de DNs dans la plupart des situations.
Description: | � quel moment le module va d�r�f�rencer les alias |
---|---|
Syntaxe: | AuthLDAPDereferenceAliases never|searching|finding|always |
D�faut: | AuthLDAPDereferenceAliases always |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Cette directive permet de sp�cifier � quel moment
mod_authnz_ldap
va d�r�f�rencer les alias au cours
des op�rations li�es � LDAP. La valeur par d�faut est
always
.
Description: | L'attribut LDAP utilis� pour v�rifier l'appartenance d'un utilisateur � un groupe. |
---|---|
Syntaxe: | AuthLDAPGroupAttribute attribut |
D�faut: | AuthLDAPGroupAttribute member uniquemember |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Cette directive permet de sp�cifier quel attribut LDAP est
utilis� pour v�rifier l'appartenance d'un utilisateur � un
groupe. On peut sp�cifier plusieurs attributs en r�p�tant cette
directive plusieurs fois. Si la directive n'est pas d�finie,
mod_authnz_ldap
utilise les attributs
member
et uniquemember
.
Description: | Utilise le DN de l'utilisateur pour v�rifier son appartenance � un groupe |
---|---|
Syntaxe: | AuthLDAPGroupAttributeIsDN on|off |
D�faut: | AuthLDAPGroupAttributeIsDN on |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Lorsqu'elle est d�finie � on
, cette directive
indique que c'est le DN de l'utilisateur qui doit �tre utilis� pour
v�rifier son appartenance � un groupe. Dans le cas contraire, c'est
le nom de l'utilisateur qui sera utilis�. Par exemple, supposons que
le client envoie le nom d'utilisateur bjenson
, qui
correspond au DN LDAP cn=Babs Jenson,o=Example
. Si la
directive est � on
, mod_authnz_ldap
va
v�rifier si cn=Babs Jenson, o=Example
est un membre du
groupe. Dans le cas contraire, mod_authnz_ldap
v�rifiera si bjenson
est un membre du groupe.
Description: | D�termine si le serveur effectue la recherche initiale du DN en utilisant le nom propre de l'utilisateur pour l'authentification de base et non de mani�re anonyme, ou en utilisant des donn�es d'authentification cod�es en dur pour le serveur |
---|---|
Syntaxe: | AuthLDAPInitialBindAsUser off|on |
D�faut: | AuthLDAPInitialBindAsUser off |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible depuis la version 2.3.6 |
Par d�faut, le serveur convertit le nom d'utilisateur pour l'authentification de base en nom distinctif LDAP (DN) soit de mani�re anonyme, soit avec un couple nom/mot de passe d�di�. Cette directive permet de forcer le serveur � utiliser les v�ritables nom d'utilisateur et mot de passe fournis par l'utilisateur pour effectuer la recherche initiale du DN.
Si le nom d'utilisateur ne peut pas s'authentifier directement
et n�cessite de l�g�res modifications, voir la directive AuthLDAPInitialBindPattern
.
Cette directive ne doit �tre utilis�e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d�di� via la directive AuthLDAPBindDN
.
Description: | Sp�cifie la modification a apporter au nom d'utilisateur pour l'authentification de base lors de l'authentification aupr�s du serveur LDAP pour effectuer une recherche de DN |
---|---|
Syntaxe: | AuthLDAPInitialBindPatternregex substitution |
D�faut: | AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur
distant utilis� tel quel) |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible depuis la version 2.3.6 |
Si la directive AuthLDAPInitialBindAsUser
est
d�finie � ON, le nom utilisateur pour l'authentification de
base sera transform� selon l'expression rationnelle
regex et l'argument substitution sp�cifi�s.
L'expression rationnelle est compar�e au nom d'utilisateur pour l'authentification de base courant. L'argument substitution peut contenir des r�f�rences arri�res, mais n'effectue aucune autre interpolation de variable.
Cette directive ne doit �tre utilis�e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d�di� via la directive AuthLDAPBindDN
.
AuthLDAPInitialBindPattern (.+) [email protected]
AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com
Description: | Sp�cifie la profondeur d'imbrication des sous-groupes maximale prise en compte avant l'abandon de la recherche de l'utilisateur. |
---|---|
Syntaxe: | AuthLDAPMaxSubGroupDepth Nombre |
D�faut: | AuthLDAPMaxSubGroupDepth 10 |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible � partir de la version 2.3.0 du serveur HTTP Apache |
Lorsque cette directive est d�finie � une valeur X
non nulle, en combinaison avec l'utilisation de la directive
Require ldap-group DN-groupe
, les donn�es de connexion
fournies seront utilis�es pour v�rifier l'appartenance de
l'utilisateur � l'objet de l'annuaire DN-groupe
ou �
tout sous-groupe du groupe courant en tenant compte de la profondeur
d'imbrication maximale X
sp�cifi�e par la directive.
Se r�f�rer � la section Require
ldap-group
pour un exemple plus d�taill�.
Lorsque les directives
AuthLDAPSubGroupAttribute
et
AuthLDAPGroupAttribute
se recouvrent (comme
c'est le cas par d�faut et requis par les sch�mas LDAP courants), la
recherche de sous-groupes au sein de grands groupes peut �tre tr�s
longue. Si vos groupes sont tr�s grands et non imbriqu�s, d�finissez
la directive AuthLDAPMaxSubGroupDepth
� 0.
Description: | Sp�cifie l'attribut dont la valeur renvoy�e au cours de la requ�te de l'utilisateur sera utilis�e pour d�finir la variable d'environnement REMOTE_USER |
---|---|
Syntaxe: | AuthLDAPRemoteUserAttribute uid |
D�faut: | none |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Lorsque cette directive est d�finie, la variable d'environnement
REMOTE_USER
sera d�finie � la valeur de l'attribut
sp�cifi�. Assurez-vous que cet attribut soit bien inclus dans la
liste d'attributs sp�cifi�s dans la d�finition de AuthLDAPUrl ; dans
le cas contraire, cette directive n'aurait aucun effet. Si elle est
pr�sente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
peut s'av�rer utile par exemple, si vous souhaitez que les
utilisateurs se connectent � un site web en utilisant leur adresse
email, alors qu'une application sous-jacente n�cessite un nom
d'utilisateur comme identifiant.
Description: | Utilise le DN de l'utilisateur pour d�finir la variable d'environnement REMOTE_USER |
---|---|
Syntaxe: | AuthLDAPRemoteUserIsDN on|off |
D�faut: | AuthLDAPRemoteUserIsDN off |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Lorsque cette directive est � on, la variable d'environnement
REMOTE_USER
sera d�finie avec la valeur du DN complet
de l'utilisateur authentifi�, et non plus avec simplement le nom
d'utilisateur fourni par le client. Elle est d�finie � off par
d�faut.
Description: | Utilise les donn�es d'authentification de l'utilisateur pour la recherche des autorisations |
---|---|
Syntaxe: | AuthLDAPSearchAsUser on|off |
D�faut: | AuthLDAPSearchAsUser off |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible depuis la version 2.3.6 |
Lorsque cette directive est d�finie, et si
mod_authnz_ldap
a authentifi� l'utilisateur, les
recherches LDAP pour d�finir les autorisations utilisent le nom
distinctif (DN) trouv� et le mot de passe pour l'authentification de
base HTTP de l'utilisateur authentifi�, au lieu des donn�es
d'authentification configur�es au niveau du serveur.
Les v�rifications d'autorisation ldap-filter et ldap-dn utilisent des recherches.
Cette directive n'a d'effet sur les comparaisons effectu�es au
cours des traitements de groupe imbriqu�s, et lorsque la directive
AuthLDAPCompareAsUser
est aussi activ�e.
Cette directive ne doit �tre utilis�e que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
utiliser de nom d'utilisateur d�di� via la directive AuthLDAPBindDN
.
Description: | Sp�cifie les noms d'attribut, un par directive, utilis�s pour diff�rencier les membres du groupe courant qui sont eux-m�mes des groupes. |
---|---|
Syntaxe: | AuthLDAPSubGroupAttribute attribut |
D�faut: | AuthLDAPSubgroupAttribute member uniquemember |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible � partir de la version 2.3.0 du serveur HTTP Apache |
Un objet groupe LDAP peut contenir des membres qui sont des
utilisateurs et des membres qui sont eux-m�mes des groupes (appel�s
sous-groupes ou groupes imbriqu�s). La directive
AuthLDAPSubGroupAttribute
sp�cifie l'attribut utilis�
pour identifier les groupes, alors que la directive
AuthLDAPGroupAttribute
sp�cifie l'attribut utilis�
pour identifier les utilisateurs. On peut sp�cifier plusieurs
attributs en r�p�tant la directive plusieurs fois. Si elle n'est pas
d�finie, mod_authnz_ldap
utilise les attributs
member
et uniqueMember
.
Description: | Sp�cifie quelles valeurs d'objectClass LDAP identifient les objets de l'annuaire qui sont des groupes au cours du traitement des sous-groupes. |
---|---|
Syntaxe: | AuthLDAPSubGroupClass ObjectClass-LDAP |
D�faut: | AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Compatibilit�: | Disponible � partir de la version 2.3.0 du serveur HTTP Apache |
Un objet groupe LDAP peut contenir des membres qui sont des
utilisateurs et des membres qui sont eux-m�mes des groupes (appel�s
sous-groupes ou groupes imbriqu�s). La directive
AuthLDAPSubGroupAttribute
permet d'identifier les
membres qui sont des sous-groupes du groupe courant (� l'oppos� des
membres utilisateurs). La directive
AuthLDAPSubGroupClass
permet de sp�cifier les valeurs
d'objectClass LDAP utilis�es pour v�rifier que certains membres sont
en fait des objets groupe. Les sous-groupes ainsi identifi�s peuvent
alors faire l'objet d'une recherche d'autres membres utilisateurs ou
sous-groupes. On peut sp�cifier plusieurs attributs en r�p�tant
cette directive plusieurs fois. Si cette directive n'est pas
d�finie, mod_authnz_ldap
utilise les attributs
groupOfNames
et groupOfUniqueNames
.
Description: | L'URL permettant de sp�cifier les param�tres de la recherche LDAP |
---|---|
Syntaxe: | AuthLDAPUrl url [NONE|SSL|TLS|STARTTLS] |
Contexte: | r�pertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_authnz_ldap |
Une URL conforme � la RFC 2255 qui permet de sp�cifier les param�tres � utiliser pour la recherche dans l'annuaire LDAP. La syntaxe de l'URL est :
ldap://h�te:port/DN-de-base?attribut?port�e?filtre
Si vous souhaitez mettre � la disposition d'Apache plusieurs URLs LDAP, la syntaxe sera :
AuthLDAPUrl "ldap://ldap1.example.com ldap2.example.com/dc=..."
Mise en garde : Si vous sp�cifiez plusieurs serveurs, vous devez en entourer la liste avec des guillemets ; dans le cas contraire, vous g�n�rerez une erreur : "AuthLDAPURL takes one argument, URL to define LDAP connection..". Vous pouvez bien entendu ajouter des param�tres de recherche � chacun des serveurs sp�cifi�s.
ldap
. Pour ldap s�curis�, utilisez � la place la
cha�ne ldaps
. LDAP s�curis� n'est disponible que si
Apache a �t� li� avec une biblioth�que LDAP supportant SSL.Il s'agit du nom/port du serveur ldap
(dont la valeur par d�faut est
localhost:389
pour ldap
, et
localhost:636
pour ldaps
). Pour
sp�cifier plusieurs serveurs LDAP redondants, indiquez
simplement leur liste en les s�parant par des espaces.
mod_authnz_ldap
tentera alors de se connecter
� chacun des serveurs jusqu'� ce qu'il parvienne � se
connecter avec succ�s. Notez qu'en cas de multiples serveurs
LDAP, l'ensemble de l'URL LDAP doit �tre entour�e de
guillemets.
lorsqu'une connection a �t� �tablie avec un serveur, elle
reste active pendant toute la dur�e de vie du processus
httpd
, ou jusqu'� ce que le serveur LDAP
cesse de fonctionner.
Si le serveur LDAP cesse de fonctionner, et ainsi
interrompt une
connexion existante, mod_authnz_ldap
tentera
de se reconnecter en commen�ant par le premier serveur de la
liste, et ainsi de suite avec les serveurs redondants
suivants. Notez que ce processus n'a rien � voir avec une
v�ritable recherche de type round-robin.
uid
. Il est judicieux de choisir un
attribut dont la valeur sera unique parmi toutes les entr�es de
la branche de l'annuaire que vous aurez d�finie. Tous les
attributs sp�cifi�s seront enregistr�s dans des variables
d'environnement avec le pr�fixe AUTHENTICATE_, afin de pouvoir
�tre utilis�s par d'autres modules.one
ou sub
. Notez que la
RFC 2255 supporte aussi une port�e de valeur base
,
mais cette derni�re n'est pas support�e par le module. Si la
port�e n'est pas d�finie, ou si elle est d�finie �
base
, c'est la valeur de port�e par d�faut
sub
qui sera utilis�e.(objectClass=*)
sera utilis�, ce qui corrspond �
une recherche de tous les types d'objets de l'arborescence. La
taille des filtres est limit�e � environ 8000 caract�res (valeur
de la macro MAX_STRING_LEN
dans le code source
d'Apache), ce qui s'av�re plus que suffisant pour la plupart des
applications.Pour une recherche, les attribut, filtre et nom d'utilisateur
fournis par le client HTTP sont combin�s pour cr�er un filtre de
recherche du style :
(&(filtre)(attribut
=nom-utilisateur))
.
Par exemple, consid�rons l'URL
ldap://ldap.example.com/o=Example?cn?sub?(posixid=*)
.
Lorsqu'un client tentera de se connecter en utilisant le nom
d'utilisateur Babs Jenson
, le filtre de recherche sera
: (&(posixid=*)(cn=Babs Jenson))
.
On peut encore ajouter un param�tre optionnel pour permettre � l'URL LDAP de surcharger le type de connexion. Ce param�tre peut prendre l'une des valeurs suivantes :
ldap://
sur le port
389.ldaps://
.Voir plus haut pour des exemples d'URLs d�finies par la directive
AuthLDAPURL
.