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

Настройка логирования payload через API

Используйте Rulesets API чтобы настроить журналирование payload для управляемого набора правил через API.

Настройка и включение логирования payload

  1. Используйте Получение набора правил точки входа зоны (операция), чтобы получить следующие ID:

    • ID набор правил точки входа http_request_firewall_managed фаза.
    • ID execute правилом, разворачивающим управляемый набор правил WAF, для которого вы хотите настроить логирование payload.
  2. Используйте Обновление правила набора правил зоны операцию, чтобы обновить правило, найденное на предыдущем шаге.

    Включите matched_data (объект) в свойстве правила action_parameters для настройки журналирования payload. Объект matched_data имеет следующую структуру:

    "action_parameters": {
      // ...
      "matched_data": {
        "public_key": "<PUBLIC_KEY_VALUE>"
      }
    }

    Замените <PUBLIC_KEY_VALUE>, указав открытый ключ, который вы хотите использовать для журналирования payload. Открытый ключ можно сгенерировать в командной строке или в панели управления Cloudflare.

Пример

В этом примере журналирование payload настраивается для Cloudflare Managed Ruleset, который уже развёрнут для зоны с ID $ZONE_ID.

  1. Вызовите Получение набора правил точки входа зоны, чтобы получить правила, настроенные в данный момент в наборе правил точки входа фазы http_request_firewall_managed фазе.

    Получение набора правил точки входа зоны
    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": {
    		"id": "060013b1eeb14c93b0dcd896537e0d2c", // entry point ruleset ID
    		"name": "default",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    			{
    				"id": "1bdb49371c1f46958fc8b985efcb79e7", // `execute` rule ID
    				"version": "1",
    				"action": "execute",
    				"expression": "true",
    				"last_updated": "2024-01-20T14:21:28.643979Z",
    				"ref": "1bdb49371c1f46958fc8b985efcb79e7",
    				"enabled": true,
    				"action_parameters": {
    					"id": "efb7b8c949ac4650a09736fc376e9aee", // "Cloudflare Managed Ruleset" ID
    					"version": "latest"
    				}
    			}
    			// (...)
    		],
    		"last_updated": "2024-01-20T14:29:00.190643Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  2. Сохраните следующие ID для следующего шага:

    • Идентификатор набора правил точки входа: 060013b1eeb14c93b0dcd896537e0d2c
    • ID execute правило, разворачивающее Cloudflare Managed Ruleset: 1bdb49371c1f46958fc8b985efcb79e7

    Чтобы найти нужное правило в rules найдите execute правило, содержащее идентификатор Cloudflare Managed Ruleset () в action_parameters > id.

  3. Вызовите Обновление правила набора правил зоны, чтобы обновить конфигурацию найденного правила. Теперь правило будет включать конфигурацию журналирования payload (matched_data ).

    Обновление правила набора правил зоны
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/060013b1eeb14c93b0dcd896537e0d2c/rules/1bdb49371c1f46958fc8b985efcb79e7" \
    	--request PATCH \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"action": "execute",
    		"action_parameters": {
    				"id": "efb7b8c949ac4650a09736fc376e9aee",
    				"matched_data": {
    						"public_key": "Ycig/Zr/pZmklmFUN99nr+taURlYItL91g+NcHGYpB8="
    				}
    		},
    		"expression": "true"
    	}'

    Ответ будет содержать полный набор правил после обновления правила.

Подробнее о развёртывании управляемых наборов правил через API см. Развёртывание управляемого набора правил в документации по Ruleset Engine.


Отключение журналирования payload

Чтобы отключить логирование payload для управляемого набора правил:

  1. Используйте Обновление правила набора правил зоны, чтобы обновить правило, развёртывающее управляемый набор правил (правило с "action": "execute").

  2. Измените определение правила так, чтобы в нём не было matched_data в action_parameters.

Например, следующий PATCH запрос обновляет правило с ID $RULE_ID , развёртывающее Cloudflare Managed Ruleset , чтобы отключить логирование payload:

Обновление правила набора правил зоны
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "execute",
		"action_parameters": {
				"id": "efb7b8c949ac4650a09736fc376e9aee"
		},
		"expression": "true"
	}'

Подробности о получении ID набора правил точки входа и ID обновляемого правила см. в Настройка и включение логирования payload.