Serveur Apache HTTP Version 2.4
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.3 et sup�rieures d'Apache |
Les fournisseurs d'autorisation impl�ment�s par le module
mod_authz_host
sont enregistr�s � l'aide de
la directive Require
. On peut
utiliser cette directive � l'int�rieur de sections <Directory>
, <Files>
, ou <Location>
ou de 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 ou de l'adresse IP.
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>
.
Ce module ne fournit aucune directive.
La directive Apache Require
est utilis�e au cours de
la phase d'autorisation pour v�rifier si un utilisateur se voit
accorder ou refuser l'acc�s � une ressource. mod_authz_host fournit
les types d'autorisation ip
, host
et local
. D'autres
types d'autorisation
sont aussi disponibles, mais n�cessitent le chargement des modules
d'autorisation appropri�s.
Ces fournisseurs d'autorisation permettent de d�terminer 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, ou d'un intervalle d'adresses IP.
A partir de la version 2.4.8, les directives require host supportent les expressions.
Le fournisseur ip
permet de contr�ler l'acc�s au
serveur en fonction de l'adresse IP du client distant. Lorsque
Require ip adresse-ip
est sp�cifi�, la
requ�te est autoris�e si l'adresse IP du client distant correspond
�
Une adresse IP compl�te :
Require ip 10.1.2.3 Require ip 192.168.1.104 192.168.1.205
L'adresse IP d'un h�te pour qui l'acc�s est accord�
Une adresse IP partielle :
Require ip 10.1 Require ip 10 172.20 192.168.2
Les 1 � 3 premiers octets d'une adresse IP, pour une restriction � un sous-r�seau.
Une paire r�seau/masque de sous-r�seau :
Require ip 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 une restriction de sous-r�seau plus fine.
Une sp�cification CIDR r�seau/nnn :
Require ip 10.1.0.0/16
Identique au cas pr�c�dent, except� que le masque de sous-r�seau repr�sente les nnn premiers bits de poids fort.
Notez que les trois derniers exemples correspondent exectement au m�me ensemble d'h�tes.
On peut sp�cifier des adresses et des sous-r�seaux IPv6 comme suit :
Require ip 2001:db8::a00:20ff:fea7:ccea Require ip 2001:db8::a00:20ff:fea7:ccea/10
Note: comme les adresses IP sont lues au d�marrage, les expressions ne sont pas �valu�es au moment de la requ�te.
Le fournisseur host
permet de contr�ler l'acc�s au
serveur en fonction du nom d'h�te du client distant. Lorsque
Require host nom-h�te
est sp�cifi�, la
requ�te est autoris�e si le nom d'h�te correspond �
Un nom de domaine (�ventuellement partiel)
Require host example.org Require host .net example.edu
Les h�tes dont les noms correspondent ou se terminent par la
cha�ne sp�cifi�e se voient accorder l'acc�s. Seuls les �l�ment de
nom de domaine complets sont mis en correspondance ; ainsi,
l'exemple ci-dessus correspondra � foo.example.org
, mais
ne correspondra pas � fooexample.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
va effectuer une recherche DNS inverse sur l'adresse IP pour trouver
le nom d'h�te associ�, puis une recherche DNS directe sur le nom
d'h�te pour v�rifier qu'il correspond bien � l'adresse IP originale.
L'acc�s ne sera accord� que si le nom d'h�te correspond et si les
recherches DNS inverse et directe sont coh�rentes.
Le fournisseur local
autorise l'acc�s au serveur si
l'une au moins de ces conditions est satisfaite :
L'exemple suivant montre une m�thode simple pour s�lectionner les connexions en provenance de l'h�te local :
Require local
Si le contenu de votre serveur est mandat�, vous devez garder �
l'esprit que l'adresse client correspondra � l'adresse de votre
serveur mandataire et non � l'adresse du client, et l'utilisation de
la directive Require
dans ce contexte ne provoquera pas
forc�ment l'effet d�sir�. Voir mod_remoteip
pour
une solution possible � ce probl�me.