Outils pour utilisateurs

Outils du site


webadmin:apache2:journaliser-ip-derriere-proxy

Journaliser l'IP du client derrière un proxy

Lorsque le serveur Apache se trouve derrière un serveur mandataire, les IP journalisées dans les logs sont toutes identiques: elles correspondent à l'IP du serveur mandataire. Pour enregistrer l'IP du client à l'origine de la requête, il faut modifier la configuration du serveur Apache.

Le serveur mandataire ne doit pas être en mode transparent et doit fournir le champ XFORWARDED-FOR

Coté serveur Apache, activer le mode remoteip

La documentation spécifie que le module ne doit être activé que pour des serveurs mandataires identifiés et de confiance (définir la directive RemoteIPTrustedProxy car il est trivial pour un client distant de générer un header et d'usurper l'identité d'un autre client.
a2enmod remoteip

Ajouter la configuration

vim /etc/apache2/conf-available/remoteip.conf

Le fichier remoteip.conf contient les directives suivantes:

remoteip.conf
# Variable du header désignant le client d'origine.
# Elle peut différer selon le service (répartiteur ou mandataire)
# Exemple de variable utilisée par le répartiteur de charge 
# RemoteIPHeader X-Client-IP
 
RemoteIPHeader X-Forwarded-For
 
# Spécifier dans quel header le module relève les adresses IP
# RemoteIPProxiesHeader X-Forwarded-By
 
 
# Les mandataires autorisés pour lesquels le module remoteip
# prendra en compte le header et les variables RemoteIPHeader
RemoteIPTrustedProxy 172.16.2.1
 
# Les serveurs mandataires de confiance peuvent également être
# listés dans un fichier 
# RemoteIPTrustedProxyList

Modifier la chaine de génération des logs dans apache2.conf

#LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

Activer la configuration et relancer le service

a2enconf remoteip
service apache2 restart

Références

webadmin/apache2/journaliser-ip-derriere-proxy.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1