]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_authz_host.xml.fr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / mod / mod_authz_host.xml.fr
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1793288 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_authz_host.xml.meta">
26
27 <name>mod_authz_host</name>
28 <description>Autorisations de groupe basées sur l'hôte (nom ou adresse
29 IP)</description>
30 <status>Base</status>
31 <sourcefile>mod_authz_host.c</sourcefile>
32 <identifier>authz_host_module</identifier>
33 <compatibility>Le fournisseur <code>forward-dns</code> est disponible à partir
34 de la version 2.4.19 du serveur HTTP Apache</compatibility>
35
36 <summary>
37     <p>Les fournisseurs d'autorisation implémentés par le module
38     <module>mod_authz_host</module> sont enregistrés à l'aide de
39     la directive <directive module="mod_authz_core">Require</directive>. On peut
40     utiliser cette directive à l'intérieur de sections <directive
41     module="core" type="section">Directory</directive>, <directive
42     module="core" type="section">Files</directive>, ou <directive
43     module="core" type="section">Location</directive> ou de fichiers
44     <code><a href="core.html#accessfilename">.htaccess</a> </code> pour
45     contrôler l'accès à certaines zones du serveur. Le contrôle d'accès
46     peut être effectué en fonction du nom d'hôte ou de l'adresse IP.</p>
47
48     <p>En général, les directives de restriction d'accès s'appliquent à
49     toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>,
50     <code>POST</code>, etc...). C'est d'ailleurs ce que l'on souhaite
51     dans la plupart des cas. Il est cependant possible de ne restreindre
52     l'accès que pour certaines méthodes, tout en laissant les autres
53     méthodes sans protection, en plaçant les directives dans une section
54     <directive module="core" type="section">Limit</directive>.</p>
55 </summary>
56
57 <seealso><a href="../howto/auth.html">Authentification, autorisation et
58 contrôle d'accès</a></seealso>
59 <seealso><directive module="mod_authz_core">Require</directive></seealso>
60
61 <section id="requiredirectives"><title>Les directives Require</title>
62
63     <p>La directive Apache <directive
64     module="mod_authz_core">Require</directive> est utilisée au cours de
65     la phase d'autorisation pour vérifier si un utilisateur se voit
66     accorder ou refuser l'accès à une ressource. mod_authz_host fournit
67     les types d'autorisation <code>ip</code>, <code>host</code>,
68     <code>forward-dns</code> et <code>local</code>. D'autres
69     types d'autorisation sont aussi disponibles, mais nécessitent le chargement
70     des modules d'autorisation appropriés.</p>
71
72     <p>Ces fournisseurs d'autorisation permettent de déterminer quels
73     hôtes peuvent accéder à une zone du serveur. On peut contrôler
74     l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle
75     d'adresses IP.</p>
76
77     <p>A partir de la version 2.4.8, les directives require host
78     supportent les <a href="../expr.html">expressions</a>.</p>
79
80 <section id="reqip"><title>Require ip</title>
81
82     <p>Le fournisseur <code>ip</code> permet de contrôler l'accès au
83     serveur en fonction de l'adresse IP du client distant. Lorsque
84     <code>Require ip <var>adresse-ip</var></code> est spécifié, la
85     requête est autorisée si l'adresse IP du client distant correspond
86     à</p>
87
88     <p>Une adresse IP complète :</p>
89
90     <highlight language="config">
91 Require ip 10.1.2.3
92 Require ip 192.168.1.104 192.168.1.205
93     </highlight>
94
95     <p>L'adresse IP d'un hôte pour qui l'accès est accordé</p>
96
97     <p>Une adresse IP partielle :</p>
98
99     <highlight language="config">
100 Require ip 10.1
101 Require ip 10 172.20 192.168.2
102     </highlight>
103     <p>Les 1 à 3 premiers octets d'une adresse IP, pour une restriction
104     à un sous-réseau.</p>
105
106     <p>Une paire réseau/masque de sous-réseau :</p>
107
108     <highlight language="config">
109       Require ip 10.1.0.0/255.255.0.0
110     </highlight>
111     <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une
112     restriction de sous-réseau plus fine.</p>
113
114     <p>Une spécification CIDR réseau/nnn :</p>
115
116     <highlight language="config">
117       Require ip 10.1.0.0/16
118     </highlight>
119     <p>Identique au cas précédent, excepté que le masque de sous-réseau
120     représente les nnn premiers bits de poids fort.</p>
121
122     <p>Notez que les trois derniers exemples correspondent exectement au
123     même ensemble d'hôtes.</p>
124
125     <p>On peut spécifier des adresses et des sous-réseaux IPv6 comme
126     suit :</p>
127
128     <highlight language="config">
129 Require ip 2001:db8::a00:20ff:fea7:ccea
130 Require ip 2001:db8:1:1::a
131 Require ip 2001:db8:2:1::/64
132 Require ip 2001:db8:3::/48
133     </highlight>
134
135     <p>Note: comme les adresses IP sont lues au démarrage, les
136     expressions ne sont pas évaluées au moment de la requête.</p>
137
138 </section>
139
140 <section id="reqhost"><title>Require host</title>
141
142     <p>Le fournisseur <code>host</code> permet de contrôler l'accès au
143     serveur en fonction du nom d'hôte du client distant. Lorsque
144     <code>Require host <var>nom-hôte</var></code> est spécifié, la
145     requête est autorisée si le nom d'hôte correspond à</p>
146
147     <p>Un nom de domaine (éventuellement partiel)</p>
148
149     <highlight language="config">
150 Require host example.org
151 Require host .net example.edu
152     </highlight>
153
154     <p>Les hôtes dont les noms correspondent ou se terminent par la
155     chaîne spécifiée se voient accorder l'accès. Seuls les élément de
156     nom de domaine complets sont mis en correspondance ; ainsi,
157     l'exemple ci-dessus correspondra à <code>foo.example.org</code>, mais
158     ne correspondra pas à <code>fooexample.org</code>. Avec cette
159     configuration, Apache va effectuer une double recherche DNS sur
160     l'adresse IP du client, sans tenir compte de la définition de la
161     directive  <directive module="core">HostnameLookups</directive>. Il
162     va effectuer une recherche DNS inverse sur l'adresse IP pour trouver
163     le nom d'hôte associé, puis une recherche DNS directe sur le nom
164     d'hôte pour vérifier qu'il correspond bien à l'adresse IP originale.
165     L'accès ne sera accordé que si le nom d'hôte correspond et si les
166     recherches DNS inverse et directe sont cohérentes.</p>
167
168 </section>
169 <section id="reqfwddns"><title>Require forward-dns</title>
170
171     <p>Le fournisseur <code>forward-dns</code> permet d'accéder au serveur
172     sécurisé en fonction de simples noms d'hôte. Lorsque <code>Require
173     forward-dns <var>host-name</var></code> est spécifié, toute adresse IP
174     correspondant à <code><var>host-name</var></code> se voit autoriser l'accès.</p>
175
176     <p>A la différence du fournisseur <code>host</code>, ce fournisseur
177     n'effectue pas de recherche DNS inverse : il effectue simplement une requête
178     DNS directe pour le nom d'hôte spécifié et donne accès au client si son
179     adresse IP correspond. Il ne fonctionnera donc qu'avec des noms d'hôte, et
180     non avec des noms de domaine. Par contre, comme le DNS inverse n'est pas
181     sollicité, il fonctionnera avec des clients qui utilisent un service de DNS
182     dynamique.</p>
183
184     <highlight language="config">
185 Require forward-dns bla.example.org
186     </highlight>
187
188     <p>Un client dont l'adresse IP correspond au nom d'hôte
189     <code>bla.example.org</code> se verra autoriser l'accès.</p>
190
191     <p>Le fournisseur <code>forward-dns</code> est disponible à partir de la
192     version 2.4.19 du serveur HTTP Apache.</p>
193 </section>
194
195 <section id="reqlocal"><title>Require local</title>
196
197     <p>Le fournisseur <code>local</code> autorise l'accès au serveur si
198     l'une au moins de ces conditions est satisfaite :</p>
199
200     <ul>
201         <li>l'adresse IP du client correspond à 127.0.0.0/8</li>
202         <li>l'adresse IP du client est ::1</li>
203         <li>les adresses IP du client et du serveur sont identiques</li>
204     </ul>
205
206     <p>L'exemple suivant montre une méthode simple pour sélectionner les
207     connexions en provenance de l'hôte local :</p>
208
209     <highlight language="config">
210     Require local
211     </highlight>
212
213 </section>
214
215 <section id="proxy"><title>Note concernant la sécurité</title>
216
217     <p>Si le contenu de votre serveur est mandaté, vous devez garder à
218     l'esprit que l'adresse client correspondra à l'adresse de votre
219     serveur mandataire et non à l'adresse du client, et l'utilisation de
220     la directive <code>Require</code> dans ce contexte ne provoquera pas
221     forcément l'effet désiré. Voir <module>mod_remoteip</module> pour
222     une solution possible à ce problème.</p>
223     
224 </section>
225
226 </section>
227
228 </modulesynopsis>