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