Защита сайта: расшифровка реальных IP

10.04.2025, 19:26

Чтобы видеть реальные IP-адреса посетителей сайта, настройте расшифровку X-Forwarded-For для сетей из списка который использовался при настройке файрвола. Ниже приведены примеры таких настроек для популярных веб-серверов.

Веб-сервер Apache до версии 2.4

Измените файл /etc/apache2/mods-enabled/rpaf.conf, добавив следующие строки:

<IfModule rpaf_module>
  RPAFenable On
  # When enabled, take the incoming X-Host header
  # and update the virtualhost settings accordingly:
  RPAFsethostname On
  # Define which IP's are your frontend proxies that sends
  # the correct X-Forwarded-For headers:
  RPAFproxy_ips 77.220.207.0/24 45.10.240.0/24 45.10.241.0/24 45.10.242.0/24 186.2.160.0/24 186.2.164.0/24 186.2.167.0/24 186.2.168.0/24
  # Change the header name to parse from the default
  # X-Forwarded-For to something of your choice:
  # RPAFheader DDG-Connecting-IP
</IfModule>

Веб-сервер Apache версии 2.4 и выше

  1. Деактивируйте mod_rpaf командой a2dismod rpaf
  2. Активируйте mod_remoteip командой a2enmod mod_remoteip
  3. Перезагрузите Apache командой: systemctl restart apache2
  4. Создайте или измените файл /etc/apache2/conf-available/remoteip.conf, добавив следующие строки:
<IfModule remoteip_module>
  # Take the incoming X-Host header and
  # update the virtualhost settings accordingly:
  RemoteIPHeader X-Forwarded-For
  # Define which IP's are your frontend proxies that sends
  # the correct X-Forwarded-For headers:
  RemoteIPTrustedProxy 77.220.207.0/24 45.10.240.0/24 45.10.241.0/24 45.10.242.0/24 186.2.160.0/24 186.2.164.0/24 186.2.167.0/24 186.2.168.0/24
</IfModule>

Веб-сервер Nginx

Добавьте следующие строки в /etc/nginx/nginx.conf в секцию http:

set_real_ip_from 77.220.207.0/24;
set_real_ip_from 45.10.240.0/24;
set_real_ip_from 45.10.241.0/24;
set_real_ip_from 45.10.242.0/24;
set_real_ip_from 186.2.160.0/24;
set_real_ip_from 186.2.164.0/24;
set_real_ip_from 186.2.167.0/24;
set_real_ip_from 186.2.168.0/24;

Содержимое X-Forwarded-For можно подделать, но последним адресом в цепочке всегда будет реальный IP, с которого запрос пришел в нашу сеть. Этот адрес также передается в заголовке DDG-Connecting-IP.

Заголовок X-Real-IP проксируется без изменений и может содержать ложную информацию.
Не используйте его для функций, связанных с безопасностью