]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_remoteip.xml.fr
xforms
[apache] / docs / manual / mod / mod_remoteip.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1333771 -->
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_remoteip.xml.meta">
26
27 <name>mod_remoteip</name>
28 <description>Remplace l'adresse IP et le nom d'h&ocirc;te apparents du client
29 pour la requ&ecirc;te par l'adresse IP pr&eacute;sent&eacute;e par un mandataire ou un
30 r&eacute;partiteur de charge via les en-t&ecirc;tes de la requ&ecirc;te.
31 </description>
32
33 <status>Base</status>
34 <sourcefile>mod_remoteip.c</sourcefile>
35 <identifier>remoteip_module</identifier>
36
37 <summary>
38     <p>Ce module permet de traiter l'h&ocirc;te distant qui a initi&eacute; la
39     requ&ecirc;te en tant qu'h&ocirc;te distant original du point de vue de httpd &agrave;
40     des fins d'autorisation et de connexion, m&ecirc;me si cet h&ocirc;te distant se
41     trouve derri&egrave;re un r&eacute;partiteur de charge, un serveur frontal, ou un
42     serveur mandataire.</p>
43
44     <p>Le module remplace les adresse IP et nom d'h&ocirc;te apparents
45     distants (du client) pour la requ&ecirc;te par l'adresse IP indiqu&eacute;e dans
46     l'en-t&ecirc;te de requ&ecirc;te configur&eacute; via la directive
47     <directive>RemoteIPHeader</directive>.</p>
48
49     <p>Une fois remplac&eacute;e comme indiqu&eacute;, cette adresse IP apparente est
50     utilis&eacute;e pour les fonctionnalit&eacute;s <directive module="mod_authz_host"
51     type="section">Require host</directive> et <directive
52     module="mod_authz_host" type="section">Require ip</directive> de
53     <module>mod_authz_host</module> ; elle est aussi affich&eacute;e par
54     <module>mod_status</module>, et enregistr&eacute;e via les directives
55     <code>%a</code> et <code>%h</code> du module
56     <module>mod_log_config</module>. Elle permet aussi d'identifier la
57     machine en essayant de lui attribuer une identit&eacute; inetd via le
58     module <module>mod_ident</module> et en fonction de la configuration
59     de la directive <directive
60     module="mod_ident">IdentityCheck</directive>.</p>
61
62     <note type="warning">Il est essentiel de n'activer cette
63     fonctionnalit&eacute; que pour les requ&ecirc;tes en provenance des serveurs
64     interm&eacute;diaires (mandataires, etc...) auxquels le serveur peut faire
65     confiance, car il est trivial pour le client distant d'usurper
66     l'identit&eacute; d'un autre client.</note>
67 </summary>
68
69 <seealso><module>mod_authz_host</module></seealso>
70 <seealso><module>mod_status</module></seealso>
71 <seealso><module>mod_log_config</module></seealso>
72 <seealso><module>mod_ident</module></seealso>
73
74 <section id="processing"><title>Traitement des adresses distantes</title>
75
76     <p>Apache identifie le client par la valeur remote_ip de la
77     connexion, et de cette valeur d&eacute;coulent les valeurs remote_host et
78     remote_logname de la connexion. Ces champs jouent un r&ocirc;le
79     dans l'authentification, l'autorisation et la connexion, ainsi que
80     dans d'autres traitements effectu&eacute;s par d'autres modules
81     chargeables.</p>
82
83     <p>mod_remoteip remplace la v&eacute;ritable remote_ip par la remote_ip
84     indiqu&eacute;e par exemple par un mandataire chaque fois que le serveur
85     effectue une &eacute;valuation du client, et r&eacute;initialise les valeurs de
86     remote_host et remote_logname afin de d&eacute;clencher une nouvelle
87     requ&ecirc;te dns ou ident sur l'adresse IP distante.</p>
88
89     <p>Lorsque la valeur de l'en-t&ecirc;te comporte plusieurs adresses IP
90     distantes s&eacute;par&eacute;es par des virgules, celles-ci sont trait&eacute;es de la
91     droite vers la gauche. Le traitement s'arr&ecirc;te lorsque l'adresse IP
92     distante courante n'est pas digne de confiance pour pr&eacute;senter
93     l'adresse IP pr&eacute;c&eacute;dente. Le champ d'en-t&ecirc;te est alors mis &agrave; jour de
94     fa&ccedil;on &agrave; ne contenir que cette liste d'adresses non confirm&eacute;es, ou
95     bien, si toutes les adresses IP sont dignes de confiance, cet
96     en-t&ecirc;te est tout bonnement supprim&eacute; de la requ&ecirc;te.</p>
97
98     <p>Lors du remplacement de l'adresse IP distante, le module stocke
99     la liste des h&ocirc;tes interm&eacute;diaires dans un m&eacute;mo
100     remoteip-proxy-ip-list, que l'on peut faire enregistrer par
101     <module>mod_log_config</module> en utilisant le symbole de format
102     <code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit
103     stocker ceci dans un en-t&ecirc;te additionnel, la m&ecirc;me valeur peut aussi
104     &ecirc;tre enregistr&eacute;e sous la forme d'un en-t&ecirc;te en utilisant la
105     directive <directive>RemoteIPProxiesHeader</directive>.</p>
106
107     <note><title>Adresses IPv4 converties au format IPv6</title>
108     Avec httpd, d'une mani&egrave;re g&eacute;n&eacute;rale, toute adresse IPv4 convertie au
109     format IPv6 est enregistr&eacute;e sous sa forme IPv4.</note>
110
111     <note><title>Adresses internes (priv&eacute;es)</title>
112     Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16,
113     169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc
114     public 2000::/3 block) ne sont &eacute;valu&eacute;es par mod_remoteip que lorsque
115     des mandataires internes (intranet)
116     <directive>RemoteIPInternalProxy</directive> sont enregistr&eacute;s.</note>
117
118 </section>
119
120 <directivesynopsis>
121 <name>RemoteIPHeader</name>
122 <description>D&eacute;finit le champ d'en-t&ecirc;te qui contiendra les adresses IP
123 du client</description>
124 <syntax>RemoteIPHeader <var>en-t&ecirc;te</var></syntax>
125 <contextlist><context>server config</context><context>virtual host</context></contextlist>
126
127 <usage>
128     <p>La directive <directive>RemoteIPHeader</directive> indique &agrave;
129     <module>mod_remoteip</module> de traiter la valeur de
130     l'<var>en-t&ecirc;te</var> sp&eacute;cifi&eacute; comme l'adresse IP du client, ou comme
131     une liste d'adresses IP clients interm&eacute;diaires, en fonction de la
132     configuration des directives
133     <directive>RemoteIPInternalProxy</directive> et
134     <directive>RemoteIPTrustedProxy</directive>. Si ces deux derni&egrave;res
135     directives ne sont pas utilis&eacute;es, <module>mod_remoteip</module>
136     traitera tout h&ocirc;te pr&eacute;sentant une valeur d'IP
137     <directive>RemoteIPHeader</directive> comme h&ocirc;te de confiance.</p>
138
139     <example><title>Exemple &agrave; usage interne (r&eacute;partiteur de
140     charge)</title>
141     <highlight language="config">
142         RemoteIPHeader X-Client-IP
143         </highlight>
144     </example>
145
146     <example><title>Exemple dans le cas d'un mandataire</title>
147     <highlight language="config">
148         RemoteIPHeader X-Forwarded-For
149         </highlight>
150     </example>
151 </usage>
152 </directivesynopsis>
153
154 <directivesynopsis>
155 <name>RemoteIPInternalProxy</name>
156 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
157 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
158 <syntax>RemoteIPInternalProxy
159 <var>ip-mandataire</var>|<var>ip-mandataire/sous-r&eacute;seau</var>|<var>nom-h&ocirc;te</var> ...</syntax>
160 <contextlist><context>server config</context><context>virtual host</context></contextlist>
161
162 <usage>
163     <p>La directive <directive>RemoteIPInternalProxy</directive> permet
164     d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
165     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
166     valide de l'adresse IP du client. A la diff&eacute;rence de la directive
167     <directive>RemoteIPTrustedProxy</directive>, toute adresse IP
168     pr&eacute;sent&eacute;e dans cet en-t&ecirc;te, y comprises les adresses intranet
169     priv&eacute;es, sont consid&eacute;r&eacute;es comme dignes de confiance lorsqu'elles
170     sont indiqu&eacute;es par ces mandataires.</p>
171
172     <example><title>Exemple &agrave; usage interne (r&eacute;partiteur de
173     charge)</title>
174         <highlight language="config">
175 RemoteIPHeader X-Client-IP
176 RemoteIPInternalProxy 10.0.2.0/24
177 RemoteIPInternalProxy gateway.localdomain
178         </highlight>
179     </example>
180 </usage>
181 </directivesynopsis>
182
183 <directivesynopsis>
184 <name>RemoteIPInternalProxyList</name>
185 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
186 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
187 <syntax>RemoteIPInternalProxyList <var>nom-fichier</var></syntax>
188 <contextlist><context>server config</context><context>virtual host</context></contextlist>
189
190 <usage>
191     <p>La directive <directive>RemoteIPInternalProxyList</directive>
192     permet de sp&eacute;cifier un fichier parcouru au d&eacute;marrage du serveur pour
193     construire une liste d'adresses (ou blocs d'adresses), auxquelles
194     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
195     valide de l'adresse IP du client.</p>
196
197     <p>Le caract&egrave;re '<code>#</code>' indique une ligne de commentaires,
198     sinon, toutes les lignes s&eacute;par&eacute;es par un caract&egrave;re <code>nouvelle
199     ligne</code> ou
200     tous les &eacute;l&eacute;ments d'une ligne s&eacute;par&eacute;s par un espace sont trait&eacute;s de
201     la m&ecirc;me fa&ccedil;on qu'avec la directive
202     <directive>RemoteIPInternalProxy</directive>.</p>
203
204     <example><title>Exemple &agrave; usage interne (r&eacute;partiteur de
205     charge)</title>
206         <highlight language="config">
207 RemoteIPHeader X-Client-IP
208 RemoteIPInternalProxyList conf/trusted-proxies.lst
209         </highlight>
210     </example>
211
212     <example><title>contenu de conf/mandataires-de-confiance.lst</title>
213     <example><pre>
214          # Nos mandataires internes de confiance
215          10.0.2.0/24         # Tout le monde dans le groupe de test
216          passerelle.domaine-local # Le frontal r&eacute;partiteur de charge
217          </pre></example>
218     </example>
219 </usage>
220 </directivesynopsis>
221
222 <directivesynopsis>
223 <name>RemoteIPProxiesHeader</name>
224 <description>D&eacute;clare le champ d'en-t&ecirc;te qui contiendra toutes les
225 adresses IP interm&eacute;diaires</description>
226 <syntax>RemoteIPProxiesHeader <var>Nom_en-t&ecirc;te</var></syntax>
227 <contextlist><context>server config</context><context>virtual host</context></contextlist>
228
229 <usage>
230     <p>La directive <directive>RemoteIPProxiesHeader</directive> permet
231     de sp&eacute;cifier l'en-t&ecirc;te dans lequel <module>mod_remoteip</module> va
232     collecter une liste de toutes les adresses IP clients interm&eacute;diaires
233     auxquelles on pourra faire confiance pour r&eacute;soudre la v&eacute;ritable
234     adresse IP distante. Notez que les adresses interm&eacute;diaires
235     <directive>RemoteIPTrustedProxy</directive> sont enregistr&eacute;es dans
236     cet en-t&ecirc;te, alors que toute adresse interm&eacute;diaire
237     <directive>RemoteIPInternalProxy</directive> est omise.</p>
238
239     <example><title>Exemple</title>
240         <highlight language="config">
241 RemoteIPHeader X-Forwarded-For
242 RemoteIPProxiesHeader X-Forwarded-By
243     </highlight>
244     </example>
245 </usage>
246 </directivesynopsis>
247
248 <directivesynopsis>
249 <name>RemoteIPTrustedProxy</name>
250 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
251 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
252 <syntax>RemoteIPTrustedProxy
253 <var>ip-mandataire</var>|<var>ip-mandataire/sous-r&eacute;seau</var>|<var>nom-h&ocirc;te</var> ...</syntax>
254 <contextlist><context>server config</context><context>virtual host</context></contextlist>
255
256 <usage>
257     <p>La directive <directive>RemoteIPTrustedProxy</directive> permet
258     d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles
259     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
260     valide de l'adresse IP du client. A la diff&eacute;rence de la directive
261     <directive>RemoteIPInternalProxy</directive>, toutes les adresses IP
262     intranet ou priv&eacute;es indiqu&eacute;es par de tels mandataires, y compris les
263     blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8
264     (ou situ&eacute;e en dehors du bloc IPv6 public 2000::/3), ne sont pas
265     dignes de confiance en tant qu'adresses IP distantes, et se situent
266     &agrave; gauche dans le contenu de l'en-t&ecirc;te
267     <directive>RemoteIPHeader</directive>.</p>
268
269     <example><title>Exemple d'adresse de confiance (r&eacute;partiteur de
270     charge</title>
271         <highlight language="config">
272 RemoteIPHeader X-Forwarded-For
273 RemoteIPTrustedProxy 10.0.2.16/28
274 RemoteIPTrustedProxy proxy.example.com
275         </highlight>
276     </example>
277 </usage>
278 </directivesynopsis>
279
280 <directivesynopsis>
281 <name>RemoteIPTrustedProxyList</name>
282 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
283 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
284 <syntax>RemoteIPTrustedProxyList <var>nom-fichier</var></syntax>
285 <contextlist><context>server config</context><context>virtual host</context></contextlist>
286
287 <usage>
288     <p>La directive <directive>RemoteIPTrustedProxyList</directive>
289     permet de sp&eacute;cifier un fichier parcouru au d&eacute;marrage du serveur pour
290     construire une liste d'adresses (ou blocs d'adresses), auxquelles
291     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
292     valide de l'adresse IP du client.</p>
293
294     <p>Le caract&egrave;re '<code>#</code>' indique une ligne de commentaires,
295     sinon, toutes les lignes s&eacute;par&eacute;es par un caract&egrave;re nouvelle ligne ou
296     tous les &eacute;l&eacute;ments d'une ligne s&eacute;par&eacute;s par un espace sont trait&eacute;s de
297     la m&ecirc;me fa&ccedil;on qu'avec la directive
298     <directive>RemoteIPTrustedProxy</directive>.</p>
299
300     <example><title>Exemple d'adresse de confiance (r&eacute;partiteur de
301     charge</title>
302         <highlight language="config">
303 RemoteIPHeader X-Forwarded-For
304 RemoteIPTrustedProxyList conf/trusted-proxies.lst
305         </highlight>
306     </example>
307
308     <example><title>conf/mandataires-de-confiance.lst contents</title>
309        # Mandataires externes identifi&eacute;s<br/>
310        192.0.2.16/28         #groupe wap phone de mandataires<br/>
311        proxy.isp.example.com #un FAI bien connu
312     </example>
313 </usage>
314 </directivesynopsis>
315
316
317 </modulesynopsis>