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

Политики DNS

Политики DNS позволяют управлять тем, к каким сайтам и сервисам могут обращаться ваши пользователи, проверяя их DNS-запросы: обращения, которые преобразуют доменные имена в IP-адреса. Поскольку политики DNS работают на этапе запроса, они действуют для всех протоколов и приложений, а не только для веб-браузеров.

Когда пользователь отправляет DNS-запрос, Gateway сопоставляет запрос с политиками DNS, настроенными для вашей организации. Если домен не принадлежит ни к одной из заблокированных категорий или соответствует политике Allow или Override, клиент пользователя получает адрес на основе DNS-разрешения от публичного DNS-резолвера Cloudflare (1.1.1.1). Вы также можете использовать политика Resolver и перенаправьте DNS-запросы на пользовательский сервер.

Политика DNS состоит из Действие а также логическое выражение, определяющее область действия. Чтобы составить выражение, нужно выбрать Селектор и Оператор, и введите значение или диапазon значений в Значение поле. Можно использовать И и Или логические операторы для оценки нескольких условий.

При создании DNS-политики вы можете выбрать столько категорий рисков безопасности и категорий контента, сколько нужно для полной защиты сети. Если в политике не задан более конкретный селектор (например, User Email или Исходный IP), политика будет применяться ко всем DNS-запросам, поступающим в Gateway от вашей организации.

Если условие в выражении объединяет атрибут query (например, Исходный IP) и атрибут ответа (например, Определённый IP-адрес), условие будет проверено при получении ответа.

Действия

Действие определяет, что делает Gateway, когда DNS-запрос соответствует условиям вашей политики. Для каждой политики можно назначить только одно действие.

Вот типы действий, из которых можно выбирать:

Allow

Значение API: allow

Доступные селекторы

Трафик

Идентификация

Политики с действием Allow явно разрешают выполнение DNS-запросов. Gateway использует принцип первого совпадения, это означает, что если политика Allow соответствует запросу с более высоким приоритетом, чем политика Block, запрос будет разрешён. Например, следующая конфигурация разрешает DNS-запросы к доменам, отнесённым к категории контента Education:

Селектор Оператор Значение Действие
Content Categories in Education Allow

Отключить проверку DNSSEC

DNSSEC (Domain Name System Security Extensions) проверяет, что ответы DNS не были подделаны, сверяя криптографическую подпись, прикреплённую к записи. При выборе Отключить проверку DNSSEC, Gateway будет разрешать DNS-запросы, даже если подпись не удается проверить. Мы не рекомендуем отключать проверку DNSSEC, если вы не уверены, что сбой проверки вызван проблемами конфигурации DNSSEC, а не вредоносной активностью.

Block

Значение API: block

Доступные селекторы

Трафик

Идентификация

Политики с действием Block запрещают разрешение DNS-запросов для адресатов, указанных в полях Selector и Value. Например, следующая конфигурация блокирует DNS-запросы к доменам, отнесённым к категории контента Adult Themes:

Селектор Оператор Значение Действие
Content Categories in Adult Themes Block

Пользовательская страница блокировки

При выборе действия Block включите Изменить поведение блокировки Gateway для ответа на запросы страницей блокировки, которая отображается пользователям, переходящим на заблокированные сайты. При необходимости вы можете переопределить глобальную настройку страницы блокировки с помощью перенаправления URL для конкретной DNS-политики. Дополнительные сведения см. в Страница блокировки.

Если страница блокировки отключена для политики, Gateway ответит на заблокированные запросы A запись (IPv4) для 0.0.0.0 или AAAA запись (IPv6) для ::. Поскольку по этим адресам не отвечает ни один сервер, браузер отобразит стандартную страницу ошибки подключения.

Чтобы заблокировать разрешение запросов для записей DNS с типами, отличными от A или AAAA, Gateway ответит REFUSED (RCODE:5) Код возврата DNS. Gateway заблокирует запрос, но не покажет страницу блокировки.

Уведомления о блокировке Cloudflare One Client

Доступность функций

Режимы клиента планы Zero Trust
  • Режим трафика и DNS
  • Режим только трафика
Enterprise
Система Доступность Минимальная версия клиента
Windows 2024.1.159.0
macOS 2024.1.160.0
Linux
iOS 1.7
Android 1.4
ChromeOS 1.4

Включите Отображает уведомление о блокировке для Cloudflare One Client чтобы отображать уведомления о событиях блокировки Gateway. Заблокированные пользователи получат уведомление операционной системы от Cloudflare One Client с заданным вами пользовательским сообщением. Если пользовательское сообщение не задано, Cloudflare One Client отобразит сообщение по умолчанию. Пользовательские сообщения должны содержать не более 100 символов. Cloudflare One Client отображает не более одного уведомления в минуту.

После выбора уведомления Cloudflare One Client перенаправит ваших пользователей на Страница блокировки Gateway которые вы настроили. При необходимости можно перенаправить пользователей на собственный URL-адрес, например на внутреннюю форму поддержки.

Если вы включите Отправлять контекст политики, Gateway добавит сведения о совпавшем запросе в URL-адрес перенаправления в виде строки запроса. Не все поля контекста будут включены. Возможные поля контекста политики:

Поля контекста политики

Поле Определение Пример
Email пользователя Адрес электронной почты пользователя, выполнившего запрос. &[email protected]
URL сайта Полный URL-адрес исходного HTTP-запроса или доменное имя в DNS-запросе. &cf_site_uri=https%3A%2F%2Fmalware.testcategory.com%2F
URL category Категории доменов URL-адреса, на который нужно выполнить перенаправление. &cf_request_categories=New%20Domains,Newly%20Seen%20Domains
Исходный HTTP Referer Для HTTP-трафика: исходный заголовок HTTP referer запроса. &cf_referer=https%3A%2F%2Fexample.com%2F
ID правила ID политики Gateway, которая соответствует запросу. &cf_rule_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1
Исходный IP Исходный IP-адрес устройства, соответствующего политике. &cf_source_ip=203.0.113.5
ID устройства UUID of the device that matched the policy. &cf_device_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1
Имена приложений Название приложения, которому соответствует перенаправленный домен, если оно есть. &cf_application_name=Salesforce
Фильтр Фильтр типа трафика, который вызвал блокировку. &cf_filter=http, &cf_filter=dns, &cf_filter=av, или &cf_filter=l4
Account ID Cloudflare account ID связанного аккаунта Zero Trust. &cf_account_id=d57c3de47a013c03ca7e237dd3e61d7d
ID запроса ID DNS-запроса, для которого сработало перенаправление. &cf_query_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3
ID подключения ID прокси-соединения, для которого сработало перенаправление. &cf_connection_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3
ID запроса ID HTTP-запроса, для которого сработало перенаправление. &cf_request_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3

Убедитесь, что ваша операционная система разрешает уведомления для Cloudflare One Client. Если включены режим фокусировки, режим "не беспокоить" или демонстрация экрана, устройство может не показывать уведомления. Чтобы включить уведомления клиента на устройствах macOS с программным обеспечением DisplayLink, может потребоваться разрешить системные уведомления при дублировании экрана. Дополнительные сведения см. в документация по macOS.

Переопределение

Значение API: override

Доступные селекторы

Действие Override нельзя использовать с селекторами, которые оцениваются во время или после разрешения DNS.

Трафик

Идентификация

Политики с действием Override заменяют настоящий DNS-ответ указанным вами адресатом. Когда пользователь запрашивает домен, соответствующий политике, Gateway возвращает заданный вами пользовательский IP-адрес или имя хоста вместо фактической DNS-записи. Например, вы можете указать пользовательский IP-адрес ответа 1.2.3.4 для всех запросов к www.example.com со следующей политикой:

Селектор Оператор Значение Действие Переопределение имени хоста
Имя хоста является www.example.com Переопределение 1.2.3.4

Значение API: safesearch

Доступные селекторы

Трафик

Идентификация

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

С помощью Cloudflare Gateway можно включить SafeSearch для поисковых систем, таких как Google, Bing, Yandex, YouTube и DuckDuckGo. Например, чтобы включить SafeSearch для Google, можно создать следующую политику:

Селектор Оператор Значение Действие
Домен является google.com Safe Search

YouTube Restricted Mode

Значение API: ytrestricted

Доступные селекторы

Трафик

Идентификация

Аналогично, вы можете включить YouTube Restricted Mode, выбрав YouTube Restricted действие. YouTube Restricted Mode, это встроенный в YouTube автоматический фильтр контента для взрослых и оскорбительного контента. Чтобы включить YouTube Restricted Mode, можно настроить политику следующим образом:

Селектор Оператор Значение Действие
DNS-домен является youtube.com YouTube Restricted

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

Селекторы

Gateway сопоставляет DNS-запросы со следующими селекторами (критериями).

Каждый селектор оценивается на определённом этапе процесса разрешения DNS:

Действие Override нельзя использовать с селекторами, которые оцениваются во время или после разрешения DNS, так как переопределение должно применяться до возврата ответа. Подробнее о том, как фаза оценки взаимодействует с приоритетом, см. в порядок применения.

Приложение

Вы можете применять политики DNS к растущему списку популярных веб-приложений. См. Приложение и типы приложений, где это описано подробнее.

UI name Пример API Этап оценки
Приложение any(app.ids[*] in {505}) До разрешения DNS

IP-адрес авторитетного сервера имён

Используйте этот селектор, чтобы находить соответствие IP-адресу авторитетного сервера имён.

UI name Пример API Этап оценки
IP-адрес авторитетного сервера имён dns.authoritative_ns_ips == 198.51.100.0 При разрешении DNS

Content Categories

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

UI name Пример API Этап оценки
Content Categories any(dns.content_category[*] in {1}) До разрешения DNS

При использовании действия Allow или Block можно дополнительно блокировать IP-адреса или категории фильтрации для CNAME записи.

DNS-запись CNAME

Используйте этот селектор, чтобы фильтровать ответы DNS по их CNAME записи.

UI name Пример API Этап оценки
Значение ответа DNS CNAME any(dns.response.cname[*] in {"www.apple.com.edgekey.net"}) После разрешения DNS

DNS-запись MX

Используйте этот селектор, чтобы фильтровать ответы DNS по их MX записи.

UI name Пример API Этап оценки
Значение ответа DNS MX any(dns.response.mx[*] in {"gmail-smtp-in.l.google.com"}) После разрешения DNS

DNS-запись PTR

Используйте этот селектор, чтобы фильтровать ответы DNS по их PTR записи.

UI name Пример API Этап оценки
Значение ответа DNS PTR any(dns.response.ptr[*] in {"255.2.0.192.in-addr.arpa"}) После разрешения DNS

IP-адрес DNS-резолвера

Используйте этот селектор, чтобы применять политики к DNS-запросам, поступившим на ваш IP-адрес Gateway Resolver, привязанный к зарегистрированному местоположению DNS. Для большинства клиентов Gateway это IPv4 anycast-адрес, и политики, созданные с использованием этого IPv4-адреса, будут применяться ко всем местоположениям DNS. Однако у каждого местоположения DNS есть выделенный IPv6-адрес, а некоторым клиентам Gateway предоставлен выделенный IPv4-адрес: оба адреса можно использовать для применения политик к конкретным зарегистрированным местоположениям DNS.

UI name Пример API Этап оценки
IP-адрес DNS-резолвера any(dns.resolved_ip[*] == 198.51.100.0) До разрешения DNS

DNS-запись TXT

Используйте этот селектор, чтобы фильтровать ответы DNS по их TXT записи.

UI name Пример API Этап оценки
Значение ответа DNS TXT any(dns.response.txt[*] in {"your_text"}) После разрешения DNS

Поддомен DoH (DNS over HTTPS)

Используйте этот селектор, чтобы находить соответствие DNS-запросам, поступающим через DNS-over-HTTPS (DoH) и предназначенным для конечной точки DoH, настроенной для каждого местоположения DNS. Например, можно использовать местоположение DNS с конечной точкой DoH abcdefg.cloudflare-gateway.com выбрав селектор DoH Subdomain и указав значение abcdefg.

UI name Пример API Этап оценки
DOH Subdomain dns.doh_subdomain == "abcdefg" До разрешения DNS

Домен

Используйте этот селектор, чтобы находить соответствие домену и всем его поддоменам. Например, можно указать соответствие example.com и его поддомены, например www.example.com.

UI name Пример API Этап оценки
Домен any(dns.domains[*] == "example.com") До разрешения DNS

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

Host

Используйте этот селектор, чтобы находить соответствие только указанному имени хоста. Например, можно указать соответствие test.example.com но не example.com или www.test.example.com.

UI name Пример API Этап оценки
Host dns.fqdn == "example.com" До разрешения DNS

Политики Gateway не поддерживают имена хостов с нелатинскими символами напрямую. Чтобы использовать имя хоста с нелатинскими символами, добавьте его в список.

Каналы индикаторов

Используйте этот селектор, чтобы находить соответствие пользовательским каналам индикаторов.

Можно использовать общедоступная лента индикаторов или пользовательскую ленту индикаторов, назначенную вашему аккаунту сторонним поставщиком. Дополнительную информацию о лентах индикаторов см. в Custom Indicator Feeds.

UI name Пример API Этап оценки
Каналы индикаторов dns.indicator_feed До разрешения DNS

При использовании действия Allow или Block можно дополнительно блокировать IP-адреса или категории фильтрации для CNAME записи.

Расположение

Используйте этот селектор, чтобы применять политики к определённому DNS-локация Gateway или набор местоположений.

UI name Пример API Этап оценки
Расположение dns.location in {"location_uuid_1" "location_uuid_2"} До разрешения DNS

Тип записи запроса

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

UI name Пример API Этап оценки
Тип записи запроса dns.query_rtype == "TXT" До разрешения DNS

Определённый континент

Используйте этот селектор, чтобы фильтровать по континенту, в который разрешается запрос. Геолокация определяется по IP-адресу в ответе. Чтобы указать континент, введите его двухбуквенный код в Значение поле:

UI name Пример API Этап оценки
Геолокация IP: определённый континент dns.dst.geo.continent == "EU" После разрешения DNS

Определённая страна

Используйте этот селектор, чтобы фильтровать по стране, в которую разрешается запрос. Геолокация определяется по IP-адресу в ответе. Чтобы указать страну, введите её код ISO 3166-1 Alpha 2 в Значение поле.

UI name Пример API Этап оценки
Геолокация IP по определённой стране dns.dst.geo.country == "RU" После разрешения DNS

Определённый IP-адрес

Используйте этот селектор, чтобы фильтровать по IP-адресам, в которые разрешается запрос.

UI name Пример API Этап оценки
Определённый IP-адрес any(dns.resolved_ips[*] == 198.51.100.0) После разрешения DNS

Категории контекста запроса

Используйте этот селектор, чтобы находить соответствие динамическому списку идентификаторы категорий отправленный в EDNS (Extension Mechanisms for DNS) части DNS-запроса. EDNS позволяет добавлять к DNS-запросу дополнительные метаданные помимо стандартных полей. Gateway считывает идентификаторы категорий из кода EDNS OPT 65050.

UI name Пример API Этап оценки
Категории контекста запроса dns.categories_in_request_context_matches До разрешения DNS

Security Categories

Используйте этот селектор, чтобы находить соответствие доменам (а также, при необходимости, IP-адреса) принадлежащих определённым категории безопасности.

UI name Пример API Этап оценки
Security Categories any(dns.security_category[*] in {1}) До разрешения DNS

При использовании действия Allow или Block можно дополнительно блокировать IP-адреса или категории фильтрации для CNAME записи.

Континент источника

Используйте этот селектор, чтобы фильтровать по континенту, из которого запрос поступил в Gateway.

Геолокация определяется по публичному IP-адресу устройства (обычно назначаемому интернет-провайдером пользователя). Чтобы указать континент, введите его двухбуквенный код в поле Значение поле:

Континент Код
Африка AF
Антарктида AN
Азия AS
Европа EU
Северная Америка NA
Океания OC
Южная Америка SA
UI name Пример API Этап оценки
Геолокация IP по континенту источника dns.src.geo.continent == "North America" До разрешения DNS

Страна источника

Используйте этот селектор, чтобы фильтровать по стране, из которой запрос поступил в Gateway.

Геолокация определяется по публичному IP-адресу устройства (обычно назначаемому интернет-провайдером пользователя). Чтобы указать страну, введите её код ISO 3166-1 Alpha-2 в Значение поле.

UI name Пример API Этап оценки
Геолокация IP по стране источника dns.src.geo.country == "RU" До разрешения DNS

Исходный IP

Используйте этот селектор, чтобы применять политики к исходному IP-адресу DNS-запросов. Например, это может быть WAN IP-адрес резолвера-заглушки, который ваша организация использует для отправки запросов в Gateway.

UI name Пример API Этап оценки
Исходный IP dns.src_ip == 198.51.100.0 До разрешения DNS

Внутренний IP-адрес источника

Используйте этот селектор, чтобы применять политики к внутреннему исходному IP-адресу DNS-запроса. Например, это может быть приватный IP-адрес хостов за Cloudflare WAN (ранее Magic WAN) или Cloudflare Mesh используется вашей организацией для отправки запросов в Gateway.

UI name Пример API Этап оценки
Внутренний IP-адрес источника dns.src_internal_ip == 10.10.0.1 До разрешения DNS

Пользователи

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

UI name Пример API Этап оценки
User Email identity.email == "[email protected]" До разрешения DNS
User Name identity.name == "Test User" До разрешения DNS
User Group IDs any(identity.groups[*].id in {"group_id"}) До разрешения DNS
User Group Names any(identity.groups[*].name in {"group_name"}) До разрешения DNS
User Group Emails any(identity.groups[*].email in {"[email protected]"}) До разрешения DNS
SAML Attributes any(identity.saml_attributes["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] in {"Test User"}) До разрешения DNS

Операторы сравнения

С помощью операторов сравнения Gateway сопоставляет трафик с селектором. Когда вы выбираете Селектор в конструкторе политик панели управления, Оператор раскрывающемся меню будут показаны доступные варианты для этого селектора.

Оператор Значение
является равно заданному значению
не является не равно заданному значению
in соответствует хотя бы одному из указанных значений
not in не соответствует ни одному из заданных значений
in list в предопределённом список значений
not in list не входит в предопределённый список значений
matches regex regex возвращает true
does not match regex regex возвращает false
больше превышает заданное число
больше или равно превышает заданное число или равно ему
меньше меньше заданного числа
меньше или равно меньше или равно заданному числу

Значение

В Значение поле можно ввести единственное значение при использовании оператора сравнения на равенство (например, является) или несколько значений при использовании оператора сравнения на вхождение (например, in). Кроме того, вы можете использовать регулярные выражения (или regex), чтобы задать диапазон значений для поддерживаемых селекторов.

Регулярные выражения

Регулярные выражения обрабатываются с использованием Rust. Реализация Rust немного отличается от библиотек regex, используемых в других местах. Дополнительную информацию см. в нашем руководстве по Подстановочные знаки. Чтобы проверить, соответствует ли ваше регулярное выражение, вы можете использовать Rustexp.

Чтобы сопоставить несколько значений, можно использовать символ вертикальной черты (|) в качестве оператора OR. Использовать escape-символ не требуется (\) до символа "|". Например, следующее выражение возвращает true, если имя хоста совпадает с одним из значений: .*whispersystems.org или .*signal.org:

Селектор Оператор Значение
Host matches regex .*whispersystems.org|.*signal.org

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

Логические операторы

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

Оператор Значение
И соответствуют всем условиям в выражении
Или соответствуют хотя бы одному из условий в выражении

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

Ограничения

Конфликт сторонней фильтрации

Gateway не сможет корректно фильтровать трафик, отправляемый через сторонние VPN или другое программное обеспечение для фильтрации интернет-трафика, например iCloud Private Relay или Google Chrome IP Protection. Чтобы ваши DNS-политики применялись к трафику, Cloudflare рекомендует отключить программное обеспечение, которое может мешать работе Gateway.

Чтобы отключить iCloud Private Relay, обратитесь к руководствам пользователя Apple для macOS или iOS.

Переадресация Cloudflare WAN

Чтобы применить политики DNS к запросам, перенаправляемым через Cloudflare WAN, вы можете либо указать в DNS-резолвере вашей организации конечную точку IPv6, DNS over HTTPS (DoH) или DNS over TLS (DoT), либо запросить выделенный IPv4-адрес резолвера. Подробнее см. IP-адреса и имена хостов DNS-резолвера.

Резервный DNS

В некоторых приложениях (например, в WhatsApp и Android Studio) в код встроены резервные DNS-серверы. Если Gateway блокирует их основной DNS-запрос, эти приложения автоматически повторяют запрос к встроенным DNS-серверам (например, к серверу Google 8.8.8.8), что полностью обходит ваши политики. Чтобы предотвратить это, создайте Политика Network Gateway чтобы заблокировать исходящий трафик DNS на порту TCP/UDP 53 к резервным DNS-серверам. Например, чтобы заблокировать резервные DNS-серверы Google:

Селектор Оператор Значение Логика Действие
Протокол in TCP, UDP И Block
Порт назначения in 53 И
IP-адрес назначения in 8.8.8.8, 8.8.4.4