← Документация WAF / managed-rules
Развёртывание управляемого набора правил WAF через API (зона)
Используйте Rulesets API чтобы развернуть управляемый набор правил на уровне зоны.
Разверните управляемые наборы правил WAF в http_request_firewall_managed (фаза). Другие управляемые наборы правил, например наборы правил DDoS Attack Protection, должны быть развёрнуты в другой фазе. Подробности см. в документации соответствующего управляемого набора правил.
WAF Managed Rules содержит идентификаторы различных управляемых наборов правил WAF. Эта информация понадобится вам при развёртывании наборов правил через API.
Если вы используете Terraform, см. Конфигурация WAF Managed Rules с помощью Terraform.
Пример
Следующий пример развёртывает Cloudflare Managed Ruleset в http_request_firewall_managed указанной зоны ($ZONE_ID), создав правило, выполняющее управляемый набор правил.
-
Вызовите Получение набора правил точки входа зоны (операция), чтобы получить определение набора правил точки входа для фазы
http_request_firewall_managed(фаза). Вам понадобится ID зоны для этой задачи.Получение набора правил точки входа зоныcurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "description": "Zone-level phase entry point", "id": "<RULESET_ID>", "kind": "zone", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "zone", "phase": "http_request_firewall_managed", "rules": [ // ... ], "source": "firewall_managed", "version": "10" }, "success": true, "errors": [], "messages": [] } -
Если набор правил точки входа уже существует (то есть если вы получили
200 OKкод состояния и определение набора правил), запишите ID набора правил из ответа. Затем вызовите Создание правила в наборе правил зоны операцию, чтобы добавитьexecuteв существующий набор правил, разворачивающий Cloudflare Managed Ruleset (с IDefb7b8c949ac4650a09736fc376e9aee). По умолчанию правило будет добавлено в конец списка правил, уже имеющихся в наборе.Создание правила в наборе правил зоныcurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset" }'{ "result": { "id": "<RULESET_ID>", "name": "Zone-level phase entry point", "description": "", "kind": "zone", "version": "11", "rules": [ // ... any existing rules { "id": "<RULE_ID>", "version": "1", "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", "version": "latest" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset", "last_updated": "2024-03-18T18:08:14.003361Z", "ref": "<RULE_REF>", "enabled": true } ], "last_updated": "2024-03-18T18:08:14.003361Z", "phase": "http_request_firewall_managed" }, "success": true, "errors": [], "messages": [] } -
Если набор правил точки входа не существует (то есть если вы получили
404 Not Foundкод состояния на шаге 1), создайте его с помощью Создание набора правил зоны. Включите одно правило в массивrules, выполняющее Cloudflare Managed Ruleset (с IDefb7b8c949ac4650a09736fc376e9aee) для всех входящих запросов в зоне.Создание набора правил зоныcurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "My ruleset", "description": "Entry point ruleset for WAF managed rulesets", "kind": "zone", "phase": "http_request_firewall_managed", "rules": [ { "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset" } ] }'
Дальнейшие шаги
Чтобы настроить поведение правил, входящих в управляемый набор, создайте переопределение.
Чтобы пропустить выполнение управляемых наборов правил WAF или отдельных их правил, создать исключение (также называется правилом пропуска — skip rule).
Исключения имеют приоритет над переопределениями.
Дополнительные ресурсы
Инструкции по развёртыванию управляемого набора правил на уровне аккаунта через API см. в Развёртывание управляемого набора правил WAF через API (аккаунт).
Подробнее о работе с управляемыми наборами правил через API см. Работа с управляемыми наборами правил в документации по Ruleset Engine.