Перейти к содержанию

Белый список IP-адресов

Белый список — список доверенных IP-адресов, которым вы разрешаете доступ к приложениям вне зависимости от наличия в запросах признаков атак. Белый список имеет наиболее высокий приоритет среди других списков, поэтому при любом режиме фильтрации WAF‑нода не заблокирует запросы с IP-адресов из белого списка.

В Консоли управления Вебмониторэкс → Списки IPБелый список вы можете управлять IP‑адресами из белого списка:

  • Добавлять отдельные IP‑адреса и подсети

  • Добавлять группы IP‑адресов, зарегистрированные в определенной стране, регионе, дата-центре, узле и т.д.

  • Настраивать время и причину хранения IP‑адреса в списке

  • Удалять IP‑адрес из списка

  • Просматривать историю изменения списка

Белый список IP

Примеры использования белого списка

  • Для обнаружения уязвимостей в системе, вы можете использовать Сканер уязвимостей Вебмониторэкс. Сканер отправляет на адреса ваших приложений запросы с признаками атак и анализирует ответы приложений. Если IP-адреса Сканера Вебмониторэкс не добавлены в белый список, WAF‑нода будет блокировать запросы Сканера. Для корректной работы Сканера Вебмониторэкс, необходимо добавить IP-адреса Сканера в белый список.

    Начиная с WAF‑ноды версии 3.0, Вебмониторэкс добавляет IP-адреса Сканера в белый список автоматически.

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

Добавление IP‑адреса в список

Добавление IP‑адреса в список на ноде с мультиарендной опцией

Если в вашей инфраструктуре установлена нода с мультиарендной опцией (партнерская), перед выполнением приведенных шагов необходимо переключиться на аккаунт тенанта, для которого вы добавляете IP‑адрес в список.

Чтобы добавить IP‑адрес в список:

  1. Откройте Консоль управления → Списки IPБелый список и нажмите Добавить объект.

  2. В выпадающем списке выберите список, в который хотите добавить объект.

  3. Укажите IP‑адрес или группу IP‑адресов, используя один из способов:

    • Введите одиночный IP‑адрес или маску подсети

      Поддерживаемые маски подсетей

      Максимальная поддерживаемая маска подсети для IPv6 — /32, для IPv4 — /12.

    • Выберите страну или регион (геолокацию), чтобы добавить в список все IP‑адреса, которые зарегистрированы в ней

    • Выберите тип источника, чтобы добавить в список все IP‑адреса, которые ему принадлежат. Например:
      • Tor для IP‑адресов узлов Tor
      • Proxy для IP‑адресов публичных или веб-серверов
      • Search Engine Spiders для IP‑адресов роботов поисковых систем
      • VPN для IP‑адресов сетей VPN
      • AWS для IP‑адресов, зарегистрированных в Amazon
  4. Выберите приложения, к которым вы разрешаете или запрещаете доступ IP‑адресу или группе IP‑адресов.

  5. Выберите срок, на который необходимо добавить IP‑адрес или группу IP‑адресов в список. Минимальное значение — 5 минут, максимальное — навсегда.

  6. Укажите причину добавления IP‑адреса или группы IP‑адресов в список.

Добавление IP в список (с приложением)

Анализ добавленных IP‑адресов

Для каждого объекта, добавленного в список, в Консоли управления отображаются следующие данные:

  • Объект — IP‑адрес, подсеть, страна/регион или источник IP‑адреса, добавленные в список.

  • Приложения — приложение, к которому настроен доступ для IP‑адреса или группы IP‑адресов.

  • Источник — источник одиночного IP‑адреса или подсети:

    • Страна/регион (геолокация), в которой зарегистрирован IP‑адрес или подсеть (если удалось найти данные в таких базах данных, как IP2Location)
    • Тип источника, например: Proxy, Tor, облачная платформа и так далее (если удалось найти данные в таких базах, как IP2Location)
  • Причина — причина добавления IP‑адреса или группы IP‑адресов в список. Указывается при добавлении объекта вручную или генерируется автоматически, если объект добавлен в список по триггеру.

  • Дата добавления — дата и время добавления IP‑адреса в список.

  • Удаление — временной период, после которого IP‑адрес удалится из списка.

Фильтрация списка

Вы можете отфильтровать список IP‑адресов по параметрам:

  • IP‑адрес или подсеть, введенные в поисковой строке

  • Период, за который необходимо получить состояние списка

  • Страна или регион, в котором зарегистрирован IP‑адрес или подсеть

  • Источник, к которому принадлежит IP‑адрес или подсеть

Изменение времени нахождения IP‑адреса в списке

Чтобы изменить время нахождения IP‑адреса в списке:

  1. Выберите необходимый IP‑адрес из списка.

  2. Откройте меню IP‑адреса и нажмите Изменить время.

  3. Выберите новую дату удаления IP‑адреса из списка и подтвердите действие.

Удаление IP‑адреса из списка

Чтобы удалить IP‑адрес из списка:

  1. Выберите необходимый IP‑адрес из списка.

  2. Откройте меню IP‑адреса и нажмите Удалить.

Также вы можете выбрать несколько IP‑адресов и удалить их одновременно.

Повторное добавление удаленного IP‑адреса

После ручного удаления IP‑адреса, который был добавлен в список по триггеру, повторное срабатывание триггера произойдет только по истечении половины предыдущего времени нахождения IP‑адреса в списке.

Пример с серым списком:

  1. IP‑адрес был автоматически добавлен в серый список на 1 час, так как с этого IP‑адреса было отправлено 4 разных вектора атаки за 1 час (согласно триггеру).
  2. Пользователь удалил IP‑адрес из серого списка через Консоль управления Вебмониторэкс.
  3. Если после удаления с IP‑адреса будут отправлены еще 4 разных вектора атаки менее чем за 30 минут, IP‑адрес не добавится в серый список.

Запросы к API на чтение и изменение списков IP

Чтобы получить, добавить или удалить объекты из списков IP, вы можете отправить запросы к Вебмониторэкс API напрямую, вместо использования интерфейса Консоли управления. Примеры запросов приведены ниже.

Параметры запросов к API

В запросах на чтение и изменение списков IP передаются следующие параметры:

Параметр Описание
X-WallarmApi-Token Ключ для получения доступа к API, скопируйте значение из Консоли управления Вебмониторэкс: НастройкиAPI Токены.
clientid ID аккаунта, в котором нужно изменить список IP-адресов / прочитать список.
ip_rule.list Тип списка IP-адресов: black (для черного списка), white (для белого списка), gray (для серого списка).
ip_rule.rule_type Тип объектов для добавления в список:
  • ip_range для определенных IP-адресов или подсетей
  • country для стран или регионов
  • proxy_type для прокси-сервисов (VPN, SES, PUB, WEB, TOR)
  • datacenter для других типов источников (rackspace, tencent, plusserver, ovh, oracle, linode, ibm, huawei, hetzner, gce, azure, aws, alibaba)
ip_rule.subnet
(rule_type:"ip_range")
IP или подсеть, которую необходимо добавить в список, например: "1.1.1.1".
ip_rule.source_values
(для других значений rule_type)
Один из вариантов:
  • Если rule_type:"country", массив стран в формате ISO-3166, например: ["AX","AL"].
  • Если rule_type:"proxy_type", массив прокси-сервисов, например: ["VPN","PUB"].
  • Если rule_type:"datacenter", массив других типов источников, например: ["rackspace","huawei"].
ip_rule.pools Массив ID приложений, к которым необходимо разрешить или запретить доступ для IP, например: [3,4] для приложений с ID 3 и 4, или [0] для всех приложений.
ip_rule.expired_at Дата для удаления IP из списка в формате Unix Timestamp. Максимальное значение – 33223139044 (добавить в список навсегда).
reason Причина для добавления IP в список.
force Если true и объекты уже есть в списке IP, перезапишет существующие объекты.

Добавление в список IP записей из файла .csv

Чтобы добавить в список IP записи из файла .csv, используйте следующий bash-скрипт:

#!/bin/bash

TOKEN="<YOUR_TOKEN>"
readarray myarray < ip
for ((a=0; a < ${#myarray[*]}; a++))
do
     curl -X POST "https://api.wallarm.ru/v5/ip_rules" -H "X-WallarmApi-Token: $TOKEN" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"ip_rules\": [ { \"expired_at\": 9999999999, \"pools\": [0], \"rule_type\": \"ip_range\", \"subnet\": \"$(echo "${myarray[$a]}")\", \"reason\": \"Причина\", \"additional_info\": {} } ], \"client_id\": id_клиента_без_кавычек, \"list\": \"white\", \"force\": true}"

done

Параметры

Параметр Описание
X-WallarmApi-Token Ключ для получения доступа к API, скопируйте значение из Консоли управления Вебмониторэкс: Настройки → API Токены.
expired_at Дата удаления из списка в формате timestamp. По умолчанию установлено на постоянное прибывание в списке.
pools ID приложений. По умолчанию установлено на все приложения.
reason Причина для добавления IP в список.
clientid ID аккаунта, в котором нужно изменить список IP-адресов / прочитать список.
list Тип листа (white, black или gray). По умолчанию установлен white.
force Указание необходимости перезаписи существующих адресов. Полезно, если надо изменить дату удаления уже добавленных адресов. По умолчанию установлено true – перезапись.

Добавление одного IP или подсети в список IP

Чтобы добавить определенные IP или подсети в список IP, отправьте следующий запрос отдельно для каждого объекта:

curl 'https://api.wallarm.ru/v4/ip_rules' \
  -H "X-WallarmApi-Token: <YOUR_TOKEN>  \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"clientid":<YOUR_CLIENT_ID>,"force":false,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>","pools":[<ARRAY_OF_APP_IDS>],"expired_at":<TIMESTAMP_REMOVE_DATE>,"rule_type":"ip_range","subnet":"<IP_OR_SUBNET>"}}'

Добавление нескольких стран в список IP

curl 'https://api.wallarm.ru/v4/ip_rules' \
  -H "X-WallarmApi-Token: <YOUR_TOKEN>  \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"clientid":<YOUR_CLIENT_ID>,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","rule_type":"country","source_values":[<ARRAY_OF_COUNTRIES_REGIONS>],"pools":[<ARRAY_OF_APP_IDS>],"expired_at":"<TIMESTAMP_REMOVE_DATE>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>"},"force":false}'

Добавление нескольких прокси-сервисов в список IP

curl 'https://api.wallarm.ru/v4/ip_rules' \
  -H "X-WallarmApi-Token: <YOUR_TOKEN>  \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"clientid":<YOUR_CLIENT_ID>,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","rule_type":"proxy_type","source_values":[<ARRAY_OF_PROXY_SERVICES>],"pools":[<ARRAY_OF_APP_IDS>],"expired_at":"<TIMESTAMP_REMOVE_DATE>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>"},"force":false}'

Удаление объекта из списка IP

Объекты удаляются из списков IP по ID.

Чтобы получить ID объекта, запросите все объекты списка и скопируйте objects.id объекта из ответа:

curl 'https://api.wallarm.ru/v4/ip_rules?filter%5Bclientid%5D=<YOUR_CLIENT_ID>&filter%5Blist%5D=<TYPE_OF_IP_LIST>&offset=0&limit=50' \
   -H "X-WallarmApi-Token: <YOUR_TOKEN> '

Отправьте запрос на удаление объекта по ID:

curl 'https://api.wallarm.ru/v4/ip_rules' \
  -X 'DELETE' \
  -H "X-WallarmApi-Token: <YOUR_TOKEN>'
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -d '{"filter":{"clientid":<YOUR_CLIENT_ID>,"id":[<OBJECT_ID_TO_DELETE>]}}'

Вы можете удалить несколько объектов одновременно, передав их ID в формате массива.