← Cloudflare One / cloudflare-one / traffic-policies
Политики Egress
Многие сторонние сервисы (например, банк или партнерский API) разрешают подключение только с известного списка IP-адресов. По умолчанию трафик, выходящий через Cloudflare Gateway, использует общий с другими пользователями Cloudflare One Client исходный IP-адрес, поэтому вышестоящие сервисы не могут определить вашу организацию только по IP.
Выделенные исходящие IP-адреса решить эту проблему. Это статические IP-адреса, назначенные только вашей учётной записи, которые можно добавить в списки разрешений вышестоящих сервисов.
Политики Egress определяют, какой выделенный исходящий IP-адрес используется для конкретного соединения. Вы можете сопоставлять трафик по таким атрибутам, как удостоверение пользователя, IP-адрес источника или назначения и геолокация. Если трафик не соответствует ни одной политике Egress, используется наиболее производительный выделенный исходящий IP-адрес по умолчанию.
Cloudflare не публикует диапазоны исходящих IP-адресов Cloudflare One Client. Исходящие IP-адреса Cloudflare One Client не указаны на IP-диапазоны Cloudflare ↗. Чтобы получить выделенный исходящий IP-адрес Cloudflare One Client, обратитесь в свою команду по работе с клиентами.
Load balancing
Трафик, не соответствующий ни одной политике исходящего трафика, выходит из ближайшего центра обработки данных Cloudflare через IP-адрес Gateway по умолчанию. Это применяется независимо от того, использует ли ваш аккаунт выделенные IP-адреса исходящего трафика или общие IP-адреса по умолчанию.
Если два дата-центра одинаково удалены от пользователя, Gateway распределяет трафик между ними. При этом балансировщик нагрузки сохраняет за каждым пользователем один и тот же исходящий IP-адрес независимо от того, какой дата-центр обрабатывает запрос.
Принудительная версия IP
Некоторые вышестоящие сервисы принимают подключения только по определенной версии IP. Чтобы весь исходящий трафик использовал только IPv4 или только IPv6, сначала убедитесь, что вы фильтрация DNS-трафика, затем создайте DNS-политику, чтобы блокировать записи AAAA или A.
Примеры политик
Следующая исходящая политика задаёт статический исходный IP-адрес для всего трафика, направленного в стороннюю сеть:
| Название политики | Селектор | Оператор | Значение | Метод исходящего трафика |
|---|---|---|---|---|
| Сторонний провайдер Access | IP-адрес назначения | является | 198.51.100.158 |
Выделенные исходящие IP-адреса Cloudflare |
| Основной IPv4-адрес | Адрес IPv6 |
|---|---|
203.0.113.88 |
2001:db8::/32 |
Защита доступа к SaaS-приложениям
Многие поставщики SaaS (например, Microsoft 365, Salesforce или Workday) позволяют ограничивать доступ к подключениям с определённых IP-адресов. Вы можете использовать выделенные исходящие IP-адреса вместе с Gateway, чтобы обеспечить это ограничение:
- Получение выделенных исходящих IP-адресов у вашей команды по работе с аккаунтом и запишите назначенные адреса IPv4 и IPv6.
- Создать политику исходящего трафика который направляет трафик, предназначенный для провайдера SaaS, через ваш выделенный исходящий IP-адрес. Используйте селектор Destination IP с опубликованными диапазонами IP-адресов провайдера. Либо используйте селектор Application (Beta), чтобы сопоставлять провайдера по имени.
- Добавьте egress IP-адреса в allowlist поставщика SaaS чтобы поставщик принимал подключения только с IP-адресов вашей организации.
- Сочетание с HTTP-политиками чтобы добавить более глубокие элементы управления. Например, блокировать загрузку файлов в личные аккаунты, применять профили DLP для предотвращения утечки конфиденциальных данных за пределы организации или требовать проверки состояния устройства перед предоставлением доступа.
Такая схема гарантирует, что доступ к SaaS-приложению ограничен трафиком, проходящим через Gateway, где применяются ваши политики безопасности, а также позволяет SaaS-провайдеру убедиться, что трафик действительно исходит от вашей организации.
Общая политика
Без catch-all-политики любой трафик, не соответствующий явной политике Egress, будет пытаться использовать ближайшую выделенную точку выхода по IP-адресу Egress. Чтобы избежать неожиданных назначений IP-адресов и сохранить максимальную производительность, создайте catch-all-политику, которая направляет оставшийся трафик через диапазон IP-адресов Zero Trust по умолчанию:
| Название политики | Селектор | Оператор | Значение | Метод исходящего трафика |
|---|---|---|---|---|
| Исходящая политика по умолчанию | Протокол | in | All options (Protocol) |
метод исходящего трафика Cloudflare по умолчанию |
Политики Gateway оцениваются начиная с сверху вниз в интерфейсе. Разместите политику catch-all в конце списка, чтобы более конкретные политики оценивались первыми.
Методы исходящего трафика
Когда вы настраиваете политику исходящего трафика, вы можете выбрать, каким способом он будет выходить: через стандартный метод Cloudflare или через выделенные исходящие IP-адреса.
Использовать метод исходящего трафика Cloudflare по умолчанию
Использовать метод исходящего трафика Cloudflare по умолчанию направляет трафик через используемый по умолчанию диапазон исходных IP-адресов, общий для всех аккаунтов Zero Trust. Трафик выходит из ближайшего дата-центра Cloudflare, что обеспечивает наилучшую производительность.
Использовать выделенные исходящие IP-адреса
Использовать выделенные исходящие IP-адреса (Cloudflare или BYOIP) направляет трафик через основной IPv4-адрес и диапазон IPv6, которые вы выбираете в раскрывающихся меню.
При создании политик Egress с выделенными исходящими IP-адресами необходимо задать дополнительный адрес IPv4 для устойчивости трафика. Дополнительный адрес IPv4 можно задать как 0.0.0.0 или конкретную локацию Cloudflare, отличную от вашего основного IPv4-адреса. Если вы зададите дополнительный IPv4-адрес как 0.0.0.0, Gateway направит трафик в ближайшую к пользователю точку. Если физическое расположение вашего основного IPv4-адреса недоступно, Gateway направит трафик либо в диапазон исходящего трафика Cloudflare по умолчанию, либо в указанную дополнительную точку.
Если центр обработки данных, связанный с вашим основным IPv4-адресом, выходит из строя, Gateway переключается на резервный центр обработки данных, чтобы предотвратить потерю трафика. Резервный IPv6-адрес не требуется, поскольку трафик IPv6 может выходить из любого центра обработки данных Cloudflare. Можно использовать IP-адреса, предоставленные Cloudflare, или собственные IP-адреса (BYOIP).
Чтобы узнать больше об особенностях исходящего трафика IPv4 и IPv6, см. Точки выхода трафика.
Селекторы
Селекторы представляют собой критерии, которые Gateway использует для сопоставления исходящего трафика с политикой. Gateway проверяет следующие селекторы:
Приложение Бета
Вы можете применять исходящие политики к растущему списку популярных веб-приложений. См. Приложение и типы приложений, где это описано подробнее.
| UI name | Пример API |
|---|---|
| Приложение | any(app.ids[*] in {505}) |
Этот селектор доступен только для трафика, подключенного в режиме Traffic and DNS, через PAC-файлы или Browser Isolation. Дополнительные сведения см. в Требования к селектору.
Content Categories Бета
Приложения в пределах определённого категория безопасности в соответствии с категоризацией Cloudflare Radar.
| UI name | Пример API |
|---|---|
| Content Categories | any(net.fqdn.content_category[*] in {1}) |
Этот селектор доступен только для трафика, подключенного в режиме Traffic and DNS, через PAC-файлы или Browser Isolation. Дополнительные сведения см. в Требования к селектору.
Континент назначения
Континент, в который направлен запрос. Геолокация определяется по 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 |
|---|---|
| Пройденные проверки состояния устройства | any(device_posture.checks.failed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"}), any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})" |
Домен Бета
Используйте этот селектор, чтобы находить соответствие домену и всем его поддоменам. Например, можно указать соответствие example.com и его поддомены, например www.example.com.
| UI name | Пример API |
|---|---|
| Домен | any(net.fqdn.domains[*] == "example.com") |
Политики Gateway не поддерживают домены с нелатинскими символами напрямую. Чтобы использовать домен с нелатинскими символами, добавьте его в список.
Этот селектор доступен только для трафика, подключенного в режиме Traffic and DNS, через PAC-файлы или Browser Isolation. Дополнительные сведения см. в Требования к селектору.
Host
Используйте этот селектор, чтобы находить соответствие только указанному имени хоста. Например, можно указать соответствие test.example.com но не example.com или www.test.example.com.
| UI name | Пример API |
|---|---|
| Host | net.fqdn.host == "example.com" |
Политики Gateway не поддерживают имена хостов с нелатинскими символами напрямую. Чтобы использовать имя хоста с нелатинскими символами, добавьте его в список.
Этот селектор доступен только для трафика, подключенного в режиме Traffic and DNS, через PAC-файлы или Browser Isolation. Дополнительные сведения см. в Требования к селектору.
Протокол
Протокол, используемый для отправки пакета.
| UI name | Пример API |
|---|---|
| Протокол | net.protocol == "tcp" |
Proxy Endpoint
прокси-сервер куда ваш браузер перенаправляет HTTP-трафик.
| UI name | Пример API |
|---|---|
| Proxy Endpoint | proxy.endpoint == "3ele0ss56t.proxy.cloudflare-gateway.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" |
Пользователи
Используйте эти селекторы, чтобы находить соответствие атрибутам идентификации.
| 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 |
| больше | превышает заданное число |
| больше или равно | превышает заданное число или равно ему |
| меньше | меньше заданного числа |
| меньше или равно | меньше или равно заданному числу |
Значение
Вы можете указать одно значение или задать диапазон значений с помощью регулярных выражений.
Gateway использует Rust для обработки регулярных выражений. Реализация Rust немного отличается от библиотек regex, используемых в других системах. Чтобы проверить, соответствует ли ваше регулярное выражение, можно использовать Rustexp ↗.
Логические операторы
Чтобы оценить несколько условий в выражении, выберите И логический оператор. Эти выражения можно дополнительно сравнить с помощью Или логический оператор.
| Оператор | Значение |
|---|---|
| И | соответствуют всем условиям в выражении |
| Или | соответствуют хотя бы одному из условий в выражении |
Или оператор работает только с условиями в пределах одной группы выражений. Например, нельзя сравнивать условия в Трафик с условиями в Идентификация или Состояние устройства.
Ограничения
Требования к селектору
Приложение, Content Categories, Домен, а также Host селекторам требуется дополнительная настройка, прежде чем они заработают в политиках исходящего трафика. Перед развёртыванием политик с этими селекторами см. Селекторы хоста.
Эти селекторы также разрешают IP-адрес назначения в момент обработки DNS-запроса Gateway, а не в момент применения политики Egress. Если разрешённый IP-адрес назначения и ваш IP-адрес Egress находятся в разных регионах, подключения к ресурсам с гео-ограничениями или IP-allowlisting могут завершаться ошибкой. См. Местоположение разрешения DNS для получения подробностей.