mod_remoteip.xml.fr revision b244bbf442a0aea3dc397b4d0d751f4716c5891d
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
782d5365e084a40e4f717dafbe00fc41476a7cfeChristian Maeder<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder<!-- English Revision: 1561283:1561569 (outdated) -->
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<!-- French translation : Lucien GENTIS -->
34bff097c14521b5e57ce37279a34256e1f78aa5Klaus Luettich<!-- Reviewed by : Vincent Deffontaines -->
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder Licensed to the Apache Software Foundation (ASF) under one or more
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder contributor license agreements. See the NOTICE file distributed with
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder this work for additional information regarding copyright ownership.
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder The ASF licenses this file to You under the Apache License, Version 2.0
c29fabd288a7c6c0b46e134f70b48138aae9214aChristian Maeder (the "License"); you may not use this file except in compliance with
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder the License. You may obtain a copy of the License at
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder Unless required by applicable law or agreed to in writing, software
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder distributed under the License is distributed on an "AS IS" BASIS,
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder See the License for the specific language governing permissions and
02a2037f53b925617df45eb62ca743d777672265Klaus Luettich limitations under the License.
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<modulesynopsis metafile="mod_remoteip.xml.meta">
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<description>Remplace l'adresse IP et le nom d'hôte apparents du client
7b27b67b1c8516d7ccf1610a17fec93662d6a93fChristian Maederpour la requête par l'adresse IP présentée par un mandataire ou un
41076bb5f87e3dbebb53d762ccb9795801b4a27aChristian Maederrépartiteur de charge via les en-têtes de la requête.
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder</description>
ae179fb240298858539e0ff2b2e515d39ac17efcChristian Maeder <p>Ce module permet de traiter l'hôte distant qui a initié la
ae179fb240298858539e0ff2b2e515d39ac17efcChristian Maeder requête en tant qu'hôte distant original du point de vue de httpd à
ae179fb240298858539e0ff2b2e515d39ac17efcChristian Maeder des fins d'autorisation et de connexion, même si cet hôte distant se
792df0347edab377785d98c63e2be8e2ce0a8bdeChristian Maeder trouve derrière un répartiteur de charge, un serveur frontal, ou un
792df0347edab377785d98c63e2be8e2ce0a8bdeChristian Maeder serveur mandataire.</p>
792df0347edab377785d98c63e2be8e2ce0a8bdeChristian Maeder <p>Le module remplace les adresse IP et nom d'hôte apparents
792df0347edab377785d98c63e2be8e2ce0a8bdeChristian Maeder distants (du client) pour la requête par l'adresse IP indiquée dans
792df0347edab377785d98c63e2be8e2ce0a8bdeChristian Maeder l'en-tête de requête configuré via la directive
bec7e681b0ba4d085638ec7af0cf7ae5068840caChristian Maeder <p>Une fois remplacée comme indiqué, cette adresse IP apparente est
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder utilisée pour les fonctionnalités <directive module="mod_authz_host"
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder type="section">Require host</directive> et <directive
782d5365e084a40e4f717dafbe00fc41476a7cfeChristian Maeder module="mod_authz_host" type="section">Require ip</directive> de
782d5365e084a40e4f717dafbe00fc41476a7cfeChristian Maeder <module>mod_authz_host</module> ; elle est aussi affichée par
782d5365e084a40e4f717dafbe00fc41476a7cfeChristian Maeder <module>mod_status</module>, et enregistrée via les directives
a008ea3d3b5667969f058f75e9919f9b9c26260fChristian Maeder <code>%a</code> et <code>%h</code> du module
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder <module>mod_log_config</module>. Elle permet aussi d'identifier la
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder machine en essayant de lui attribuer une identité inetd via le
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder module <module>mod_ident</module> et en fonction de la configuration
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder de la directive <directive
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder module="mod_ident">IdentityCheck</directive>.</p>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <note type="warning">Il est essentiel de n'activer cette
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder fonctionnalité que pour les requêtes en provenance des serveurs
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder intermédiaires (mandataires, etc...) auxquels le serveur peut faire
fe216849cef7b87c6800aad21178d1e686575d8fChristian Maeder confiance, car il est trivial pour le client distant d'usurper
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder l'identité d'un autre client.</note>
fe216849cef7b87c6800aad21178d1e686575d8fChristian Maeder<seealso><module>mod_authz_host</module></seealso>
fe216849cef7b87c6800aad21178d1e686575d8fChristian Maeder<seealso><module>mod_status</module></seealso>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder<seealso><module>mod_log_config</module></seealso>
fe216849cef7b87c6800aad21178d1e686575d8fChristian Maeder<seealso><module>mod_ident</module></seealso>
a255351561838b3743d03c1629d335cfb8b83804Christian Maeder<section id="processing"><title>Traitement des adresses distantes</title>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <p>Apache identifie le client par la valeur remote_ip de la
fe216849cef7b87c6800aad21178d1e686575d8fChristian Maeder connexion, et de cette valeur découlent les valeurs remote_host et
a255351561838b3743d03c1629d335cfb8b83804Christian Maeder remote_logname de la connexion. Ces champs jouent un rôle
a255351561838b3743d03c1629d335cfb8b83804Christian Maeder dans l'authentification, l'autorisation et la connexion, ainsi que
a255351561838b3743d03c1629d335cfb8b83804Christian Maeder dans d'autres traitements effectués par d'autres modules
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder chargeables.</p>
a255351561838b3743d03c1629d335cfb8b83804Christian Maeder <p>mod_remoteip remplace la véritable remote_ip par la remote_ip
fe216849cef7b87c6800aad21178d1e686575d8fChristian Maeder indiquée par exemple par un mandataire chaque fois que le serveur
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder effectue une évaluation du client, et réinitialise les valeurs de
02a2037f53b925617df45eb62ca743d777672265Klaus Luettich remote_host et remote_logname afin de déclencher une nouvelle
02a2037f53b925617df45eb62ca743d777672265Klaus Luettich requête dns ou ident sur l'adresse IP distante.</p>
02a2037f53b925617df45eb62ca743d777672265Klaus Luettich <p>Lorsque la valeur de l'en-tête comporte plusieurs adresses IP
02a2037f53b925617df45eb62ca743d777672265Klaus Luettich distantes séparées par des virgules, celles-ci sont traitées de la
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP
5908cc06d7a3f4dd46d2d7c7fe0fad43b6cd921fChristian Maeder distante courante n'est pas digne de confiance pour présenter
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder façon à ne contenir que cette liste d'adresses non confirmées, ou
5908cc06d7a3f4dd46d2d7c7fe0fad43b6cd921fChristian Maeder bien, si toutes les adresses IP sont dignes de confiance, cet
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder en-tête est tout bonnement supprimé de la requête.</p>
02a2037f53b925617df45eb62ca743d777672265Klaus Luettich <p>Lors du remplacement de l'adresse IP distante, le module stocke
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder la liste des hôtes intermédiaires dans un mémo
6a50fa6b0d93a521d8e52c61a3ceb71d9f878cebChristian Maeder remoteip-proxy-ip-list, que l'on peut faire enregistrer par
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder <module>mod_log_config</module> en utilisant le symbole de format
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder stocker ceci dans un en-tête additionnel, la même valeur peut aussi
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder être enregistrée sous la forme d'un en-tête en utilisant la
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder directive <directive>RemoteIPProxiesHeader</directive>.</p>
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder <note><title>Adresses IPv4 converties au format IPv6</title>
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder Avec httpd, d'une manière générale, toute adresse IPv4 convertie au
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder format IPv6 est enregistrée sous sa forme IPv4.</note>
41076bb5f87e3dbebb53d762ccb9795801b4a27aChristian Maeder <note><title>Adresses internes (privées)</title>
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16,
41076bb5f87e3dbebb53d762ccb9795801b4a27aChristian Maeder 169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder des mandataires internes (intranet)
ee1ceac4345bc824210b2f7c6d6b182cb1902547Christian Maeder <directive>RemoteIPInternalProxy</directive> sont enregistrés.</note>
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder<directivesynopsis>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder<description>Définit le champ d'en-tête qui contiendra les adresses IP
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maederdu client</description>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder<syntax>RemoteIPHeader <var>en-tête</var></syntax>
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder<contextlist><context>server config</context><context>virtual host</context></contextlist>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <p>La directive <directive>RemoteIPHeader</directive> indique à
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <module>mod_remoteip</module> de traiter la valeur de
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder l'<var>en-tête</var> spécifié comme l'adresse IP du client, ou comme
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder une liste d'adresses IP clients intermédiaires, en fonction de la
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder configuration des directives
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <directive>RemoteIPInternalProxy</directive> et
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <directive>RemoteIPTrustedProxy</directive>. Si ces deux dernières
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder directives ne sont pas utilisées, <module>mod_remoteip</module>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder traitera tout hôte présentant une valeur d'IP
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <directive>RemoteIPHeader</directive> comme hôte de confiance.</p>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder <example><title>Exemple à usage interne (répartiteur de
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder charge)</title>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder RemoteIPHeader X-Client-IP
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder <example><title>Exemple dans le cas d'un mandataire</title>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder RemoteIPHeader X-Forwarded-For
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder</directivesynopsis>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<directivesynopsis>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<description>Déclare les adresses IP intranet clients comme dignes de
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maederconfiance pour présenter la valeur RemoteIPHeader</description>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<syntax>RemoteIPInternalProxy
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</syntax>
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian Maeder<contextlist><context>server config</context><context>virtual host</context></contextlist>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <p>La directive <directive>RemoteIPInternalProxy</directive> permet
5e605dc61ff9ec5724c319603905dc9b0dccc05fChristian Maeder d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder on peut faire confiance pour présenter une valeur RemoteIPHeader
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder valide de l'adresse IP du client. A la différence de la directive
36fcac4cf0f6a1f8a0fee696ac7f4b91d769843cChristian Maeder <directive>RemoteIPTrustedProxy</directive>, toute adresse IP
0678d323bee844db79af13113ae252546629a594Christian Maeder présentée dans cet en-tête, y comprises les adresses intranet
c29fabd288a7c6c0b46e134f70b48138aae9214aChristian Maeder privées, sont considérées comme dignes de confiance lorsqu'elles
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder sont indiquées par ces mandataires.</p>
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder <example><title>Exemple à usage interne (répartiteur de
0678d323bee844db79af13113ae252546629a594Christian Maeder charge)</title>
c29fabd288a7c6c0b46e134f70b48138aae9214aChristian MaederRemoteIPHeader X-Client-IP
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian MaederRemoteIPInternalProxy gateway.localdomain
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder</directivesynopsis>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<directivesynopsis>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder<description>Déclare les adresses IP intranet clients comme dignes de
0678d323bee844db79af13113ae252546629a594Christian Maederconfiance pour présenter la valeur RemoteIPHeader</description>
0678d323bee844db79af13113ae252546629a594Christian Maeder<syntax>RemoteIPInternalProxyList <var>nom-fichier</var></syntax>
0678d323bee844db79af13113ae252546629a594Christian Maeder<contextlist><context>server config</context><context>virtual host</context></contextlist>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <p>La directive <directive>RemoteIPInternalProxyList</directive>
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder permet de spécifier un fichier parcouru au démarrage du serveur pour
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder construire une liste d'adresses (ou blocs d'adresses), auxquelles
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder on peut faire confiance pour présenter une valeur RemoteIPHeader
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder valide de l'adresse IP du client.</p>
0678d323bee844db79af13113ae252546629a594Christian Maeder <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
0678d323bee844db79af13113ae252546629a594Christian Maeder sinon, toutes les lignes séparées par un caractère <code>nouvelle
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder ligne</code> ou
0678d323bee844db79af13113ae252546629a594Christian Maeder tous les éléments d'une ligne séparés par un espace sont traités de
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder la même façon qu'avec la directive
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder <directive>RemoteIPInternalProxy</directive>.</p>
c29fabd288a7c6c0b46e134f70b48138aae9214aChristian Maeder <example><title>Exemple à usage interne (répartiteur de
0678d323bee844db79af13113ae252546629a594Christian Maeder charge)</title>
a625226f55956c1dccb72888417d1f25db3cf173Christian MaederRemoteIPHeader X-Client-IP
18c1d987ce5818ecf0bfc8af3f43aed2ce86e1eaChristian MaederRemoteIPInternalProxyList conf/trusted-proxies.lst
0678d323bee844db79af13113ae252546629a594Christian Maeder <example><title>contenu de conf/mandataires-de-confiance.lst</title>
0678d323bee844db79af13113ae252546629a594Christian Maeder # Nos mandataires internes de confiance
4fc4ac78b045c631bc979f849582d9e161568aacChristian Maeder 10.0.2.0/24 # Tout le monde dans le groupe de test
4fc4ac78b045c631bc979f849582d9e161568aacChristian Maeder passerelle.domaine-local # Le frontal répartiteur de charge
0678d323bee844db79af13113ae252546629a594Christian Maeder</directivesynopsis>
0678d323bee844db79af13113ae252546629a594Christian Maeder<directivesynopsis>
0678d323bee844db79af13113ae252546629a594Christian Maeder<description>Déclare le champ d'en-tête qui contiendra toutes les
0678d323bee844db79af13113ae252546629a594Christian Maederadresses IP intermédiaires</description>
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder<syntax>RemoteIPProxiesHeader <var>Nom_en-tête</var></syntax>
0678d323bee844db79af13113ae252546629a594Christian Maeder<contextlist><context>server config</context><context>virtual host</context></contextlist>
0678d323bee844db79af13113ae252546629a594Christian Maeder <p>La directive <directive>RemoteIPProxiesHeader</directive> permet
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian Maeder de spécifier l'en-tête dans lequel <module>mod_remoteip</module> va
0678d323bee844db79af13113ae252546629a594Christian Maeder collecter une liste de toutes les adresses IP clients intermédiaires
f7d2e793728bbb7fd185e027eb9dfd7b9dd11c21Christian Maeder auxquelles on pourra faire confiance pour résoudre la véritable
0678d323bee844db79af13113ae252546629a594Christian Maeder adresse IP distante. Notez que les adresses intermédiaires
0678d323bee844db79af13113ae252546629a594Christian Maeder <directive>RemoteIPTrustedProxy</directive> sont enregistrées dans
e85b224577b78d08ba5c39fe9dcc2e53995454a2Christian Maeder cet en-tête, alors que toute adresse intermédiaire
0678d323bee844db79af13113ae252546629a594Christian Maeder <directive>RemoteIPInternalProxy</directive> est omise.</p>
0678d323bee844db79af13113ae252546629a594Christian MaederRemoteIPHeader X-Forwarded-For
0678d323bee844db79af13113ae252546629a594Christian MaederRemoteIPProxiesHeader X-Forwarded-By
0678d323bee844db79af13113ae252546629a594Christian Maeder</directivesynopsis>
0678d323bee844db79af13113ae252546629a594Christian Maeder<directivesynopsis>
0678d323bee844db79af13113ae252546629a594Christian Maeder<description>Déclare les adresses IP intranet clients comme dignes de
0678d323bee844db79af13113ae252546629a594Christian Maederconfiance pour présenter la valeur RemoteIPHeader</description>
0678d323bee844db79af13113ae252546629a594Christian Maeder<syntax>RemoteIPTrustedProxy
0678d323bee844db79af13113ae252546629a594Christian Maeder<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</syntax>
0678d323bee844db79af13113ae252546629a594Christian Maeder<contextlist><context>server config</context><context>virtual host</context></contextlist>
RemoteIPTrustedProxy proxy.example.com
tous les éléments d'une ligne séparés par un espace sont traités de
proxy.isp.example.com #un FAI bien connu