Camadas ALE
A ALE (Application Layer Enforcement) consiste em várias camadas de filtragem e muitas camadas de descarte correspondentes. Todas as camadas do mecanismo de filtragem da plataforma de filtragem Windows (WFP), incluindo a ALE, são descritas em Identificadores de Camada de Filtragem. Este tópico contém uma descrição mais detalhada das camadas de filtragem que fazem parte da ALE.
RESOURCE_ASSIGNMENT
Um filtro na camada FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V{4|6} é correspondido para operações de associação de rede, explícitas ou implícitas.
Se um filtro nessa camada for correspondido para autorizar a criação de soquete bruto, o sinalizador FWP_CONDITION_FLAG_IS_RAW_ENDPOINT será definido.
Se um filtro nessa camada for correspondido para autorizar o recebimento do modo promíscuo, o campo FWP_CONDITION_ALE_PROMISCUOUS_MODE será definido como SIO_RCVALL. Para obter uma descrição de SIO_RCVALL, consulte WSAIoctl.
Observação
Essa é a única camada em que o modo promíscuo pode ser filtrado.
Se nenhuma porta for especificada durante bind(), ou seja, a porta será definida como 0 (zero), a pilha TCP/IP selecionará uma porta no intervalo de portas dinâmicas (19152-65535). A porta selecionada será classificada nesta camada junto com o sinalizador FWP_CONDITION_FLAG_IS_WILDCARD_BIND .
Se o endereço local não for especificado na chamada bind(), o campo de endereço local será definido como FWP_EMPTY.
AUTH_LISTEN
Um filtro na camada FWPM_LAYER_ALE_AUTH_LISTEN_V{4|6} é correspondido para chamadas TCP listen( ).
AUTH_RECV_ACCEPT
Um filtro na camada FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} é correspondido para chamadas TCP accept(), para os primeiros pacotes UDP (unicast) de uma tupla de porta/endereço remoto exclusivo e para as primeiras mensagens ICMP não-erro de entrada (unicast) com um tipo exclusivo de ICMP, código e ID.
Observação
Os protocolos que não são TCP ou ICMP são tratados como UDP.
Os pacotes TCP recebidos por soquetes brutos são tratados de forma semelhante ao tráfego UDP. Ou seja, somente o primeiro send() TCP e o primeiro rev() TCP em soquetes brutos serão filtrados.
AUTH_CONNECT
Um filtro na camada FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} é correspondido para chamadas TCP connect(), para os primeiros pacotes UDP enviados para um endereço remoto exclusivo e tupla de porta e para primeiras mensagens ICMP sem erro de saída com um tipo exclusivo de ICMP, código e ID.
Observação
Os protocolos que não são TCP ou ICMP são tratados como UDP.
Os pacotes TCP enviados por soquetes brutos são tratados de forma semelhante ao tráfego UDP. Ou seja, somente o primeiro send() TCP e o primeiro rev() TCP em soquetes brutos serão filtrados.
FLOW_ESTABLISHED
Um filtro na camada FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6} é correspondido depois que um handshake TCP de três vias foi concluído com êxito. Para tráfego não TCP, o filtro é correspondido imediatamente após a correspondência de filtros de camadas AUTH_RECV_ACCEPT ou AUTH_CONNECT .
Um filtro nessa camada não deve retornar Bloquear ou Permitir.
Essa camada é usada por drivers de texto explicativo para controlar o estado da conexão, descrito detalhadamente na documentação do Windows Driver Kit.
RESOURCE_RELEASE
Um filtro na camada FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6} é correspondido depois que os recursos alocados por meio de RESOURCE_ASSIGNMENT foram liberados.
ENDPOINT_CLOSURE
Um filtro na camada FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} é correspondido quando um fluxo TCP conectado ou ponto de extremidade de soquetes UDP é fechado.
CONNECT_REDIRECT
Um filtro na camada FWPM_LAYER_ALE_CONNECT_REDIRECT_V{4|6} permite a modificação de endereços remotos e portas. A conexão de saída será redirecionada durante essa conexão.
BIND_REDIRECT
Um filtro na camada FWPM_LAYER_ALE_BIND_REDIRECT_V{4|6} permite a modificação do endereço local e das portas do soquete subjacente. O soquete local será redirecionado para o tempo de vida do soquete
Camadas ALE DISCARD
Para cada uma das camadas ALE descritas acima do mecanismo de filtragem contém uma camada de descarte correspondente. As camadas de descarte do ALE são usadas por textos explicativos para fins de registro em log. Pacotes e indicações que foram descartados em uma das camadas de filtragem ALE são indicados para a camada de descarte ALE correspondente.
Tópicos relacionados