<-
Apache > Serveur HTTP > Documentation > Version 2.2 > Modules

Module Apache mod_authz_host

Langues Disponibles:  en  |  fr  |  ja  |  ko 

Description:Autorisations de groupe bas�es sur l'h�te (nom ou adresse IP)
Statut:Base
Identificateur�de�Module:authz_host_module
Fichier�Source:mod_authz_host.c
Compatibilit�:Disponible depuis les versions 2.1 et sup�rieures d'Apache

Sommaire

Les directives fournies par le module mod_authz_host s'utilisent dans des sections <Directory>, <Files>, et <Location>, ou des fichiers .htaccess pour contr�ler l'acc�s � certaines zones du serveur. Le contr�le d'acc�s peut �tre effectu� en fonction du nom d'h�te, de l'adresse IP, ou d'autres caract�ristiques de la requ�te client, telles qu'elles sont enregistr�es dans des variables d'environnement. Les directives Allow et Deny permettent de sp�cifier quels clients sont ou ne sont pas autoris�s � acc�der au serveur, alors que la directive Order d�finit le statut d'acc�s par d�faut, et d�termine la mani�re dont les directives Allow et Deny vont interagir.

Les restrictions d'acc�s bas�es sur l'h�te et l'authentification � base de mots de passe peuvent �tre utilis�es conjointement. Dans ce cas, la directive Satisfy permet de d�terminer la mani�re dont ces deux m�thodes de restriction interagissent.

En g�n�ral, les directives de restriction d'acc�s s'appliquent � toutes les m�thodes d'acc�s (GET, PUT, POST, etc...). C'est d'ailleurs ce que l'on souhaite dans la plupart des cas. Il est cependant possible de ne restreindre l'acc�s que pour certaines m�thodes, tout en laissant les autres m�thodes sans protection, en pla�ant les directives dans une section <Limit>.

Directives

Voir aussi

top

Allow Directive

Description:Contr�les quels h�tes peuvent acc�der � une certaine zone du serveur
Syntaxe: Allow from all|h�te|env=[!]var-env [h�te|env=[!]var-env] ...
Contexte:r�pertoire, .htaccess
AllowOverride:Limit
Statut:Base
Module:mod_authz_host
Compatibilit�:Le support de la n�gation de env=env-variable est assur� depuis la version 2.2.10 du serveur HTTP Apache

La directive Allow permet de contr�ler quels h�tes peuvent acc�der � une zone du serveur. On peut contr�ler l'acc�s en fonction du nom d'h�te, de l'adresse IP, d'un intervalle d'adresses IP, ou d'autres caract�ristiques de la requ�te client enregistr�es dans des variables d'environnement.

Le premier argument de cette directive est toujours from. Les arguments suivants peuvent se pr�senter sous trois formes. Si Allow from all est sp�cifi�, tous les h�tes ont l'autorisation d'acc�s, sauf si la configuration des directives Deny et Order apporte une restriction quelconque, comme d�crit plus loin. Afin de n'accorder l'acc�s au serveur qu'� certains h�tes ou groupes d'h�tes, on peut utiliser l'argument h�te sous les formes suivantes :

Un nom de domaine, �ventuellement partiel

Exemple :

Allow from apache.org
Allow from .net exemple.edu

Les h�tes dont les nom correspond � la cha�ne sp�cifi�e, ou se terminant par elle, sont autoris�s � acc�der. Seuls les �l�ments complets du nom de domaine sont compar�s, si bien que l'exemple ci-dessus correspondra � foo.apache.org, mais pas � fooapache.org. Avec cette configuration, Apache va effectuer une double recherche DNS sur l'adresse IP du client, sans tenir compte de la d�finition de la directive HostnameLookups. Il effectue tout d'abord une recherche DNS inverse sur l'adresse IP afin de d�terminer le nom d'h�te associ�, puis une recherche directe sur le nom d'h�te pour v�rifier s'il correspond bien � l'adresse IP originale. L'acc�s ne sera accord� que si le nom d'h�te correspond � la cha�ne sp�cifi�e et si les recherches DNS inverse et directe produisent un r�sultat coh�rent.

Une adresse IP compl�te

Exemple :

Allow from 10.1.2.3
Allow from 192.168.1.104 192.168.1.205

L'adresse IP d'un h�te qui a l'autorisation d'acc�s

Une adresse IP partielle

Exemple :

Allow from 10.1
Allow from 10 172.20 192.168.2

Les 1 � 3 premiers octets d'une adresse IP, pour r�f�rencer un sous-r�seau.

Une paire r�seau/masque de sous-r�seau

Exemple :

Allow from 10.1.0.0/255.255.0.0

Un r�seau a.b.c.d, et un masque de sous-r�seau w.x.y.z. pour la restriction plus fine d'un sous-r�seau.

Une sp�cification CIDR r�seau/nnn

Exemple :

Allow from 10.1.0.0/16

Identique au cas pr�c�dent, mais le masque de sous-r�seau se compose des nnn bits de poids forts.

Notez que les trois derniers exemples r�f�rencent exactement le m�me ensemble d'h�tes.

On peut sp�cifier des adresses et sous-r�seaux IPv6 de la mani�re suivante :

Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10

Le troisi�me format d'arguments de la directive Allow permet de contr�ler l'acc�s au serveur en fonction de l'existence d'une variable d'environnement. Lorsque Allow from env=var-env est sp�cifi�, la requ�te est autoris�e si la variable d'environnement var-env existe. Lorsque Allow from env=!var-env est sp�cifi�, la requ�te est autoris�e � acc�der si la variable d'environnement var-env n'existe pas. Le serveur fournit la possibilit� de d�finir des variables d'environnement avec une grande souplesse en fonction des caract�ristiques de la requ�te client � l'aide des directives fournies par le module mod_setenvif. On peut ainsi utiliser cette directive pour contr�ler l'acc�s en fonction de certains en-t�tes comme User-Agent (type de navigateur), Referer, etc...

Exemple :

SetEnvIf User-Agent ^KnockKnock/2\.0 laisse_moi_entrer
<Directory /docroot>
Order Deny,Allow
Deny from all
Allow from env=laisse_moi_entrer
</Directory>

Dans cet exemple, les navigateurs dont la cha�ne de description de l'en-t�te user-agent commence par KnockKnock/2.0 se verront accorder l'acc�s, alors que tous les autres se le verront refuser.

top

Deny Directive

Description:D�termine quels h�tes ont l'acc�s au serveur refus�
Syntaxe: Deny from all|h�te|env=[!]var-env [h�te|env=[!]var-env] ...
Contexte:r�pertoire, .htaccess
AllowOverride:Limit
Statut:Base
Module:mod_authz_host

Cette directive permet de restreindre l'acc�s au serveur en fonction du nom d'h�te, de l'adresse IP, ou de variables d'environnement. Les arguments de la directive Deny sont identiques � ceux de la directive Allow..

top

Order Directive

Description:D�termine le statut d'acc�s par d�faut et l'ordre dans lequel les directives Allow et Deny sont �valu�es.
Syntaxe: Order ordre
D�faut:Order Deny,Allow
Contexte:r�pertoire, .htaccess
AllowOverride:Limit
Statut:Base
Module:mod_authz_host

La directive Order, utilis�e avec les directives Allow et Deny, fournit un syst�me de contr�le d'acc�s en trois passes. La premi�re passe traite soit toutes les directives Allow, soit toutes les directives Deny, comme sp�cifi� par la directive Order. La seconde passe traite le reste des directives (Deny ou Allow). La troisi�me passe s'applique � toutes les requ�tes auxquelles aucune des deux premi�res passes ne s'appliquent.

Notez que toutes les directives Allow et Deny sont trait�es, � la diff�rence d'un pare-feu classique, o� seule la premi�re r�gle qui convient est trait�e. La derni�re directive qui convient l'emporte sur les autres (� la diff�rence l� aussi d'un pare-feu classique). De plus, l'ordre dans lequel les lignes apparaissent dans les fichiers de configuration n'a aucune importance -- toutes les directives Allow sont trait�es comme un groupe, toutes les directives Deny comme un autre, et le statut d'acc�s par d�faut est ind�pendant.

Ordre peut �tre soit :

Allow,Deny
Toutes les directives Allow sont �valu�es en premier ; l'une d'elles au moins doit convenir, faute de quoi la requ�te sera rejet�e. Vient ensuite le tour des directives Deny. Si l'une au moins convient, le requ�te est rejet�e. Enfin, toute requ�te � laquelle ne convient aucune directive Allow ou Deny sera rejet�e par d�faut.
Deny,Allow
Toutes les directives Deny sont �valu�es en premier ; si l'une au moins convient, le requ�te est rejet�e, sauf si une directive Allow convient aussi. Enfin, toute requ�te � laquelle ne convient aucune directive Allow ou Deny aura l'autorisation d'acc�s par d�faut.
Mutual-failure
Cet ordre est identique � l'ordre Order Allow,Deny qui le remplace.

Les mots-cl�s ne doivent �tre s�par�s que par des virgules ; aucun espace ne doit s'intercaler entre eux.

Directives qui conviennent R�sultat de Allow,Deny R�sultat de Deny,Allow
Allow seulement convient Requ�te autoris�e Requ�te autoris�e
Deny seulement convient Requ�te rejet�e Requ�te rejet�e
Aucune directive ne convient La seconde directive par d�faut: Rejet La seconde directive par d�faut: Autorisation
Allow & Deny conviennent La derni�re directive qui convient prend le contr�le: Rejet La derni�re directive qui convient prend le contr�le: Autorisation

Dans l'exemple suivant, tous les h�tes du domaine apache.org ont l'autorisation d'acc�s ; tous les autres h�tes voient leur acc�s refus�.

Order Deny,Allow
Deny from all
Allow from apache.org

Dans l'exemple suivant, tous les h�tes du domaine apache.org ont l'autorisation d'acc�s, sauf les h�tes du sous-domaine foo.apache.org qui voient leur acc�s refus�. Tous les h�tes qui ne font pas partie du domaine apache.org voient leur acc�s refus� car le statut d'acc�s par d�faut est d�fini � Deny.

Order Allow,Deny
Allow from apache.org
Deny from foo.apache.org

En revanche, si la directive Order du dernier exemple a pour valeur Deny,Allow, tous les h�tes auront l'autorisation d'acc�s. Ceci est d� au fait que l'on ne tient pas compte de l'ordre dans lequel apparaissent les directives dans le fichier de configuration, et que la directive Allow from apache.org est �valu�e en dernier et l'emporte donc sur la directive Deny from foo.apache.org. Tous les h�tes qui ne font pas partie du domaine apache.org auront aussi l'autorisation d'acc�s, car le statut d'acc�s par d�faut est d�fini � Allow.

M�me en l'absence de directives Allow et Deny associ�es, la pr�sence d'une directive Order peut affecter l'acc�s � une partie du serveur, � cause de son effet sur le statut d'acc�s par d�faut. Par exemple,

<Directory /www>
Order Allow,Deny
</Directory>

interdira tout acc�s au r�pertoire /www car le statut d'acc�s par d�faut est d�fini � Deny.

La directive Order ne contr�le l'ordre de traitement des directives d'acc�s qu'� l'int�rieur de chaque phase du traitement de la configuration du serveur. Ceci implique, par exemple, qu'une directive Allow ou Deny apparaissant dans une section <Location> sera toujours �valu�e apr�s une directive Allow ou Deny apparaissant dans une section <Directory> ou un fichier .htaccess, sans tenir compte de la d�finition de la directive Order. Pour plus de d�tails sur la fusion des sections de configuration, voir la documentation Comment fonctionnent les sections Directory, Location et Files.

Langues Disponibles:  en  |  fr  |  ja  |  ko 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.