INTEGRITY Документация

Включение только правил Joomla

Используйте Rulesets API чтобы настроить выполнение управляемого набора правил и переопределить его поведение. По умолчанию включённые правила выполняют действия, заданные издателем управляемого набора правил. В этом примере переопределения используются для того, чтобы включить только правила с определённым тегом.

Выполните следующие шаги, чтобы настроить выполнение управляемого набора правил с двумя переопределениями, которые включают только правила с тегом joomla.

  1. Добавьте правило к входному набору правил фазы, который выполняет управляемый набор правил.
  2. Настройка переопределения набора правил которое отключает все правила в управляемом наборе правил.
  3. Настройте переопределение тега, которое включает только правила с заданным тегом.

Переопределения тегов имеют приоритет над переопределениями набора правил. Включаются только правила с указанным тегом, все остальные правила отключаются.

Пример 1

В этом примере Cloudflare Managed Ruleset развёртывается в фазе с включёнными только правилами Joomla. name, kind, а также phase поля опускаются из запроса, так как они неизменяемы.

Пример: включение только правил Joomla с помощью переопределений категорий на уровне зоны

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Обновление набора правил точки входа зоны
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "true",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "block",
														"enabled": true
												}
										]
								}
						}
				}
		]
	}'

Пример: включение только правил Joomla с помощью переопределений категорий на уровне аккаунта

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • Transform Rules Write
  • Select Configuration Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
Обновление входного набора правил аккаунта
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "block",
														"enabled": true
												}
										]
								}
						}
				}
		]
	}'

Вы можете добавить к одному правилу несколько переопределений категории.

Пример 2

В этом примере к правилу, которое выполняет управляемый набор правил, добавляются два переопределения (<MANAGED_RULESET_ID>) в http_request_firewall_managed фазы. Обратите внимание, что name, kind, а также phase поля опускаются из запроса, так как они неизменяемы.

Пример: добавление нескольких переопределений категорий на уровне зоны

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Обновление набора правил точки входа зоны
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "true",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "log",
														"enabled": true
												},
												{
														"category": "wordpress",
														"enabled": false
												}
										]
								}
						}
				}
		]
	}'

Пример: добавление нескольких переопределений категорий на уровне аккаунта

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • Transform Rules Write
  • Select Configuration Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
Обновление входного набора правил аккаунта
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "log",
														"enabled": true
												},
												{
														"category": "wordpress",
														"enabled": false
												}
										]
								}
						}
				}
		]
	}'

Порядок переопределений в наборе правил определяет, включены или отключены правила в развёрнутом управляемом наборе правил. Переопределения, расположенные ниже в списке, имеют приоритет над более ранними.

Рассмотрим четыре правила из управляемого набора правил в приведённом выше коде с разными комбинациями category теги. В следующей таблице показано состояние правил после применения переопределений.

Правило в управляемом наборе правил Теги Статус правила после переопределений
ManagedRule1 drupal, dos Отключено
ManagedRule2 drupal, dos, joomla Включено
ManagedRule3 dos, joomla, wordpress Отключено
ManagedRule4 drupal, wordpress Отключено
ManagedRule5 (без тегов) Отключено