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

Фильтры журналов Network Firewall

Вы можете применить Фильтры журнала в задание Logpush, чтобы экспортировать только определённые события Cloudflare Network Firewall. Примеры ниже показывают типичные конфигурации фильтров с использованием Logpush API. Каждый фильтр использует структуру JSON с where условия, содержащие key (поле журнала, по которому выполняется фильтрация), operator (сравнение, например eq для равенства или !eq для «не равно»), а value (значение для сравнения).

Фильтры в этом руководстве используют следующие поля журнала:

Фильтруйте по включённым или отключённым правилам

Используйте приведённые ниже примеры фильтров, чтобы отфильтровать трафик Cloudflare Network Firewall и отобразить события для включённых или отключённых правил.

Приведённый ниже пример создаёт задание Logpush который отображает только поля, относящиеся к Cloudflare Network Firewall, и показывает только события для отключённых правил.

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

Хотя бы одно из следующих права доступа токена требуется:
Создать задание Logpush
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"destination_conf": "<DESTINATION_CONF>",
		"output_options": {
				"field_names": [
						"ColoName",
						"Datetime",
						"Direction",
						"IPDestinationAddress",
						"IPDestinationSubnet",
						"IPProtocol",
						"IPSourceAddress",
						"IPSourceSubnet",
						"Outcome",
						"RuleID",
						"RulesetID",
						"SampleInterval",
						"Verdict"
				]
		},
		"filter": "{\"where\":{\"or\":[{\"and\":[{\"key\":\"MitigationSystem\",\"operator\":\"eq\",\"value\":\"magic-firewall\"},{\"key\":\"RulesetID\",\"operator\":\"!eq\",\"value\":\"\"},{\"key\":\"Outcome\",\"operator\":\"eq\",\"value\":\"pass\"},{\"key\":\"Verdict\",\"operator\":\"eq\",\"value\":\"drop\"}]}]}}"
	}'

Приведённый ниже пример создаёт задание Logpush который отображает только поля, относящиеся к Cloudflare Network Firewall, и показывает только события для включённых правил.

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

Хотя бы одно из следующих права доступа токена требуется:
Создать задание Logpush
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"destination_conf": "<DESTINATION_CONF>",
		"output_options": {
				"field_names": [
						"ColoName",
						"Datetime",
						"Direction",
						"IPDestinationAddress",
						"IPDestinationSubnet",
						"IPProtocol",
						"IPSourceAddress",
						"IPSourceSubnet",
						"Outcome",
						"RuleID",
						"RulesetID",
						"SampleInterval",
						"Verdict"
				]
		},
		"filter": "{\"where\":{\"or\":[{\"and\":[{\"key\":\"MitigationSystem\",\"operator\":\"eq\",\"value\":\"magic-firewall\"},{\"key\":\"RulesetID\",\"operator\":\"!eq\",\"value\":\"\"},{\"or\":[{\"key\":\"Outcome\",\"operator\":\"eq\",\"value\":\"drop\"},{\"key\":\"Verdict\",\"operator\":\"eq\",\"value\":\"pass\"}]}]}]}}"
	}'

Фильтруйте по разрешённому или заблокированному трафику

Используйте приведённые ниже примеры фильтров, чтобы отфильтровать трафик Cloudflare Network Firewall и отобразить события для разрешённого или заблокированного трафика.

Приведённый ниже пример создаёт задание Logpush который отображает только поля, относящиеся к Cloudflare Network Firewall, и показывает только события, где не было выполнено ни одного явного действия: то есть пакет прошёл через брандмауэр, не совпав ни с одним правилом. По умолчанию Cloudflare Network Firewall пропускает трафик, не совпавший ни с одним правилом. Это обозначается пустым RulesetID.

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

Хотя бы одно из следующих права доступа токена требуется:
Создать задание Logpush
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"destination_conf": "<DESTINATION_CONF>",
		"output_options": {
				"field_names": [
						"ColoName",
						"Datetime",
						"Direction",
						"IPDestinationAddress",
						"IPDestinationSubnet",
						"IPProtocol",
						"IPSourceAddress",
						"IPSourceSubnet",
						"Outcome",
						"RuleID",
						"RulesetID",
						"SampleInterval",
						"Verdict"
				]
		},
		"filter": "{\"where\":{\"and\":[{\"key\":\"MitigationSystem\",\"operator\":\"eq\",\"value\":\"magic-firewall\"},{\"key\":\"RulesetID\",\"operator\":\"eq\",\"value\":\"\"}]}}"
	}'

Приведённый ниже пример создаёт задание Logpush который отображает только поля, относящиеся к Cloudflare Network Firewall, и показывает только события, где было выполнено явное действие. В примере показаны как включённые, так и отключённые правила Cloudflare Network Firewall.

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

Хотя бы одно из следующих права доступа токена требуется:
Создать задание Logpush
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"destination_conf": "<DESTINATION_CONF>",
		"output_options": {
				"field_names": [
						"ColoName",
						"Datetime",
						"Direction",
						"IPDestinationAddress",
						"IPDestinationSubnet",
						"IPProtocol",
						"IPSourceAddress",
						"IPSourceSubnet",
						"Outcome",
						"RuleID",
						"RulesetID",
						"SampleInterval",
						"Verdict"
				]
		},
		"filter": "{\"where\":{\"and\":[{\"key\":\"MitigationSystem\",\"operator\":\"eq\",\"value\":\"magic-firewall\"},{\"key\":\"RulesetID\",\"operator\":\"!eq\",\"value\":\"\"}]}}"
	}'

Фильтруйте только события Network Firewall

Если задание Logpush включает события из нескольких систем защиты Cloudflare, используйте приведенный ниже фильтр, чтобы оставить только события Cloudflare Network Firewall. Пример ниже создаёт задание Logpush которая фильтрует по MitigationSystem чтобы включить только трафик Network Firewall.

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

Хотя бы одно из следующих права доступа токена требуется:
Создать задание Logpush
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"destination_conf": "<DESTINATION_CONF>",
		"output_options": {
				"field_names": [
						"ColoName",
						"Datetime",
						"Direction",
						"IPDestinationAddress",
						"IPDestinationSubnet",
						"IPProtocol",
						"IPSourceAddress",
						"IPSourceSubnet",
						"Outcome",
						"RuleID",
						"RulesetID",
						"SampleInterval",
						"Verdict"
				]
		},
		"filter": "{\"where\":{\"key\":\"MitigationSystem\",\"operator\":\"eq\",\"value\":\"magic-firewall\"}}"
	}'