Как работает WAF‑нода в изолированных средах¶
В процессе публикации приложения могут использоваться несколько сред: боевая, тестовая, среда разработки и другие, в зависимости от ваших настроек. Данный раздел документации описывает способы управления WAF‑нодой в нескольких изолированных средах.
Что такое среда?¶
Определение термина в разных компаниях может отличаться. В данном разделе документации используется определение, приведенное ниже.
Среда — изолированный набор компьютерных ресурсов, который может использоваться для различных целей, например: разработка, тестирование или публикация. Средой управляет одна или несколько команд, например: SRE, команда разработки и QA. При этом, в управлении применяется набор правил по настройке сети, обновлению и версионированию приложения и другие стандарты.
Для повышения стабильности и качества фильтрации запросов рекомендуется поддерживать одинаковую конфигурацию WAF‑ноды для всех сред, которые настроены для приложения: боевой, тестовой, среды разработки и других.
Возможности Вебмониторэкс API Security в работе с изолированными средами¶
Для управления настройками WAF‑ноды в разных средах используются следующие возможности продукта Вебмониторэкс WAF:
Идентификация ресурсов¶
Вы можете настроить WAF‑ноду для определенной среды, используя следующие способы идентификации ресурсов:
-
по уникальному Вебмониторэкс ID для каждой среды;
-
по домену URL среды, если вы используете разные значения для разных сред.
Идентификация среды по ID¶
Чтобы присвоить уникальный идентификатор каждой среде и настроить для сред правила фильтрации запросов, используется концепция приложений.
Для настройки идентификаторов выполните следующие шаги:
-
Добавьте названия и идентификаторы всех сред в Личном кабинете Вебмониторэкс > Настройки > Приложения.
-
Передайте ID среды WAF‑ноде, которая настроена для этой среды. ID передается в следующем параметре WAF‑ноды:
wallarm_application
, если WAF‑нода установлена в систему на базе Linux, в форме sidecar‑контейнера Kubernetes или Docker‑образа;nginx.ingress.kubernetes.io/wallarm-application
, если WAF‑нода установлена в форме Ingress‑контроллера Kubernetes.
Теперь при создании правила фильтрации запросов вы можете указать ID сред, к которым применяется правило. Если ID сред не указаны, правило будет применяться ко всем ресурсам, на которых установлена WAF‑нода.
Идентификация среды по домену¶
Имя домена также может использоваться в качестве уникального идентификатора среды, если для каждой среды настроен отдельный домен, который передается в HTTP‑запросах в заголовке HOST
.
Чтобы использовать идентификацию по домену, при создании правила фильтрации запросов добавьте условие с доменом конкретной среды в параметре запроса HOST
. Правило из примера ниже будет применяться только к запросам со значением dev.domain.com
в параметре HOST
:
Использование разных аккаунтов Вебмониторэкс¶
Один из способов отдельной настройки фильтрующих нод для разных сред — использование разных аккаунтов Вебмониторэкс для отдельных сред или групп сред. Многие провайдеры облачных сервисов, в том числе Amazon AWS, рекомендуют данный подход.
Для упрощения управления несколькими аккаунтами Вебмониторэкс вы можете создать master‑аккаунт (аккаунт технического тенанта) и привязать к нему остальные аккаунты. Данная настройка позволяет управлять всеми аккаунтами через один master‑аккаунт и не переключаться.
Чтобы использовать данную возможность, необходимо настроить опцию мультиарендности (мультитенантности).
Известные ограничения
- Набор правил фильтрации запросов применяется ко всем WAF‑нодам, привязанным к одному аккаунту Вебмониторэкс. Чтобы применить правила к отдельным ресурсам, вы можете настроить уникальные HTTP‑заголовки или ID.
- Если WAF‑нода блокирует IP‑адрес запроса, блокировка применяется ко всем ресурсам, настроенным в рамках одного аккаунта Вебмониторэкс. Автоматическая блокировка может произойти в нескольких случаях, например, при обнаружении трех или более векторов атак, отправленных с одного IP‑адреса.