Фильтрация с отслеживанием состояния ALE
Фильтры, установленные на уровнях ALE Windows фильтрующей платформы (МПП), выполняют фильтрацию сети с отслеживанием состояния. Поток 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. Для сравнения фильтрация без отслеживания состояния требует классификации каждого пакета, который проходит по сети.
Поток ALE имеет связанное направление, которое является направлением первого пакета потока. Это позволяет более гибким политикам, разрешая входящим инициалируемым подключениям иметь разные политики от исходящих подключений.
FLOW TCP ALE
Поток ALE для трафика TCP определяется пятью кортежами TCP/IP (исходный IP-адрес, конечный IP-адрес, исходный порт, порт назначения и протокол).
Поток TCP ALE имеет то же время существования, что и подключенный сокет TCP. Подключенный СОкет TCP может быть либо сокетом, созданным с помощью connect(), либо сокетом, созданным в результате вызова accept( ).
ALE поддерживает связь "один к одному" между потоком TCP ALE и блоком управления TCP (TCB).
Flow UDP ALE
Примечание
Протоколы, не использующие протоколы TCP или ICMP, обрабатываются как UDP.
Поток ALE для трафика UDP определяется пятью кортежами TCP/IP (исходный IP-адрес, конечный IP-адрес, исходный порт, порт назначения и протокол).
Поток ALE UDP создается на основе сокета UDP и представляет удаленный одноранговый узел, с которым взаимодействует приложение. Удаленный одноранговый узел определяется кортежем (конечный IP-адрес и порт назначения).
Существует связь "один ко многим" между сокетом UDP и удаленными одноранговых узлов, с которыми он взаимодействует.
При закрытии локального сокета UDP все связанные с ним потоки ALE будут удалены.
При отсутствии закрытия сокетов потоки одноадресной рассылки UDP ALE имеют настраиваемое время ожидания простоя, которое по умолчанию — 60 секунд. Если в этом окне пакеты не отправляются или не получены, поток ALE будет удален. Это время ожидания по умолчанию постепенно сокращается, когда количество потоков ALE на уровне системы достигает определенного порогового значения.
FLOW ICMP ALE
Поток ALE для трафика ICMP определяется шестью кортежами (исходный IP-адрес, конечный IP-адрес, тип ICMP, код ICMP, протокол и идентификатор ICMP). Идентификатор ICMP является частью потока ALE только для трафика echo/reply ICMP.
В отсутствие закрытия сокетов потоки одноадресной рассылки ICMP имеют настраиваемое время ожидания простоя, которое по умолчанию — 60 секунд. Если в этом окне пакеты не отправляются или не получены, поток ALE будет удален. Это время ожидания по умолчанию постепенно сокращается, когда количество потоков ALE на уровне системы достигает определенного порогового значения.
На уровнях ALE указываются только сообщения icMP, не связанные с ошибками. Сообщения об ошибках ICMP можно проверить на ICMP_ERROR уровнях.
Связанные темы