Настроить набор базовых правил WAF
-
В консоли управления
выберите каталог, в котором находится профиль WAF. -
В списке сервисов выберите Smart Web Security.
-
На панели слева выберите
Профили WAF. -
Выберите профиль, в котором вы хотите настроить набор базовых правил.
-
Нажмите кнопку Настроить набор базовых правил.
-
Установите Порог аномальности — суммарную аномальность сработавших правил, при которой запрос будет заблокирован.
Рекомендуется начинать с порога аномальности
25
и постепенно снижать его до5
. Чтобы снизить порог аномальности, отработайте ложные срабатывания WAF на легитимные запросы. Для этого подберите правила из базового набора и настройте правила-исключения.Для тестирования порогов аномальности используйте режим Только логирование (dry run). Режим включается при добавлении в профиль безопасности правила WAF.
-
Установите Уровень паранойи.
Уровень паранойи классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше уровень защиты, но и больше вероятность ложных срабатываний WAF.
-
Проверьте включенные в набор правила, при необходимости включите дополнительные или уберите ненужные. При работе с правилами обращайте внимание на значение их аномальности и уровень паранойи.
Любое правило из набора можно сделать блокирующим. Запрос, соответствующий таком правилу, будет заблокирован независимо от установленного порога аномальности. Чтобы сделать правило блокирующим, нажмите
справа от него. Если в профиле безопасности включен режим Только логирование (dry run), запросы блокироваться не будут. -
Нажмите кнопку Сохранить настройки.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Вы можете динамически включить все правила из базового набора, если их уровень паранойи не выше заданного в пользовательской переменной. Для динамически настроенных правил можно вручную изменить параметры. Например, сделать правило блокирующим и сделать активным правило, у которого уровень паранойи выше, чем задан в переменной.
-
Откройте файл конфигурации Terraform и измените фрагмент с описанием профиля безопасности
yandex_sws_waf_profile
: добавьте блокrule
c правилом безопасности или блокdynamic "rule"
с динамически настраиваемыми правилами.# В базовом наборе будут активны правила этого уровня паранойи и ниже locals { waf_paranoia_level = 1 } # Источник данных 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 = 2 paranoia_level = local.waf_paranoia_level rule_set { name = "OWASP Core Ruleset" version = "4.0.0" } } # Назначаем правило блокирующим — запрос будет заблокирован независимо от порога аномальности rule { rule_id = "owasp-crs-v4.0.0-id942330-attack-sqli" is_enabled = true is_blocking = true } # Назначаем активным правило с уровнем паранойи 4 rule { rule_id = "owasp-crs-v4.0.0-id920202-protocol-enforcement" is_enabled = true is_blocking = false } # Активируем правила из базового набора, если их уровень паранойи не выше заданного в переменной 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 } } analyze_request_body { is_enabled = true size_limit = 8 size_limit_action = "IGNORE" } }
Где:
dynamic "rule"
— динамическая активация правил из базового набора, если их уровень паранойи не выше заданного в переменнойwaf_paranoia_level
. Для динамически настроенных правил можно вручную изменить параметры. Например, сделать правило блокирующим или сделать активным правило, у которого уровень паранойи выше, чем указан в переменной.rule_id
— идентификатор правила.is_enabled
— флаг включения или отключения правила.is_blocking
— флаг, который назначает правило блокирующим.
Более подробную информацию о параметрах ресурса
sws_waf_profile
в Terraform, см. в документации провайдера . -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
Проверить изменение ресурсов можно в консоли управления