Слои ALE

Применение прикладного уровня (ALE) состоит из нескольких слоев фильтрации и множества соответствующих отбрасываемых слоев. Все уровни подсистемы фильтрации платформы фильтрации Windows (МПП), включая ALE, описаны в разделе Идентификаторы слоев фильтрации. Этот раздел содержит более подробное описание слоев фильтрации, которые являются частью ALE.

RESOURCE_ASSIGNMENT

Фильтр на уровне FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V{4|6} сопоставляется для операций привязки сети, явных или неявных.

Если фильтр на этом уровне соответствует для авторизации необработанного создания сокета, будет установлен флаг FWP_CONDITION_FLAG_IS_RAW_ENDPOINT .

Если фильтр на этом уровне сопоставляется для авторизации получения неразборчивого режима, для поля FWP_CONDITION_ALE_PROMISCUOUS_MODE будет задано значение SIO_RCVALL. Описание SIO_RCVALL см. в разделе WSAIoctl.

Примечание

Это единственный слой, в котором можно фильтровать неразборчивый режим.

 

Если во время bind() не указан ни один порт, то есть порт имеет значение 0 (ноль), стек TCP/IP выберет порт из динамического диапазона портов (19152–65535). Выбранный порт будет классифицирован на этом уровне вместе с флагом FWP_CONDITION_FLAG_IS_WILDCARD_BIND .

Если локальный адрес не указан в вызове bind(), в поле локального адреса устанавливается значение FWP_EMPTY.

AUTH_LISTEN

Фильтр на уровне FWPM_LAYER_ALE_AUTH_LISTEN_V{4|6} сопоставляется для вызовов прослушивания TCP.

AUTH_RECV_ACCEPT

Фильтр на уровне FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} сопоставляется для вызовов TCP accept() для первых пакетов UDP (одноадресной рассылки) из уникального кортежа удаленного адреса или порта, а также для первых входящих сообщений ICMP без ошибок (одноадресная рассылка) с уникальным типом, кодом и идентификатором ICMP.

Примечание

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

 

Tcp-пакеты, полученные необработанными сокетами, обрабатываются аналогично трафику UDP. То есть фильтруются только первая tcp send() и первая tcp recv() через необработанные сокеты.

AUTH_CONNECT

Фильтр на уровне FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} сопоставляется для вызовов TCP connect(), для первых пакетов UDP, отправленных на уникальный удаленный адрес и кортеж портов, а также для первых исходящих сообщений ICMP без ошибок с уникальным типом, кодом и идентификатором ICMP.

Примечание

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

 

Tcp-пакеты, отправленные необработанными сокетами, обрабатываются аналогично трафику UDP. То есть фильтруются только первая tcp send() и первая tcp recv() через необработанные сокеты.

FLOW_ESTABLISHED

Фильтр на уровне FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6} сопоставляется после успешного завершения трехстороннего подтверждения TCP. Для трафика, отличного от TCP, фильтр сопоставляется сразу после сопоставления фильтров из AUTH_RECV_ACCEPT или AUTH_CONNECT слоев.

Фильтр на этом уровне не должен возвращать значение Block или Permit.

Этот уровень используется драйверами выносок для отслеживания состояния подключения, подробно описанного в документации по комплекту драйверов Windows .

RESOURCE_RELEASE

Фильтр на уровне FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6} сопоставляется после освобождения ресурсов, выделенных через RESOURCE_ASSIGNMENT .

ENDPOINT_CLOSURE

Фильтр на уровне FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} сопоставляется при закрытии подключенного потока TCP или конечной точки сокетов UDP.

CONNECT_REDIRECT

Фильтр на уровне FWPM_LAYER_ALE_CONNECT_REDIRECT_V{4|6} позволяет изменять удаленные адреса и порты. Исходящее подключение будет перенаправляться на протяжении всего этого подключения.

BIND_REDIRECT

Фильтр на уровне FWPM_LAYER_ALE_BIND_REDIRECT_V{4|6} позволяет изменять локальный адрес и порты базового сокета. Локальный сокет будет перенаправлен на время существования сокета.

Уровни ALE DISCARD

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

Применение уровня приложений (ALE)

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

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

Повторная авторизация ALE

Настройка потока ALE

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

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

Функции Winsock

Флаги условий фильтрации

Условия фильтрации, доступные на каждом уровне фильтрации