]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_remoteip.xml.fr
Change RemoteIPTrustedProxy to RemoteIPInternalProxy.
[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: 1328333:1331219 (outdated) -->
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">RemoteIPHeader X-Client-IP</highlight>
142     </example>
143
144     <example><title>Exemple dans le cas d'un mandataire</title>
145         <highlight language="config">RemoteIPHeader X-Forwarded-For</highlight>
146     </example>
147 </usage>
148 </directivesynopsis>
149
150 <directivesynopsis>
151 <name>RemoteIPInternalProxy</name>
152 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
153 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
154 <syntax>RemoteIPInternalProxy
155 <var>ip-mandataire</var>|<var>ip-mandataire/sous-r&eacute;seau</var>|<var>nom-h&ocirc;te</var> ...</syntax>
156 <contextlist><context>server config</context><context>virtual host</context></contextlist>
157
158 <usage>
159     <p>La directive <directive>RemoteIPInternalProxy</directive> permet
160     d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
161     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
162     valide de l'adresse IP du client. A la diff&eacute;rence de la directive
163     <directive>RemoteIPTrustedProxy</directive>, toute adresse IP
164     pr&eacute;sent&eacute;e dans cet en-t&ecirc;te, y comprises les adresses intranet
165     priv&eacute;es, sont consid&eacute;r&eacute;es comme dignes de confiance lorsqu'elles
166     sont indiqu&eacute;es par ces mandataires.</p>
167
168     <example><title>Exemple &agrave; usage interne (r&eacute;partiteur de
169     charge)</title>
170     <highlight language="config">
171 RemoteIPHeader X-Client-IP
172 RemoteIPInternalProxy 10.0.2.0/24
173 RemoteIPInternalProxy passerelle.domaine-local
174     </highlight>
175     </example>
176 </usage>
177 </directivesynopsis>
178
179 <directivesynopsis>
180 <name>RemoteIPInternalProxyList</name>
181 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
182 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
183 <syntax>RemoteIPInternalProxyList <var>nom-fichier</var></syntax>
184 <contextlist><context>server config</context><context>virtual host</context></contextlist>
185
186 <usage>
187     <p>La directive <directive>RemoteIPInternalProxyList</directive>
188     permet de sp&eacute;cifier un fichier parcouru au d&eacute;marrage du serveur pour
189     construire une liste d'adresses (ou blocs d'adresses), auxquelles
190     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
191     valide de l'adresse IP du client.</p>
192
193     <p>Le caract&egrave;re '<code>#</code>' indique une ligne de commentaires,
194     sinon, toutes les lignes s&eacute;par&eacute;es par un caract&egrave;re <code>nouvelle
195     ligne</code> ou
196     tous les &eacute;l&eacute;ments d'une ligne s&eacute;par&eacute;s par un espace sont trait&eacute;s de
197     la m&ecirc;me fa&ccedil;on qu'avec la directive
198     <directive>RemoteIPInternalProxy</directive>.</p>
199
200     <example><title>Exemple &agrave; usage interne (r&eacute;partiteur de
201     charge)</title>
202     <highlight language="config">
203 RemoteIPHeader X-Client-IP
204 RemoteIPInternalProxyList conf/mandataires-de-confiance.lst
205     </highlight>
206     </example>
207
208     <example><title>contenu de conf/mandataires-de-confiance.lst</title>
209          # Nos mandataires internes de confiance<br/>
210          10.0.2.0/24         # Tout le monde dans le groupe de test<br/>
211          passerelle.domaine-local # Le frontal r&eacute;partiteur de charge
212     </example>
213 </usage>
214 </directivesynopsis>
215
216 <directivesynopsis>
217 <name>RemoteIPProxiesHeader</name>
218 <description>D&eacute;clare le champ d'en-t&ecirc;te qui contiendra toutes les
219 adresses IP interm&eacute;diaires</description>
220 <syntax>RemoteIPProxiesHeader <var>Nom_en-t&ecirc;te</var></syntax>
221 <contextlist><context>server config</context><context>virtual host</context></contextlist>
222
223 <usage>
224     <p>La directive <directive>RemoteIPProxiesHeader</directive> permet
225     de sp&eacute;cifier l'en-t&ecirc;te dans lequel <module>mod_remoteip</module> va
226     collecter une liste de toutes les adresses IP clients interm&eacute;diaires
227     auxquelles on pourra faire confiance pour r&eacute;soudre la v&eacute;ritable
228     adresse IP distante. Notez que les adresses interm&eacute;diaires
229     <directive>RemoteIPTrustedProxy</directive> sont enregistr&eacute;es dans
230     cet en-t&ecirc;te, alors que toute adresse interm&eacute;diaire
231     <directive>RemoteIPInternalProxy</directive> est omise.</p>
232
233     <example><title>Exemple</title>
234         <highlight language="config">
235 RemoteIPHeader X-Forwarded-For
236 RemoteIPProxiesHeader X-Forwarded-By
237         </highlight>
238     </example>
239 </usage>
240 </directivesynopsis>
241
242 <directivesynopsis>
243 <name>RemoteIPTrustedProxy</name>
244 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
245 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
246 <syntax>RemoteIPTrustedProxy
247 <var>ip-mandataire</var>|<var>ip-mandataire/sous-r&eacute;seau</var>|<var>nom-h&ocirc;te</var> ...</syntax>
248 <contextlist><context>server config</context><context>virtual host</context></contextlist>
249
250 <usage>
251     <p>La directive <directive>RemoteIPTrustedProxy</directive> permet
252     d'ajouter une ou plusieurs adresses, ou blocs d'adresses, auxquelles
253     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
254     valide de l'adresse IP du client. A la diff&eacute;rence de la directive
255     <directive>RemoteIPInternalProxy</directive>, toutes les adresses IP
256     intranet ou priv&eacute;es indiqu&eacute;es par de tels mandataires, y compris les
257     blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8
258     (ou situ&eacute;e en dehors du bloc IPv6 public 2000::/3), ne sont pas
259     dignes de confiance en tant qu'adresses IP distantes, et se situent
260     &agrave; gauche dans le contenu de l'en-t&ecirc;te
261     <directive>RemoteIPHeader</directive>.</p>
262
263     <example><title>Exemple d'adresse de confiance (r&eacute;partiteur de
264     charge</title>
265         <highlight language="config">
266 RemoteIPHeader X-Forwarded-For
267 RemoteIPTrustedProxy 10.0.2.16/28
268 RemoteIPTrustedProxy proxy.example.com
269         </highlight>
270     </example>
271 </usage>
272 </directivesynopsis>
273
274 <directivesynopsis>
275 <name>RemoteIPTrustedProxyList</name>
276 <description>D&eacute;clare les adresses IP intranet clients comme dignes de
277 confiance pour pr&eacute;senter la valeur RemoteIPHeader</description>
278 <syntax>RemoteIPTrustedProxyList <var>nom-fichier</var></syntax>
279 <contextlist><context>server config</context><context>virtual host</context></contextlist>
280
281 <usage>
282     <p>La directive <directive>RemoteIPTrustedProxyList</directive>
283     permet de sp&eacute;cifier un fichier parcouru au d&eacute;marrage du serveur pour
284     construire une liste d'adresses (ou blocs d'adresses), auxquelles
285     on peut faire confiance pour pr&eacute;senter une valeur RemoteIPHeader
286     valide de l'adresse IP du client.</p>
287
288     <p>Le caract&egrave;re '<code>#</code>' indique une ligne de commentaires,
289     sinon, toutes les lignes s&eacute;par&eacute;es par un caract&egrave;re nouvelle ligne ou
290     tous les &eacute;l&eacute;ments d'une ligne s&eacute;par&eacute;s par un espace sont trait&eacute;s de
291     la m&ecirc;me fa&ccedil;on qu'avec la directive
292     <directive>RemoteIPTrustedProxy</directive>.</p>
293
294     <example><title>Exemple d'adresse de confiance (r&eacute;partiteur de
295     charge</title>
296         <highlight language="config">
297 RemoteIPHeader X-Forwarded-For
298 RemoteIPTrustedProxyList conf/mandataires-de-confiance.lst
299         </highlight>
300     </example>
301
302     <example><title>conf/mandataires-de-confiance.lst contents</title>
303        # Mandataires externes identifi&eacute;s<br/>
304        192.0.2.16/28         #groupe wap phone de mandataires<br/>
305        proxy.isp.example.com #un FAI bien connu
306     </example>
307 </usage>
308 </directivesynopsis>
309
310
311 </modulesynopsis>