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