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

Фильтрация HTTP

Secure Web Gateway позволяет проверять HTTP-трафик и контролировать, какие сайты могут посещать пользователи. Фильтрация DNS может только блокировать или разрешать домены целиком (например, весь dropbox.com). Фильтрация HTTP работает глубже: она проверяет полные URL и содержимое запросов, поэтому вы можете заблокировать конкретную страницу, например dropbox.com/shared-folder, проверять загружаемые файлы на наличие конфиденциальных данных или применять политики допустимого использования на основе того, что пользователи действительно делают на сайте.

1. Подключитесь к Gateway

Для фильтрации HTTP необходимо совместное взаимодействие трёх компонентов: Cloudflare One Client направляет трафик устройства через Cloudflare, корневой сертификат позволяет Gateway расшифровывать трафик HTTPS и проверять URL-адреса и содержимое, а прокси Gateway позволяет Gateway перехватывать и оценивать запросы HTTP. Без сертификата Gateway видит только доменное имя, а не полный URL-адрес или тело запроса.

Чтобы отфильтровать HTTP-запросы с устройства:

  1. Установите корневой сертификат Cloudflare на вашем устройстве.
  2. Установите Cloudflare One Client на вашем устройстве.
  3. В настройках Cloudflare One Client войдите через поставщика идентификации вашей организации Экземпляр Cloudflare One.
  4. Включите Gateway proxy для TCP. При необходимости включите прокси UDP, чтобы также проверять трафик QUIC на порте 443: это относится к HTTP/3, более новому протоколу, который некоторые браузеры используют по умолчанию.
  5. Чтобы проверять трафик HTTPS, включите расшифровку TLS. Расшифровка TLS позволяет Gateway читать зашифрованные запросы. Без нее Gateway видит только то, что пользователь посетил example.com но не конкретную страницу или то, что именно было загружено.
  6. (Необязательно) Чтобы сканировать загружаемые и скачиваемые файлы на наличие вредоносного ПО, включите антивирусное сканирование.

2. Проверьте подключение устройства

Чтобы проверить, что ваше устройство подключено к Cloudflare One и трафик проходит через Gateway:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Политики трафика > Настройки трафика.
  2. В разделе Ведение журнала активности трафика, включите ведение журнала активности для всех логов HTTP.
  3. На своём устройстве откройте браузер и перейдите на любой сайт.
  4. В Панель управления Cloudflare, перейдите в Zero Trust > Insights > Журналы > HTTP.
  5. Убедитесь, что запросы HTTP с вашего устройства отображаются.

Создав первую HTTP-политику на следующем шаге, проверьте её: перейдите по URL-адресу, который должна блокировать ваша политика, и убедитесь, что запрос отклонён.

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

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

Чтобы создать новую политику HTTP:

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Политики трафика > Политики Firewall.

  2. В HTTP вкладке выберите Добавление политики.

  3. Назовите политику.

  4. В разделе Трафик, создайте логическое выражение, определяющее трафик, который нужно разрешить или заблокировать.

  5. Выберите Действие, которое нужно предпринять, когда трафик соответствует логическому выражению. Например, если у вас настроена расшифровка TLS, некоторые приложения, использующие встроенные сертификаты может не поддерживать проверку HTTP, как некоторые продукты Google. Вы можете создать политику, чтобы исключить эти приложения из проверки:

    Селектор Оператор Значение Действие
    Приложение in Do Not Inspect Do Not Inspect

    Cloudflare также рекомендует добавить политику для блокировки известные угрозы например Command & Control, Botnet и Malware, на основе аналитики угроз Cloudflare:

    Селектор Оператор Значение Действие
    Security Categories in Все риски безопасности Block
  6. Выберите Создать политику.

  1. Создание API-токена со следующими разрешениями:

    Type Элемент Разрешение
    Аккаунт Zero Trust Изменить
  2. (Необязательно) Настройте переменные окружения API, чтобы включить в них ID аккаунта и токен API.

  3. Отправьте POST запрос к Создайте правило Zero Trust Gateway конечная точка. Например, если вы настроили расшифровку TLS, некоторые приложения, использующие встроенные сертификаты может не поддерживать проверку HTTP, как некоторые продукты Google. Вы можете создать политику, чтобы исключить эти приложения из проверки:

    Создайте правило 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": "Do not inspect applications",
    		"description": "Bypass TLS decryption for unsupported applications",
    		"precedence": 0,
    		"enabled": true,
    		"action": "off",
    		"filters": [
    				"http"
    		],
    		"traffic": "any(app.type.ids[*] in {16})",
    		"identity": "",
    		"device_posture": ""
    	}'
    {
    	 "success": true,
    	 "errors": [],
    	 "messages": []
    }

    API вернёт сводку по политике и результат вашего запроса.

    Cloudflare также рекомендует добавить политику для блокировки известные угрозы например Command & Control, Botnet и Malware, на основе аналитики угроз Cloudflare:

    Создайте правило 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 known risks",
    		"description": "Block all default Cloudflare HTTP security categories",
    		"precedence": 0,
    		"enabled": true,
    		"action": "block",
    		"filters": [
    				"http"
    		],
    		"traffic": "any(http.request.uri.security_category[*] in {68 178 80 83 176 175 117 131 134 151 153})",
    		"identity": "",
    		"device_posture": ""
    	}'

Подробнее см. в Политики HTTP.

4. Добавьте необязательные политики

См. наш список распространённые политики HTTP для других политик, которые вы, возможно, захотите создать. Среди распространенных дополнений: блокировка загрузки файлов по типу, изоляция рискованных веб-сайтов в удалённый браузер, и добавления правил Do Not Inspect для приложений, которые перестают работать при расшифровке TLS (например, приложений, использующих certificate pinning для проверки собственных сертификатов). Правила Do Not Inspect указывают Gateway пропускать расшифровку для определенных адресатов, чтобы такие приложения продолжали работать.