Поделиться через


Фильтрация с отслеживанием состояния ALE

Фильтры, установленные на уровнях реализации контроля приложений (ALE) платформы фильтрации Windows (WFP), выполняют инспекцию сети с сохранением состояния. поток ALE используется в качестве основы для фильтрации с отслеживанием состояния ALE.

Поток ALE — это способ классификации сетевого трафика путем группировки его на основе исходного IP-адреса, конечного IP-адреса, исходного порта, порта назначения и протокола. Поток ALE может быть универсальным, то есть один или несколько дескрипторов могут соответствовать всем элементам (или использовать подстановочный символ *). Например, универсальный поток ALE UDP будет описан как исходный IP-адрес = *, целевой IP-адрес = *, исходный порт = *, целевой порт = *, протокол = UDP.

После того как подключение авторизовано (входящие подключения авторизованы на уровне FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6}, а исходящие подключения на уровне FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6}), создается поток ALE таким образом, что без изменения политики все пакеты, входящие и исходящие, относящиеся к тому же потоку ALE, разрешены автоматически. Поскольку изменение политики может потребовать блокировки ранее разрешенных подключений, потоки ALE необходимо повторно при изменении политики.

Фильтрация с отслеживанием состояния ALE значительно сокращает количество необходимых классификаций путем классификации только первого пакета, который принадлежит потоку ALE. В отличие от бесcостояниевой фильтрации, требуется классификация каждого пакета, который проходит через сеть.

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

Поток TCP ALE

Поток ALE для TCP-трафика определяется пятью кортежами TCP/IP (исходный IP-адрес, конечный IP-адрес, исходный порт, порт назначения и протокол).

Поток TCP ALE имеет то же время существования, что и подключенный сокет TCP. Подключенный сокет TCP может быть либо сокетом, созданным с помощью connect() или сокета, созданного в результате вызова accept().

ALE поддерживает связь между потоком TCP ALE и блоком управления TCP (TCB).

Поток UDP ALE

Заметка

Протоколы, которые не являются TCP или ICMP, обрабатываются как UDP.

 

Поток ALE для трафика UDP определяется пятью кортежами TCP/IP (исходный IP-адрес, конечный IP-адрес, исходный порт, порт назначения и протокол).

Поток ALE UDP создается на основе сокета UDP и представляет удаленный одноранговый узел, с которым приложение взаимодействует. Удаленный одноранговый узел определяется кортежем из IP-адреса и порта назначения.

Существует связь "один ко многим" между сокетом UDP и удаленными одноранговыми узлами, с которыми он взаимодействует.

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

В отсутствие закрытия сокетов потоки одноадресной рассылки UDP имеют настраиваемую время ожидания простоя, которое по умолчанию имеет значение 60 секунд. Если в этом окне не отправляются или не принимаются пакеты, поток ALE будет удален. Это время ожидания по умолчанию постепенно сокращается, когда число потоков ALE на уровне системы достигает определенного порогового значения.

Поток ICMP «ALE»

Поток ALE для трафика ICMP определяется шестью кортежами (исходный IP-адрес, конечный IP-адрес, тип ICMP, код ICMP, протокол и идентификатор ICMP). Идентификатор ICMP является частью потока ALE только для трафика эхо/ответа ICMP.

В отсутствие закрытия сокетов потоки одноадресной рассылки ICMP имеют настраиваемую время ожидания простоя, которое по умолчанию имеет значение 60 секунд. Если в этом окне не отправляются или не принимаются пакеты, поток ALE удаляется. Это время ожидания по умолчанию постепенно сокращается, когда число потоков ALE на уровне системы достигает определенного порогового значения.

Только сообщения, не связанные с ошибкой ICMP, указываются на уровни ALE. Сообщения об ошибках ICMP можно проверить на ICMP_ERROR уровнях.

Реализация контроля уровня приложений (ALE)

слои ALE

многоадресный и широковещательный трафик ALE

повторной проверки подлинности ALE

Настройка кастомизации потока ALE

потоки пакетов TCP

потоки пакетов UDP

Функции Winsock