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

Политики 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, чтобы обеспечить это ограничение:

  1. Получение выделенных исходящих IP-адресов у вашей команды по работе с аккаунтом и запишите назначенные адреса IPv4 и IPv6.
  2. Создать политику исходящего трафика который направляет трафик, предназначенный для провайдера SaaS, через ваш выделенный исходящий IP-адрес. Используйте селектор Destination IP с опубликованными диапазонами IP-адресов провайдера. Либо используйте селектор Application (Beta), чтобы сопоставлять провайдера по имени.
  3. Добавьте egress IP-адреса в allowlist поставщика SaaS чтобы поставщик принимал подключения только с IP-адресов вашей организации.
  4. Сочетание с 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 для получения подробностей.