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