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

Начало работы

1. Включите обнаружение

  1. В панели управления Cloudflare перейдите в раздел Security Settings .

    Перейдите в Settings ↗
  2. (Необязательно) Отфильтруйте по Инструменты обнаружения.

  3. Включите Обнаружение вредоносных загрузок.

Используйте POST запрос, аналогичный следующему:

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

Хотя бы одно из следующих разрешения токена обязательно:
  • Zone WAF Write
  • Account WAF Write
Включение Content Scanning для зоны.
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/enable" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Используйте cloudflare_content_scanning, чтобы включить сканирование контента для зоны. Например:

resource "cloudflare_content_scanning" "zone_content_scanning_example" {
	zone_id = var.cloudflare_zone_id
	enabled = true
}

2. Проверьте поведение сканирования содержимого

Используйте Security Analytics и HTTP-логи, чтобы убедиться, что вредоносные объекты содержимого обнаруживаются корректно.

Вы можете использовать антивирусный тестовый файл EICAR для проверки сканирования содержимого (выберите формат ZIP).

Либо создайте пользовательское правило, как описано в следующем шаге, используя Log вместо блокирующего действия вроде Block. Это правило будет генерировать события безопасности который позволит вам проверить вашу конфигурацию.

3. Создайте пользовательское правило

Создание пользовательского правила которое блокирует обнаруженные вредоносные объекты содержимого, загружаемые в ваше приложение.

Например, создайте пользовательское правило с Block (действие) и следующее выражение:

Поле Оператор Значение
Содержит вредоносный объект содержимого равно True

Если вы используете Expression Editor, введите следующее выражение:

(cf.waf.content_scan.has_malicious_obj)

Действие правила: Block

Это правило будет соответствовать запросам, в которых Cloudflare обнаруживает подозрительный или вредоносный объект содержимого. Список полей, предоставляемых сканированием содержимого WAF, см. в Поля сканирования содержимого.

Необязательно: комбинирование с другими полями языка Rules

Вы можете комбинировать предыдущее выражение с другими поля и функции языка Rules. Это позволяет настраивать область действия правила или сочетать сканирование контента с другими функциями безопасности. Например:

Дополнительные примеры см. в Примеры правил.

4. (Необязательно) Настройте пользовательское выражение сканирования

Чтобы проверять загружаемое содержимое способом, не покрытым конфигурацией по умолчанию, добавьте пользовательское выражение сканирования.

  1. В панели управления Cloudflare перейдите в раздел Security Settings .

    Перейдите в Settings ↗
  2. (Необязательно) Отфильтруйте по Инструменты обнаружения.

  3. В разделе Обнаружение вредоносных загрузок > Конфигурации, выберите значок редактирования.

  4. Выберите Add content location.

  5. В Расположение содержимого, введите ваше пользовательское выражение сканирования. Например:

    lookup_json_string(http.request.body.raw, "file")
  6. Выберите Save.

Используйте POST запрос, аналогичный следующему:

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

Хотя бы одно из следующих разрешения токена обязательно:
  • Zone WAF Write
  • Account WAF Write
Создание пользовательских выражений Content Scanning для зоны.
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/payloads" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '[
		{
				"payload": "lookup_json_string(http.request.body.raw, \"file\")"
		}
	]'

Приведённый выше запрос добавит следующее выражение в текущий список пользовательских выражений сканирования:

lookup_json_string(http.request.body.raw, "file")

Используйте cloudflare_content_scanning_expression, чтобы добавить пользовательское выражение сканирования. Например:

resource "cloudflare_content_scanning_expression" "my_custom_scan_expression" {
  zone_id = var.cloudflare_zone_id
  payload = "lookup_json_string(http.request.body.raw, \"file\")"
}

Подробнее см. Пользовательские выражения сканирования.