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

Распространённые политики

Следующие политики обычно используются для защиты HTTP-трафика. HTTP-политики оцениваются по порядку сверху вниз, и применяется первая подходящая политика, за исключением Do Not Inspect политики, которые всегда оцениваются первыми.

Базовый набор рекомендуемых политик см. в Защитите свой интернет-трафик и SaaS-приложения.

См. Страница политик HTTP для полного списка других селекторов, операторов и действий.

Заблокировать сайты

Блокируйте попытки обращения к сайтам по имени хоста или пути URL. В зависимости от структуры сайта могут потребоваться разные подходы.

Заблокировать сайты по имени хоста

Заблокируйте все поддомены, использующие данный хост.

Селектор Оператор Значение Действие
Host matches regex .*example\.com Block

В следующих примерах API filters: ["http"] означает, что это HTTP-политика (уровень 7).

Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block sites by hostname",
		"description": "Block all subdomains that use a specific hostname",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "http.request.host matches \".*example.com\"",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать сайты по URL-адресу

Заблокируйте часть сайта, не блокируя его полностью. Например, можно заблокировать конкретный сабреддит, например reddit.com/r/gaming, не блокируя reddit.com.

Селектор Оператор Значение Действие
URL matches regex /r/gaming Block
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block sites by URL",
		"description": "Block specific parts of a site without blocking the hostname",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "http.request.uri matches \"/r/gaming\"",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать категории контента

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

Селектор Оператор Значение Действие
Content Categories in Сомнительный контент, Риски безопасности, Разное, Adult Themes, Азартные игры Block
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "All-HTTP-ContentCategories-Blocklist",
		"description": "Block access to questionable content and potential security risks",
		"precedence": 40,
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(http.request.uri.content_category[*] in {17 85 87 102 157 135 138 180 162 32 169 177 128 15 115 119 124 141 161 2 67 125 133 99})",
		"identity": "",
		"device_posture": ""
	}'
resource "cloudflare_zero_trust_gateway_policy" "block_unauthorized_apps" {
  account_id     = var.cloudflare_account_id
  name           = "All-HTTP-ContentCategories-Blocklist"
  description    = "Block access to questionable content and potential security risks"
	precedence     = 40
  enabled        = true
  action         = "block"
  filters        = ["http"]
  traffic        = "any(http.request.uri.content_category[*] in {17 85 87 102 157 135 138 180 162 32 169 177 128 15 115 119 124 141 161 2 67 125 133 99})"
  identity       = ""
  device_posture = ""
}

Заблокировать несанкционированные приложения

Чтобы снизить риск теневой ИТ, некоторые организации предпочитают ограничивать доступ своих пользователей к определённым веб-инструментам и приложениям. Например, следующая политика блокирует известные инструменты ИИ:

Селектор Оператор Значение Действие
Приложение in Искусственный интеллект Block
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "All-HTTP-Application-Blocklist",
		"description": "Limit access to shadow IT by blocking web-based tools and applications",
		"precedence": 60,
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(app.type.ids[*] in {25})",
		"identity": "",
		"device_posture": ""
	}'
resource "cloudflare_zero_trust_gateway_policy" "all_http_application_blocklist" {
  account_id     = var.cloudflare_account_id
  name           = "All-HTTP-Application-Blocklist"
  description    = "Limit access to shadow IT by blocking web-based tools and applications"
  precedence     = 60
  enabled        = true
  action         = "block"
  filters        = ["http"]
  traffic        = "any(app.type.ids[*] in {25})"
  identity       = ""
  device_posture = ""
}

Проверить личность пользователя

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

Селектор Оператор Значение Логика Действие
Приложение in Salesforce И Block
User Group Names in Подрядчики
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Check user identity",
		"description": "Block access to Salesforce by temporary employees and contractors",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(app.ids[] in {606})",
		"identity": "any(identity.groups.name[] in {\"Contractors\"})",
		"device_posture": ""
	}'

Пропускать проверку для групп приложений

Некоторые клиентские приложения, например Zoom или сервисы Apple, используют закрепление сертификатов. Такие приложения проверяют, что подключаются напрямую к собственным серверам, и отклоняют сертификат проверки TLS от Gateway. Чтобы избежать ошибок подключения, добавьте для этих приложений политику Do Not Inspect HTTP.

Gateway сначала оценивает политики Do Not Inspect, независимо от их позиции в списке политик. Cloudflare рекомендует переместить политики Do Not Inspect в начало списка, чтобы избежать путаницы.

Селектор Оператор Значение Действие
Приложение in Do Not Inspect Do Not Inspect
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Bypass incompatible applications",
		"description": "Skip TLS decryption for applications that are incompatible with Gateway",
		"enabled": true,
		"action": "off",
		"filters": [
				"http"
		],
		"traffic": "any(app.type.ids[*] in {16})",
		"identity": "",
		"device_posture": ""
	}'

Проверить состояние устройства

Требуйте, чтобы на устройствах было установлено определённое программное обеспечение или соблюдались другие параметры конфигурации. Инструкции по настройке проверки состояния устройства см. в Требовать проверку состояния устройства.

Принудительно применяйте минимальную версию ОС

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

Селектор Оператор Значение Действие
Пройденные проверки состояния устройства in Минимальная версия ОС Allow
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Require OS version",
		"description": "Perform an OS version check for minimum version",
		"enabled": true,
		"action": "allow",
		"filters": [
				"http"
		],
		"traffic": "",
		"identity": "",
		"device_posture": "any(device_posture.checks.passed[*] in {\"<POSTURE_CHECK_UUID>\"})"
	}'

Чтобы получить UUID проверок состояния устройства, используйте List device posture rules конечная точка.

Проверить наличие определённого файла

Выполните проверка файла чтобы убедиться, что у пользователей на устройстве есть определённый файл.

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

Селектор Оператор Значение Логика Действие
Пройденные проверки состояния устройства in macOS File Check Или Allow
Пройденные проверки состояния устройства in Linux File Check
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Check for specific file",
		"description": "Ensure users have a specific file on their device regardless of operating system",
		"enabled": true,
		"action": "allow",
		"filters": [
				"http"
		],
		"traffic": "",
		"identity": "",
		"device_posture": "any(device_posture.checks.passed[] in {\"<POSTURE_CHECK_1_UUID>\"}) or any(device_posture.checks.passed[] in {\"<POSTURE_CHECK_2_UUID>\"})"
	}'

Чтобы получить UUID проверок состояния устройства, используйте List device posture rules конечная точка.

Требовать ограничение длительности сеанса

Требовать повторной аутентификации пользователей по истечении определённого времени.

Изолировать сайты с высоким риском в удалённом браузере

Если вы используете Дополнение Browser Isolation, см. наш список распространённые политики изоляции.

Не проверять самоподписанные сертификаты

При обращении к исходным серверам с сертификатами, не подписанными публичным центром сертификации, необходимо исключить их из расшифровки TLS.

Селектор Оператор Значение Действие
Домен in internal.example.com Do Not Inspect
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Bypass internal site inspection",
		"description": "Bypass TLS decryption for internal sites with self-signed certificates",
		"enabled": true,
		"action": "off",
		"filters": [
				"http"
		],
		"traffic": "any(http.request.domains[*] in {\"internal.example.com\"})",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать типы файлов

Блокируйте отправку или загрузку файлов в зависимости от их типа.

Селектор Оператор Значение Логика Действие
Upload File Types in Документ Microsoft Office Word (docx) И Block
Download File Types in PDF (pdf)
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block file types",
		"description": "Block the upload or download of files based on their type",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(http.upload.file.types[*] in {\"docx\"}) and any(http.download.file.types[*] in {\"pdf\"})",
		"identity": "",
		"device_posture": ""
	}'

Дополнительные сведения о поддерживаемых типах файлов см. в Download and Upload File Types.

Изолировать или блокировать приложения теневого IT

Изолировать приложения теневого IT, обнаруженные Библиотека приложений которые еще не проверены или сейчас проверяются, и блокируйте приложения, не одобренные вашей организацией.

Дополнительные сведения о проверке приложений Shadow IT см. в Проверить приложения.

1. Изолируйте непроверенные приложения или приложения, находящиеся на проверке

Изолировать приложения, если их статус одобрения Не проверено или На проверке.

Селектор Оператор Значение Логика Действие
Статус приложения является Не проверено Или Изолировать
Статус приложения является На проверке
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Isolate unreviewed or in review application status",
		"description": "Isolate Shadow IT applications that have not been reviewed or are in review in the Application Library",
		"enabled": true,
		"action": "isolate",
		"filters": [
				"http"
		],
		"traffic": "any(app.statuses[*] == \"unreviewed\") or any(app.statuses[*] == \"in review\")",
		"identity": "",
		"device_posture": ""
	}'

2. Заблокируйте неодобренные приложения

Блокировать приложения, если их статус одобрения Не утверждено.

Селектор Оператор Значение Действие
Статус приложения является Не утверждено Block
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block unapproved application status",
		"description": "Block Shadow IT applications that have been marked as unapproved in the Application Library",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(app.statuses[*] == \"unapproved\")",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать сервисы Google

Чтобы включить проверку Gateway для трафика Google Drive, необходимо Добавьте сертификат Cloudflare в Google Drive.

Заблокировать загрузки из Google Drive

Заблокируйте загрузку файлов из Google Drive.

Селектор Оператор Значение Логика Действие
Приложение in Google Drive И Block
URL Path & Query matches regex .*(e=download|export).*
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block Google Drive downloads",
		"description": "Block file downloads from Google Drive",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(app.ids[] in {554}) and http.request.uri.path_and_query matches \".(e=download|export).*\"",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать отправку файлов в Google Drive

Заблокируйте отправку файлов в Google Drive.

Селектор Оператор Значение Логика Действие
Приложение in Google Drive И Block
Upload Mime Type matches regex .* И
Host не является drivefrontend-pa.clients6.google.com
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block Google Drive uploads",
		"description": "Block file uploads to Google Drive",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(app.ids[] in {554}) and http.upload.mime matches \".\" and not(http.request.host == \"drivefrontend-pa.clients6.google.com\")",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать загрузки из Gmail

Заблокируйте загрузку файлов из Gmail.

Селектор Оператор Значение Логика Действие
Host является mail-attachment.googleusercontent.com И Block
URL Path & Query является /attachment/u/0
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block Gmail downloads",
		"description": "Block file downloads from Gmail",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "http.request.host == \"mail-attachment.googleusercontent.com\" and http.request.uri.path_and_query matches \"/attachment/u/0\"",
		"identity": "",
		"device_posture": ""
	}'

Заблокировать прокси Google Translate

Заблокируйте использование Google Translate для перевода целых веб-страниц.

При переводе веб-сайта Google Translate проксирует веб-страницы с помощью translate.goog домен. Ваши пользователи смогут использовать этот сервис, чтобы обойти другие политики Gateway. Если вы заблокируете translate.goog, пользователи всё равно смогут пользоваться остальными функциями Google Translate.

Селектор Оператор Значение Действие
Домен matches regex ^(.+\.)?translate\.goog$ Block
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Block Google Translate for websites",
		"description": "Block use of Google Translate to translate entire webpages",
		"enabled": true,
		"action": "block",
		"filters": [
				"http"
		],
		"traffic": "any(http.request.domains[*] matches \"^(.+\\.)?translate\\.goog$\")",
		"identity": "",
		"device_posture": ""
	}'

Фильтруйте трафик WebSocket

Gateway не проверяет и не регистрирует WebSocket трафик. Вместо этого Gateway будет логировать только детали HTTP, использованные для установления соединения WebSocket, а также информация о сетевых сессиях. Чтобы отфильтровать трафик WebSocket, создайте политику с 101 Код ответа HTTP.

Селектор Оператор Значение Действие
Ответ HTTP является 101 SWITCHING_PROTOCOLS Allow
Создайте правило Zero Trust Gateway
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "Filter WebSocket",
		"description": "Filter WebSocket traffic with HTTP response code 101",
		"enabled": true,
		"action": "allow",
		"filters": [
				"http"
		],
		"traffic": "http.response.status_code == 101",
		"identity": "",
		"device_posture": ""
	}'