← Cloudflare One / cloudflare-one / traffic-policies
Сетевые политики
Политики Network управляют TCP- и UDP-трафиком между вашими пользователями и сетевыми ресурсами назначения. Используйте их, чтобы разрешать или блокировать трафик, отличный от HTTP, такой как SSH, RDP и подключения к базам данных, на основе IP-адресов, портов и протоколов.
Поскольку Cloudflare One интегрируется с вашим поставщиком идентификации, вы также можете создавать сетевые политики на основе идентичности. Это позволяет контролировать доступ к ресурсам, не относящимся к HTTP, для каждого пользователя отдельно, независимо от его местоположения или устройства.
Сетевая политика состоит из Действие и логическое выражение, определяющее область действия. Чтобы построить выражение, выберите Селектор и Оператор, затем введите значение или диапазон значений в поле Значение поле. Можно использовать И и Или логические операторы для оценки нескольких условий.
Если условие в выражении объединяет атрибут query (например, Исходный IP) и атрибут ответа (например, Определённый IP-адрес), условие будет проверено при получении ответа.
Действия
Как и действия в политиках DNS и HTTP, действия в сетевых политиках определяют, какое решение вы хотите применить к заданному набору элементов. Для каждой политики можно назначить только одно действие.
Allow
Значение API: allow
Доступные селекторы
Трафик
- Access Infrastructure Target
- Доступ к приватному приложению
- Приложение
- Browser Isolation
- Content Categories
- Геолокация IP по континенту назначения
- Геолокация IP по стране назначения
- IP-адрес назначения
- Порт назначения
- Обнаруженный протокол
- Протокол
- Proxy Endpoint
- Риски безопасности
- SNI
- SNI Domain
- Геолокация IP по континенту источника
- Геолокация IP по стране источника
- Внутренний IP-адрес источника
- Исходный IP
- Порт источника
- Источник трафика
- Виртуальная сеть
Идентификация
Состояние устройства
Политики с действием Allow разрешают сетевому трафику достигать определённых IP-адресов или портов. В конфигурации с блокировкой по умолчанию политики Allow задают исключения: трафик, не соответствующий ни одной политике Allow, будет заблокирован политикой Block с более низким приоритетом, блокирующей весь остальной трафик. Например, следующая конфигурация разрешает определённым пользователям доступ к заданному IP-адресу:
| Селектор | Оператор | Значение | Логика | Действие |
|---|---|---|---|---|
| IP-адрес назначения | in | 92.100.02.102 |
И | Allow |
| Электронная почта | in | *@example.com |
Block
Значение API: block
Доступные селекторы
Трафик
- Access Infrastructure Target
- Доступ к приватному приложению
- Приложение
- Browser Isolation
- Content Categories
- Геолокация IP по континенту назначения
- Геолокация IP по стране назначения
- IP-адрес назначения
- Порт назначения
- Обнаруженный протокол
- Протокол
- Proxy Endpoint
- Риски безопасности
- SNI
- SNI Domain
- Геолокация IP по континенту источника
- Геолокация IP по стране источника
- Внутренний IP-адрес источника
- Исходный IP
- Порт источника
- Источник трафика
- Виртуальная сеть
Идентификация
Состояние устройства
Политики с действием Block блокируют сетевой трафик к определённым IP-адресам или портам. Например, следующая конфигурация блокирует весь трафик, направленный на порт 443:
| Селектор | Оператор | Значение | Действие |
|---|---|---|---|
| Порт назначения | in | 443 |
Block |
Уведомления о блокировке Cloudflare One Client
Доступность функций
| Режимы клиента | планы Zero Trust ↗ |
|---|---|
|
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: l4_override
Доступные селекторы
Трафик
- Геолокация IP по континенту назначения
- Геолокация IP по стране назначения
- IP-адрес назначения
- Порт назначения
- Протокол
- SNI
- SNI Domain
- Геолокация IP по континенту источника
- Геолокация IP по стране источника
- Внутренний IP-адрес источника
- Исходный IP
- Порт источника
- Виртуальная сеть
Идентификация
Состояние устройства
Политики с действием Network Override переопределяют трафик, направленный на определённые IPv4- или IPv6-адреса и порты, либо исходящий от них. IP-адреса назначения могут быть как публичными, так и частными, подключёнными к вашей сети Zero Trust. Например, следующая конфигурация переопределяет трафик, отправляемый на публичный IP-адрес, заменяя его частным IP-адресом на основе идентичности пользователя:
| Селектор | Оператор | Значение | Логика | Действие |
|---|---|---|---|---|
| IP-адрес назначения | in | 95.92.143.151 |
И | Переопределение сети |
| User Email | in | *@example.com |
И | |
| Переопределение IP | 10.0.0.1 |
Gateway регистрирует только успешные override-подключения в вашем сетевые журналы.
Селекторы
Gateway сопоставляет сетевой трафик со следующими селекторами (критериями).
Access Infrastructure Target
Все цели защищённый с помощью Инфраструктурное приложение Access.
| UI name | Пример API |
|---|---|
| Access Infrastructure Target | access.target |
Доступ к приватному приложению
Все целевые IP-адреса и имена хостов, защищённые Самостоятельно размещённое приватное приложение Access.
| UI name | Пример API |
|---|---|
| Self-hosted Access App с приватным адресом | access.private_app |
Приложение
Вы можете применять политики Network к растущему списку популярных веб-приложений. См. Приложение и типы приложений, где это описано подробнее.
| UI name | Пример API |
|---|---|
| Приложение | any(app.ids[*] in {505}) |
Browser Isolation Бета
Выполняется ли текущий сеанс внутри Remote Browser Isolation. Используйте этот селектор, чтобы применять разное поведение политики к изолированному и неизолированному трафику.
| UI name | Пример API |
|---|---|
| Browser Isolation | net.is_isolated == true |
Content Categories
Приложения в пределах определённого категория безопасности в соответствии с категоризацией Cloudflare Radar.
| UI name | Пример API |
|---|---|
| Content Categories | any(net.fqdn.content_category[*] in {1}) |
Континент назначения
Континент, в который направлен запрос. Геолокация определяется по IP-адресу назначения. Чтобы указать континент, введите его двухбуквенный код в Значение поле:
| Континент | Код |
|---|---|
| Африка | AF |
| Антарктида | AN |
| Азия | AS |
| Европа | EU |
| Северная Америка | NA |
| Океания | OC |
| Южная Америка | SA |
| UI name | Пример API |
|---|---|
| Геолокация IP по континенту назначения | net.dst.geo.continent == "EU" |
Страна назначения
Страна, в которую направлен запрос. Геолокация определяется по IP-адресу назначения. Чтобы указать страну, введите её код ISO 3166-1 Alpha 2 ↗ в Значение поле.
| UI name | Пример API |
|---|---|
| Геолокация IP по стране назначения | net.dst.geo.country == "RU" |
IP-адрес назначения
IP-адрес целевого узла запроса.
| UI name | Пример API |
|---|---|
| IP-адрес назначения | any(net.dst.ip[*] in {10.0.0.0/8}) |
Порт назначения
Номер порта целевого объекта запроса.
| UI name | Пример API |
|---|---|
| Порт назначения | net.dst.port == 2222 |
Обнаруженный протокол
Сетевой протокол, выведенный на основе определение протокола.
| UI name | Пример API |
|---|---|
| Обнаруженный протокол | net.protocol.detection == "ssh" |
Состояние устройства
С помощью селектора состояния устройства администраторы могут использовать сигналы с устройств конечных пользователей, чтобы защищать доступ к внутренним и внешним ресурсам. Например, администратор безопасности может ограничить доступ ко всем внутренним приложениям в зависимости от того, установлено ли на устройстве определённое программное обеспечение и/или настроены ли устройство или программное обеспечение особым образом.
Дополнительные сведения о проверках состояния устройства см. в Состояние устройства.
| UI name | Пример API |
|---|---|
| Пройденные проверки состояния устройства | any(device_posture.checks.failed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"}), any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})" |
Протокол
Протокол, используемый для отправки пакета.
| UI name | Пример API |
|---|---|
| Протокол | net.protocol == "tcp" |
Proxy Endpoint
прокси-сервер куда ваш браузер перенаправляет HTTP-трафик.
| UI name | Пример API |
|---|---|
| Proxy Endpoint | proxy.endpoint == "3ele0ss56t.proxy.cloudflare-gateway.com" |
Security Categories
Приложения в пределах определённого категория безопасности в соответствии с категоризацией Cloudflare Radar.
| UI name | Пример API |
|---|---|
| Security Categories | any(net.fqdn.security_category[*] in {1}) |
SNI
Server Name Indication (SNI) представляет собой имя хоста, которое клиент отправляет во время TLS-рукопожатия, до начала шифрования. Gateway считывает SNI, чтобы определить назначение зашифрованного трафика. Селектор SNI сопоставляет точное имя хоста.
По умолчанию селекторы SNI применяются только к HTTPS-трафику на порту 443. Чтобы проверять трафик на всех портах, включите определение протокола и выберите проверять на всех портах.
| UI name | Пример API |
|---|---|
| SNI | net.sni.host == "www.example.com" |
SNI Domain
Домен, по заголовку Server Name Indication (SNI) которого Gateway будет фильтровать трафик. Например, правило для example.com будет соответствовать example.com, www.example.com, а также my.test.example.com.
По умолчанию селекторы SNI применяются только к HTTPS-трафику на порту 443. Чтобы проверять трафик на всех портах, включите определение протокола и выберите проверять на всех портах.
| UI name | Пример API |
|---|---|
| SNI Domain | net.sni.domains == "example.com" |
Континент источника
Континент пользователя, отправившего запрос.
Геолокация определяется по публичному IP-адресу устройства (обычно назначаемому интернет-провайдером пользователя). Чтобы указать континент, введите его двухбуквенный код в поле Значение поле:
| Континент | Код |
|---|---|
| Африка | AF |
| Антарктида | AN |
| Азия | AS |
| Европа | EU |
| Северная Америка | NA |
| Океания | OC |
| Южная Америка | SA |
| UI name | Пример API |
|---|---|
| Геолокация IP по континенту источника | net.src.geo.continent == "North America" |
Страна источника
Страна пользователя, отправившего запрос.
Геолокация определяется по публичному IP-адресу устройства (обычно назначаемому интернет-провайдером пользователя). Чтобы указать страну, введите её код ISO 3166-1 Alpha-2 ↗ в Значение поле.
| UI name | Пример API |
|---|---|
| Геолокация IP по стране источника | net.src.geo.country == "RU" |
Внутренний IP-адрес источника
Используйте этот селектор, чтобы применять сетевые политики к приватному IP-адресу, назначенному локальной сетью пользователя, с которого запросы поступают в Gateway.
| UI name | Пример API |
|---|---|
| Внутренний IP-адрес источника | net.src.internal_src_ip == "192.168.86.0/27" |
Исходный IP
Исходный IP-адрес или адреса устройства, проксируемого через Gateway.
| UI name | Пример API |
|---|---|
| Исходный IP | net.src.ip[*] in {10.0.0.0/8} |
Порт источника
Исходный порт устройства, проксируемого через Gateway.
| UI name | Пример API |
|---|---|
| Порт источника | net.src.port == "2222" |
Источник трафика Бета
Метод on-ramp, используемый для передачи трафика в Cloudflare. Используйте этот селектор, чтобы применять политики в зависимости от способа поступления трафика в Gateway.
| UI name | Пример API |
|---|---|
| Источник трафика | net.onramp.type == "device_client" |
Доступные значения: device_client (Device client), mesh (Mesh), cloudflare_wan (Cloudflare WAN), clientless_rdp (Clientless RDP), proxy_endpoint (Proxy endpoint), agentless_biso (Clientless Browser Isolation), mcp_portal (MCP portal).
Пользователи
Используйте эти селекторы, чтобы находить соответствие атрибутам идентификации.
| UI name | Пример API |
|---|---|
| User Email | identity.email == "[email protected]" |
| User Name | identity.name == "Test User" |
| User Group IDs | any(identity.groups[*].id in {"group_id"}) |
| User Group Names | any(identity.groups[*].name in {"group_name"}) |
| User Group Emails | any(identity.groups[*].email in {"[email protected]"}) |
| SAML Attributes | any(identity.saml_attributes["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] in {"Test User"}) |
Виртуальная сеть
Используйте этот селектор, чтобы находить соответствие всему трафику, маршрутизируемому через определённый Виртуальная сеть через Cloudflare One Client.
| UI name | Пример API |
|---|---|
| Виртуальная сеть | net.vnet_id == "957fc748-591a-e96s-a15d-1j90204a7923" |
Операторы сравнения
С помощью операторов сравнения 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, если хост SNI совпадает с одним из значений: .*whispersystems.org или .*signal.org:
| Селектор | Оператор | Значение |
|---|---|---|
| SNI | matches regex | .*whispersystems.org|.*signal.org |
Помимо регулярных выражений, вы можете использовать логические операторы чтобы соответствовать нескольким значениям.
Логические операторы
Чтобы оценить несколько условий в выражении, выберите И логический оператор. Эти выражения можно дополнительно сравнить с помощью Или логический оператор.
| Оператор | Значение |
|---|---|
| И | соответствуют всем условиям в выражении |
| Или | соответствуют хотя бы одному из условий в выражении |
Или оператор работает только с условиями в пределах одной группы выражений. Например, нельзя сравнивать условия в Трафик с условиями в Идентификация или Состояние устройства.