← Документация WAF / managed-rules
Развёртывание управляемого набора правил WAF через API (зона)
Используйте Rulesets API чтобы развернуть управляемый набор правил на уровне зоны.
Разверните управляемые наборы правил WAF в http_request_firewall_managed фаза. Другие управляемые наборы правил, такие как управляемые наборы правил DDoS Attack Protection, необходимо развёртывать в другой фазе. Подробности см. в документации по конкретному управляемому набору правил.
WAF Managed Rules страница содержит ID разных управляемых наборов правил 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 или части их правил, создание исключения (также называется правилом пропуска).
Исключения имеют приоритет над переопределениями.
Дополнительные ресурсы
Инструкции по развёртыванию управляемого набора правил на уровне аккаунта через API см. в Развёртывание управляемого набора правил WAF через API (аккаунт).
Дополнительную информацию о работе с управляемыми наборами правил через API см. в Работа с управляемыми наборами правил в документации по Ruleset Engine.