Dans ce guide, nous allons vous montrer comment obtenir l’adresse IP réelle des visiteurs en utilisant les services CloudFlare avec un serveur web Nginx. Cette configuration est particulièrement utile lorsque Nginx est utilisé en tant que serveur web frontal ou en tant que reverse proxy.
Lorsque CloudFlare est utilisé en mode proxy, l’adresse IP visible par le serveur web est celle du serveur CloudFlare, ce qui peut poser des problèmes lors de l’exploitation des logs pour générer des statistiques ou lors de l’utilisation de solutions de protection telles que Crowdsec ou Fail2ban, car on pourrait bloquer le serveur CloudFlare plutôt que le véritable “attaquant”.
Récupération de l’Adresse IP Réelle du Visiteur
Pour récupérer l’adresse IP du visiteur, nous allons modifier le fichier de configuration de Nginx, /etc/nginx/nginx.conf
. Avant de commencer, assurez-vous de sauvegarder le fichier existant :
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.
bak
Créez un nouveau fichier dans le dossier /etc/nginx
nommé cloudflare
qui contiendra les paramètres nécessaires :
sudo touch /etc/nginx/cloudflare sudo nano /etc/nginx/cloudflare
Collez le contenu suivant dans le fichier cloudflare
, ce qui permettra de remplacer l’IP de CloudFlare par l’IP réelle du visiteur :
#Cloudflare IP addresses
# - IPv4
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
# - IPv6
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;
Ouvrez ensuite le fichier /etc/nginx/nginx.conf
pour indiquer l’inclusion du fichier cloudflare
dans la configuration Nginx. Ajoutez la ligne suivante à l’intérieur de la section http{ ... }
:
nginx
# Cloudflare Real IP visitors include /etc/nginx/cloudflare;
Vérifiez la configuration de Nginx pour détecter d’éventuelles erreurs :
sudo nginx -t
Si aucune erreur n’est signalée, redémarrez Nginx pour prendre en compte les modifications :
sudo systemctl restart nginx
Vérifiez maintenant les logs d’accès (access logs) ; l’adresse IP réelle du visiteur devrait être capturée.
Les adresses IP de Cloudflare sont disponibles aux liens suivants :
The post Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare first appeared on Croc-Informatique.fr.