Создать профиль WAF
-
В консоли управления
выберите каталог, в котором вы хотите создать профиль WAF. -
Перейдите
в сервис Smart Web Security. -
На панели слева выберите Профили WAF и нажмите кнопку Создать профиль WAF.
-
Введите имя профиля.
-
(Опционально) Введите описание.
-
(Опционально) Добавьте профилю метки.
-
Включите один или несколько наборов правил: OWASP Core Rule Set
, Yandex Ruleset, Yandex ML Ruleset. Чтобы посмотреть правила, которые входят в набор, нажмите на строку с набором правил. -
Выберите версию набора правил.
-
Если включено несколько наборов:
-
Выберите условие срабатывания профиля:
- Вердикт получен хотя бы в одном наборе — запрос распознан как угроза хотя бы одним набором правил.
- Вердикт получен в каждом наборе — запрос распознан как угроза всеми добавленными наборами правил.
-
Расположите наборы по приоритету, в котором правила набора будут анализировать запрос. Чем выше набор, тем выше приоритет.
-
-
Нажмите кнопку Создать.
Terraform
Terraform распространяется под лицензией Business Source License
Подробная информация о ресурсах провайдера в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
# В базовом наборе будут активны правила этого уровня паранойи и ниже locals { waf_paranoia_level = <уровень_паранойи> } # Источник данных OWASP Core Rule Set data "yandex_sws_waf_rule_set_descriptor" "owasp4" { name = "OWASP Core Ruleset" version = "4.0.0" } # WAF профиль resource "yandex_sws_waf_profile" "default" { name = "<имя_WAF_профиля>" # Базовый набор правил core_rule_set { inbound_anomaly_score = <порог_аномальности> paranoia_level = local.waf_paranoia_level rule_set { name = "OWASP Core Ruleset" version = "4.0.0" } } # Активируем правила из базового набора, если их уровень паранойи не выше заданного в переменной waf_paranoia_level dynamic "rule" { for_each = [ for rule in data.yandex_sws_waf_rule_set_descriptor.owasp4.rules : rule if rule.paranoia_level <= local.waf_paranoia_level ] content { rule_id = rule.value.id is_enabled = true is_blocking = false } }Где:
-
waf_paranoia_level— уровень паранойи классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше уровень защиты, но и больше вероятность ложных срабатываний WAF. -
data "yandex_sws_waf_rule_set_descriptor"— источник данных Terraform для набора базовых правил. Из источника данных вы можете получить список правил и их идентификаторы. -
resource "yandex_sws_waf_profile"— ресурс Terraform для управления WAF профилем.-
name— имя WAF профиля. -
core_rule_set— блок базовых правил:-
inbound_anomaly_score— порог аномальности. Это суммарная аномальность сработавших правил, при которой запрос будет заблокирован. Возможные значения от 2 до 10000. Чем выше заданное значение, тем больше вероятность того, что запрос, удовлетворяющий правилам, является атакой. -
paranoia_level— уровень паранойи, классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше защита, но больше вероятность ложных срабатываний. Возможные значения от 1 до 4.Примечание
Уровень паранойи не влияет на включение или отключение правил, он используется только как рекомендация для пользователя включить все правила со значением
paranoia_levelменьше или равно заданному. -
rule_set— блок с указанием набора правил. Указываетсяname— имя иversion— версия набора правил.
-
-
dynamic "rule"— динамическая активация правил из базового набора, если их уровень паранойи не выше заданного в переменнойwaf_paranoia_level. Для динамически настроенных правил можно вручную изменить параметры. Например, сделать правило блокирующим или сделать активным правило, у которого уровень паранойи выше, чем указан в переменной.rule_id— идентификатор правила.is_enabled— флаг включения или отключения правила.is_blocking— флаг, который назначает правило блокирующим.
-
Подробнее о параметрах ресурса
yandex_sws_waf_profileв документации провайдера. -
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
После создания WAF профиля вы можете настроить набор базовых правил и правил-исключений.
Воспользуйтесь методом REST API create для ресурса WafProfile или вызовом gRPC API WafProfile/Create.