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