UserGate NGFW 6 Packet Flow

ID статьи: 576
Последнее обновление: 14 ноя, 2023
KnowledgeBase:
Product: UserGate NGFW
Version: 6.x
Technology: Networking

В данной статье описан алгоритм обработки трафика (packet flow), представленный на схеме ниже. В зависимости от типа трафика и режима работы UserGate, порядок обработки может отличаться. В общем случае рассмотрим:

  • Трафик DNAT – транзитный трафик; к трафику могут применяться правила инспектирования и, соответственно, фильтрации контента при определённых условиях.

  • Transparent Proxy Mode – работа сервера UserGate в режиме прозрачного прокси-сервера. В этом случае весь трафик является транзитным для UserGate и обрабатывается правилами модуля Local Process только в случае их наличия и соответствия условиям.

  • Explicit Proxy Mode – работа сервера UserGate в режиме явного прокси-сервера. В этом случае весь трафик направлен непосредственно на сервер UserGate и всегда обрабатывается правилами модуля Local Process.

В общем случае путь прохождения пакета выглядит следующим образом:

Трафик DNAT и Port Forwarding

После поступления на интерфейс UserGate пакет попадает под правила зоны – в блок DoS, Spoofing. На этом этапе производится базовая проверка трафика (например, на наличие атак). Уже на этом этапе может произойти отбрасывание пакета, например, по причине детектирования SYN-флуда, наличия аномалий трафика TCP, UDP или ICMP.

ПримечаниеЗона – это логическая среда, объединяющая интерфейсы устройства под едиными для всех правилами.
ПримечаниеНастройка защиты от DoS-атак на зоне является «грубой», т.к. в свойствах зоны настраивается только параметры защиты зоны от сетевого флуда (порог уведомлений/отбрасывания пакетов, агрегирование) и защита от IP-спуфинга. «Гибкая» настройка – с указанием сервисов и адресов, производится с помощью правил защиты DoS.

Если пакет не был отброшен на предыдущем этапе, то далее он проходит блок Fast Path, который позволяет пропустить через все проверки и блоки только первые пакеты сессии. В дальнейшем если пакеты по какой-то причине не требуют проверки и  специальной обработки, модуль FastPath, формирует правило, которое перенаправляет пакет напрямую с входного интерфейса на выходной. При этом с такими пакетами выполняются все необходимые для доставки получаетелю преобразования(DNAT, PortForwarding и т.д.)

ПримечаниеФункция FastPath активирована по умолчанию. Сброс правил модуля осуществляется одновременно со сбросом сессий в межсетевом экране. Для этого на странице Политики сети ➜ Межсетевой экран доступна кнопка Принудительно применить. Функция Fast Path выключается автоматически, при записи трафика или при включении журналирования правил межсетевого экрана. Под обработку модуля не попадают фрагментированные пакеты и пакеты предназначенные для L7/IDPS инспектирования.
ПримечаниеДля получения статуса модуля FastPath можно использовать команду CLI: device config -get fastpath
Отключить функцию можно командой device config -set fastpath false

Пакет не попавший под правила FastPath, следует дальше и попадает в блок Gateways, PBR, в котором помечается (маркируется) для дальнейшего использования в правилах маршрутизации.

Затем в блоке DNAT, Port Forwarding происходит обработка и подмена адреса назначения (источника в случае SNAT и порта в случае Port Forwarding), после которой пакет проходит далее, в блок с условным названием CHECK. Трафик DNAT и Port Forwarding подчиняется созданным правилам фильтрации межсетевого экрана.

Анализ трафика начинается на этапе установления TCP-соединения с портами назначения 80 и 443. UserGate анализирует весь TCP-трафик, но его перехват осуществляет на финальной стадии установления надёжного TCP-соединения, т.е. на последнем этапе «трёхстороннего рукопожатия» (three-way handshake). Таким образом, первые пакеты пройдут путь до блока Firewall и будут отброшены в случае наличия запрещающего правила, под условия которого подходят эти пакеты.

ПримечаниеПравила межсетевого экрана, созданные по умолчанию (Default Block), не применяются к трафику DNAT и Port Forwarding.

Обработка трафика DNAT и Port Forwarding проходит следующим образом:

  1. Проверка соответствия трафика условиям правил фильтрации контента происходит до проверки соответствия правилам межсетевого экрана. Если есть перекрёстные запрещающие правила по зонам, адресам источника/назначения и/или пользователям, то трафик будет заблокирован межсетевым экраном.

  2. Если есть правила контентной фильтрации по другим параметрам (URL, категория сайта, тип контента и т.д.) и настроено SSL инспектирование, то UserGate ожидает установки TLS-сессии, после чего производит проверку соответствия.

В случае соответствия условиям блокирующего правила контентной фильтрации трафик будет заблокирован, а пользователю вернётся страница блокировки. Случаи возврата пользователю страницы блокировки рассмотрены в разделе Отображение страницы блокировки.

ПримечаниеРезультатом блокирующих правил контентной фильтрации является отображение страницы блокировки на пользовательский запрос ресурса. Блокирующие правила межсетевого экрана не возвращают страницу блокировки.

В противном случае трафик будет перенаправлен в блок Routing.

В блоке Routing происходит проверка всех записей подключённых сетей, проверка доступности шлюзов, проверка записей (статических и динамических) виртуальных маршрутизаторов.

Далее пакет попадет в блок L7, IDPS, в котором проверяются используемые приложения, а также работает система обнаружения и предотвращения вторжений.

В блоке Firewall пакеты обрабатываются только в случае наличия правил, созданных администратором. Затем пакет проходит через блок Shaper (настройка пропускной способности), попадает в блок NAT (настройка правил NAT, DNAT, Policy-based routing, Port Forwarding и Network Mapping) и передаётся на выходной интерфейс.

Режим Explicit Proxy

Поступая на интерфейс, пакет проходит проверку соответствия правилам зоны в блоке DoS, Spoofing. Далее пакет обрабатывается в блоке Gateways, PBR, в котором помечается (маркируется) для дальнейшего использования в правилах маршрутизации.

Затем пакет без изменений проходит в блок с условным названием CHECK.

В блоке CHECK весь трафик будет проходить проверку соответствия условиям правил инспектирования, контентной фильтрации, а также принадлежности сервисам ICAP, reverse-прокси, веб-портала, АСУ ТП и защиты почтового трафика. Проверка осуществляется путём поэтапного анализа трафика в соответствие с параметрами алгоритма блока CHECK.

В случае работы в режиме Explicit Proxy в момент запроса клиентом внешнего ресурса формируется 2 TCP-сессии:

  • Первая сессия: КЛИЕНТ – USERGATE - обращение от клиента происходит непосредственно к UserGate и начинается с HTTP Connect.

  • Вторая сессия: USERGATE – КОНЕЧНЫЙ СЕРВЕР – при этом трафик от UserGate до сервера является транзитным для блока Firewall (если настроено запрещающее правило по IP-адресу назначения, т.е. указан адрес конечного сервера, то трафик будет заблокирован).

ПримечаниеДля использования UserGate режиме Explicit Proxy необходимо на зоне разрешить сервис HTTP(s)-прокси, иначе пакет будет отброшен.

Далее представлен алгоритм сопоставления трафика политикам UserGate при работе в режиме Explicit Proxy. Сопоставление происходит в блоке CHECK.

Explicit Proxy Mode

HTTPS

Rule Condition

HTTP Connect

  • IP;
  • Zone;
  • User.
  • Zone;
  • IP;
  • User;
  • Method.

Client Hello

  • SNI.
  • Domain;
  • Category.

SSL Decrypt

  • Fetch Certificate.
  • Zone;
  • IP;
  • User;
  • Domain;
  • Category.

HTTP (Method) req

  • Method;
  • User-Agent;
  • Referer;
  • URL.
  • Method;
  • User-Agent;
  • Referer;
  • URL.

HTTP (Method) res

  • Type;
  • HTTP Body.
  • Content Type;
  • Morphology;
  • Antivirus

При работе в Explicit Proxy Mode, первое сообщение, которое UserGate получает от клиента – HTTP Connect, из которого можно извлечь информацию о зонах, адресах источника/назначения, пользователе. Если по таким параметрам, блокировка не происходит, то следующий пакет, который ожидает UserGate – это пакет Client Hello, с которым становится доступна идентификация по имени сервера (SNI). На основании SNI доступна фильтрация по доменам и категориям сайтов.

Если настроено инспектирование SSL, то на этом же этапе происходит проверка сертификата (корректность сертификата, срок действия и т.д.). Настройка правил инспектирования доступна по зонам, адресам, пользователям, категориям URL, доменам.

Если на данном этапе блокировка не произошла, то далее UserGate получает от пользователя HTTP Request (GET, PUT и т.д.), из которого можно получить информацию о реферере, URL, Useragent браузера, методе HTTP. Соответственно, эти же параметры могут быть использованы в качестве параметров фильтрации при настройке политик. На этом этапе доступна работа с URL. Поэтому, если трафик не расшифровывается, то доступна только фильтрация по доменным именам.

При получении ответа от сервера (HTTP Response) доступна информация о типе контента (содержится в заголовке HTTP Response) и тело сообщения. Соответственно, на данном этапе доступна фильтрация по типу контента, проверка морфологии, а также работает потоковый антивирус UserGate.

После обработки в блоке CHECK трафик будет направлен в блок лицензирования трафика (License); трафик сервисов reverse-прокси, веб-портала и защиты почтового трафика не проходят блок License, а сразу переходят в блок Routing, где происходит проверка записей подключённых сетей, доступности шлюзов, записей виртуальных маршрутизаторов.

Далее пакет попадет в блоки L7, IDPS (проверка используемых приложений, также работает система обнаружения и предотвращения вторжений), FirewallShaper (настройка пропускной способности), NAT (настройка правил NAT, DNAT, Policy-based routing, Port Forwarding и Network Mapping) и передаётся на выходной интерфейс.

Режим Transparent Proxy

Поступая на интерфейс, пакет проходит проверку соответствия правилам зоны в блоке DoS, Spoofing. Далее пакет обрабатывается в блоке Gateways, PBR, в котором помечается (маркируется) для дальнейшего использования в правилах маршрутизации.

Затем пакет без изменений проходит в блок с условным названием CHECK.

В режиме Transparent Proxy UserGate является посредником между клиентом и конечным сервером, выполняющим обработку и перехват трафика в соответствии с настроенными на UserGate политиками.

В случае использования Transparent Proxy Mode, по умолчанию, UserGate будет анализировать TCP-пакеты, отправляемые по портам 80 и 443.

В Transparent Proxy Mode обработка в блоке CHECK происходит по следующей схеме:

Transparent Proxy Mode

HTTPS

Rule Condition

TCP

  • IP;
  • Zone;
  • User.
  • Zone;
  • IP;
  • User.

Client Hello

  • SNI.
  • Domain;
  • Category.

SSL Decrypt

  • Fetch Certificate.
  • Zone;
  • IP;
  • User;
  • Domain;
  • Category.

HTTP (Method) req

  • Method;
  • User-Agent;
  • Referer;
  • URL.
  • Method;
  • User-Agent;
  • Referer;
  • URL.

HTTP (Method) res

  • Type;
  • HTTP Body.
  • Content Type;
  • Morphology;
  • Antivirus

UserGate анализирует весь TCP-трафик, но его перехват модулем Local Process осуществляется на финальной стадии установления надёжного TCP-соединения, т.е. на последнем этапе «трёхстороннего рукопожатия» (three-way handshake).

ПримечаниеВ случае отсутствия разрешающих клиентских правил все пакеты будут отброшены правилом межсетевого экрана Default Block, созданным по умолчанию.
  1. Если трафик не соответствует условиям правил инспектирования, контентной фильтрации, принадлежности сервисам ICAP и защиты почтового трафика, созданных на UserGate, то он будет перенаправлен в блоки LicenseRouting и далее.

  1. Если трафик не был заблокирован клиентскими правилами межсетевого экрана, то происходит проверка соответствия условиям правил контентной фильтрации, запрещающих трафик по зонам, адресам источников/назначений и/или пользователям. В случае соответствия UserGate заблокирует данное соединение и отобразит страницу блокировки.

  2. В случае отсутствия блокирующих правил контентной фильтрации по зонам, адресам источников/назначений или пользователям UserGate проверяет наличие правил фильтрации по другим параметрам (URL, категория сайта, тип контента и т.д.). Если правил нет, то блок CHECK пропускает трафик дальше без обработки; если такие правила есть - блок CHECK пропускает трафик без обработки, но продолжает его отслеживать до установления TLS-сессии.

После получения сообщения Client Hello, содержащего SNI, доступна фильтрация по доменам и категориям сайтов.

Если настроено инспектирование SSL, то на этом же этапе происходит проверка сертификата (корректность сертификата, срок действия и т.д.). Настройка правил инспектирования доступна по зонам, адресам, пользователям, категориям URL, доменам.

Если на данном этапе блокировка не произошла, то далее UserGate получает от пользователя HTTP Request (GET, PUT и т.д.), из которого можно получить информацию о реферере, URL, Useragent браузера, методе HTTP. Соответственно, эти же параметры могут быть использованы в качестве параметров фильтрации при настройке политик. На этом этапе доступна работа с URL. Поэтому, если трафик не расшифровывается, то доступна только фильтрация по доменным именам.

При получении ответа от сервера (HTTP Response) доступна информация о типе контента (содержится в заголовке HTTP Response) и тело сообщения. Соответственно, на данном этапе доступна фильтрация по типу контента, проверка морфологии, а также работает потоковый антивирус UserGate.

Если после проверки соответствия политикам UserGate трафик не был заблокирован, то он будет передан в блоки License (лицензирование трафика), Routing (проверка записей подключённых сетей, доступности шлюзов, записей виртуальных маршрутизаторов), L7, IDPS (проверка используемых приложений, также работает система обнаружения и предотвращения вторжений), FirewallShaper (настройка пропускной способности), NAT (настройка правил NAT, DNAT, Policy-based routing, Port Forwarding и Network Mapping) и передаётся на выходной интерфейс.

Т.к. в Transparent Proxy Mode из всего потока в обработку попадает только трафик, удовлетворяющий условиям политик, настроенных на UserGate, то Transparent Proxy Mode является более производительным при большом потоке веб-трафика по отношению к Explicit Proxy Mode.

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 576
Последнее обновление: 14 ноя, 2023
Ревизия: 26
Просмотры: 11200
Комментарии: 0
Теги