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

Как работает WAF‑нода в изолированных средах

В процессе публикации приложения могут использоваться несколько сред: боевая, тестовая, среда разработки и другие, в зависимости от ваших настроек. Данный раздел документации описывает способы управления WAF‑нодой в нескольких изолированных средах.

Что такое среда?

Определение термина в разных компаниях может отличаться. В данном разделе документации используется определение, приведенное ниже.

Среда — изолированный набор компьютерных ресурсов, который может использоваться для различных целей, например: разработка, тестирование или публикация. Средой управляет одна или несколько команд, например: SRE, команда разработки и QA. При этом, в управлении применяется набор правил по настройке сети, обновлению и версионированию приложения и другие стандарты.

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

Возможности Вебмониторэкс WAF в работе с изолированными средами

Для управления настройками WAF‑ноды в разных средах используются следующие возможности продукта Вебмониторэкс WAF:

Идентификация ресурсов

Вы можете настроить WAF‑ноду для определенной среды, используя следующие способы идентификации ресурсов:

  • по уникальному Вебмониторэкс ID для каждой среды;

  • по домену URL среды, если вы используете разные значения для разных сред.

Идентификация среды по ID

Чтобы присвоить уникальный идентификатор каждой среде и настроить для сред правила фильтрации запросов, используется концепция приложений.

Для настройки идентификаторов выполните следующие шаги:

  1. Добавьте названия и идентификаторы всех сред в Личном кабинете Вебмониторэкс > Настройки > Приложения.

    Добавленные среды

  2. Передайте ID среды WAF‑ноде, которая настроена для этой среды. ID передается в следующем параметре WAF‑ноды:

    • wallarm_application, если WAF‑нода установлена в систему на базе Linux, в форме sidecar‑контейнера Kubernetes или Docker‑образа;
    • nginx.ingress.kubernetes.io/wallarm-application, если WAF‑нода установлена в форме Ingress‑контроллера Kubernetes.

Теперь при создании правила фильтрации запросов вы можете указать ID сред, к которым применяется правило. Если ID сред не указаны, правило будет применяться ко всем ресурсам, на которых установлена WAF‑нода.

Создание правила для отдельной среды по ID

Идентификация среды по домену

Имя домена также может использоваться в качестве уникального идентификатора среды, если для каждой среды настроен отдельный домен, который передается в HTTP‑запросах в заголовке HOST.

Чтобы использовать идентификацию по домену, при создании правила фильтрации запросов добавьте условие с доменом конкретной среды в параметре запроса HOST. Правило из примера ниже будет применяться только к запросам со значением dev.domain.com в параметре HOST:

Создание правила для отдельной среды по домену

Использование разных аккаунтов Вебмониторэкс

Один из способов отдельной настройки фильтрующих нод для разных сред — использование разных аккаунтов Вебмониторэкс для отдельных сред или групп сред. Многие провайдеры облачных сервисов, в том числе Amazon AWS, рекомендуют данный подход.

Для упрощения управления несколькими аккаунтами Вебмониторэкс вы можете создать master‑аккаунт (аккаунт технического тенанта) и привязать к нему остальные аккаунты. Данная настройка позволяет управлять всеми аккаунтами через один master‑аккаунт и не переключаться.

Чтобы использовать данную возможность, необходимо настроить опцию мультиарендности (мультитенантности).

Известные ограничения

  • Набор правил фильтрации запросов применяется ко всем WAF‑нодам, привязанным к одному аккаунту Вебмониторэкс. Чтобы применить правила к отдельным ресурсам, вы можете настроить уникальные HTTP‑заголовки или ID.
  • Если WAF‑нода блокирует IP‑адрес запроса, блокировка применяется ко всем ресурсам, настроенным в рамках одного аккаунта Вебмониторэкс. Автоматическая блокировка может произойти в нескольких случаях, например, при обнаружении трех или более векторов атак, отправленных с одного IP‑адреса.