Настройка функции определения реального IP-адреса (версия ПО 7.4.0 и выше)

ID статьи: 2114
Последнее обновление: 09 дек, 2025
Product: WAF
Version: 7.x

Когда между веб-клиентом и узлом WAF находятся прокси-серверы, балансировщики нагрузки или другие сетевые узлы, в запросах, проходящих через них, IP-адрес источника (веб-клиента, отправившего исходный запрос), заменяется собственным IP-адресом такого сетевого узла. Для корректного определения реального IP-адреса источника прокси-серверы или балансировщики могут передавать его в специальных HTTP-заголовках, таких как X-Real-IP, X-Forwarded-For или пользовательские заголовки.

В UserGate WAF есть возможность определения реального IP-адреса источника запроса по таким HTTP-заголовкам. Данные, полученные из заголовков X-Real-IP и X-Forwarded-For, а также из пользовательских заголовков, можно использовать для выявления потенциальных угроз, контроля доступа на основе IP-адресов и анализа данных о посетителях сайта.

Алгоритм обработки заголовков X-Real-IP и пользовательских заголовков

HTTP-заголовок X-Real-IP или пользовательский заголовок используется для указания IP-адреса веб-клиента, отправившего исходный запрос. Серверные приложения могут использовать этот заголовок для журналирования или определения местоположения пользователя. Если прокси-сервер, балансировщик или другой сетевой узел передает запрос дальше, этот заголовок может перезаписываться следующим сервером в цепочке.

Если в параметрах правила reverse-прокси выбрана обработка заголовка X-Real-IP или пользовательского заголовка, алгоритм обработки этих заголовков выглядит следующим образом:

1. При получении HTTP-запроса UserGate WAF проверяет запрос на наличие заголовка (X-Real-IP или пользовательского заголовка).

2. Если заголовок не найден в запросе, UserGate WAF добавляет его и в качестве реального IP-адреса указывает IP-адрес сетевого узла, передавшего запрос.

3. Если заголовок найден, но не содержит значения, UserGate WAF в качестве реального IP-адреса принимает IP-адрес сетевого узла, передавшего запрос, и добавляет его в заголовок.

4. Если заголовок найден и содержит значение, UserGate WAF выполняет поиск IP-адреса сетевого узла, передавшего запрос, в списке доверенных источников:

  • Если IP-адрес сетевого узла не является доверенным, UserGate WAF заменяет значение в заголовке на этот IP-адрес и принимает его в качестве реального IP-адреса.

  • Если IP-адрес сетевого узла является доверенным, значение в заголовке проверяется на соответствие формату IPv4/IPv6:

    • если формат корректный, UserGate WAF принимает значение, указанное в заголовке, в качестве реального IP-адреса;

    • если формат некорректный, UserGate WAF заменяет значение в заголовке на IP-адрес сетевого узла, передавшего запрос, и принимает его в качестве реального IP-адреса.

5. После обработки запроса значение заголовка, принятое как реальный IP-адрес, сохраняется в записях журнала веб-доступа, а обработанные запросы передаются на анализ и дальнейшую обработку в соответствии с правилами и политиками безопасности в UserGate WAF. При срабатывании правила в записях журнала срабатывания также сохраняется значение реального IP-адреса.

Алгоритм обработки заголовка X-Forwarded-For

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

Пример заголовка:

X-Forwarded-For: 203.0.113.42, 192.168.1.1, 10.0.0.1

Где:

  • 203.0.113.42 — IP-адрес веб-клиента, отправившего исходный запрос;

  • 192.168.1.1 — IP-адрес первого сетевого узла;

  • 10.0.0.1 — IP-адрес второго сетевого узла.

Если в параметрах правила reverse-прокси выбрана обработка заголовка X-Forwarded-For, алгоритм обработки этих заголовков выглядит следующим образом:

1. При получении HTTP-запроса UserGate WAF проверяет запрос на наличие заголовка.

2. Если заголовок не найден, UserGate WAF добавляет его и в качестве реального IP-адреса указывает IP-адрес сетевого узла, передавшего запрос.

3. Если заголовок найден, но не содержит значений, UserGate WAF в качестве реального IP-адреса принимает IP-адрес сетевого узла, передавшего запрос, и добавляет его в заголовок.

4. Если заголовок содержит значения и рекурсивный режим выключен, UserGate WAF проверят формат первого значения (в примере это 203.0.113.42) на соответствие формату IPv4/IPv6:

  • Если формат корректный, UserGate WAF принимает этот IP-адрес в качестве реального IP-адреса.

  • Если формат некорректный, UserGate WAF принимает IP-адрес сетевого узла, передавшего запрос, в качестве реального IP-адреса.

5. Если заголовок содержит значения и рекурсивный режим включен, UserGate WAF выполняет поиск доверенного IP-адреса, последовательно проверяя значения в заголовке:

  • Если первый IP-адрес (в примере это 203.0.113.42) найден в списке доверенных источников, UserGate WAF принимает этот IP-адрес в качестве реального IP-адреса.

  • Если доверенный IP-адрес не является первым значением в списке (в примере это 192.168.1.1), UserGate WAF проверяет стоящий перед ним в списке IP-адрес (в примере это 203.0.113.42) на соответствие формату IPv4/IPv6:

    • Если этот IP-адрес прошел проверку, UserGate WAF принимает его в качестве реального IP-адреса.

    • Если этот IP-адрес не прошел проверку, UserGate WAF в качестве реального IP-адреса принимает следующий после него в списке доверенный IP-адрес (в примере это 192.168.1.1).

  • Если ни одно из значений в заголовке не является доверенным IP-адресом, UserGate WAF проверяет последнее значение в заголовке на соответствие формату IPv4/IPv6 и в случае успешной проверки принимает последнее значение (в примере это 10.0.0.1) в качестве реального IP-адреса. В противном случае UserGate WAF в качестве реального IP-адреса принимает IP-адрес сетевого узла, передавшего запрос. 

6. После обработки запроса значение заголовка, принятое как реальный IP-адрес, сохраняется в записях журнала веб-доступа, а обработанные запросы передаются на анализ и дальнейшую обработку в соответствии с правилами и политиками безопасности в UserGate WAF. При срабатывании правила в записях журнала срабатывания также сохраняется значение реального IP-адреса.

Настройка функции определения реального IP-адреса источника запроса

Чтобы настроить функцию определения реального IP-адреса:

1. В разделе Настройки ➜ Глобальный портал ➜ Правила reverse-прокси выберите правило, которое необходимо настроить, и нажмите Редактировать.

2. В окне Настройка правила reverse-прокси на вкладке Реальный IP установите флажок Получать реальный IP.

3. Выберите заголовок, из которого будет извлекаться адрес источника запроса:

  • X-Real-IP.

  • X-Forwarded-For. При выборе этого заголовка: 

    • Если необходимо, установите флажок Рекурсивный режим, чтобы анализировать цепочку IP-адресов в заголовке. 

    • Установите флажок Добавлять IP-адрес реверс-прокси, если вы хотите, чтобы адрес прокси-сервера UserGate WAF был добавлен в список IP-адресов в заголовке (доступно в версии 7.4.1 и выше).

  • Пользовательский заголовок. При выборе этого заголовка укажите его название.

4. Если необходимо, в блоке Доверенные источники укажите списки адресов или сетей доверенных источников запроса, например прокси-серверов и балансировщиков.

5. Сохраните изменения.

ПримечаниеСведения о реальных IP-адресах могут отображаться в разделах «Атаки» и «Журналы и отчеты» ➜ «Журнал веб-доступа».
Эта статья была:   Полезна | Не полезна
ID статьи: 2114
Последнее обновление: 09 дек, 2025
Ревизия: 23
Просмотры: 588
Комментарии: 0
Теги