ALE-lager
Application Layer Enforcement (ALE) består av flera filtreringslager och många matchande borttagna lager. Alla WFP-filtreringsmotorskikt (Windows Filtering Platform), inklusive ALE, beskrivs i filtrering av lageridentifierare. Det här avsnittet innehåller en mer detaljerad beskrivning av de filtreringslager som ingår i ALE.
RESOURCE_ASSIGNMENT
Ett filter på FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V{4|6} lager matchas för nätverksbindningsåtgärder, explicita eller implicita.
Om ett filter på det här lagret matchas för att auktorisera skapande av rå socket anges flaggan FWP_CONDITION_FLAG_IS_RAW_ENDPOINT.
Om ett filter på det här lagret matchas för att auktorisera promiskuöst läge som tar emot, anges fältet FWP_CONDITION_ALE_PROMISCUOUS_MODE till SIO_RCVALL. En beskrivning av SIO_RCVALL finns i WSAIoctl.
Not
Det här är det enda lager där promiskuöst läge kan filtreras.
Om ingen port har angetts under bind(), dvs. porten är inställd på 0 (noll), väljer TCP/IP-stacken en port från det dynamiska portintervallet (19152–65535). Den valda porten klassificeras på det här lagret tillsammans med flaggan FWP_CONDITION_FLAG_IS_WILDCARD_BIND.
Om den lokala adressen inte anges i anropet bind() anges det lokala adressfältet till FWP_EMPTY.
AUTH_LISTEN
Ett filter på FWPM_LAYER_ALE_AUTH_LISTEN_V{4|6} lager matchas för TCP listen()-anrop.
AUTH_RECV_ACCEPT
Ett filter på FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} lager matchas för TCP-accept()-anrop, för första UDP-paket (unicast) från en unik fjärradress/porttupppel och för första inkommande icke-fel-ICMP-meddelanden (unicast) med en unik ICMP-typ, kod och ID.
Not
Protokoll som inte är TCP eller ICMP behandlas som UDP.
TCP-paket som tas emot av råa socketar hanteras på samma sätt som UDP-trafik. Det vill: endast den första TCP-send() och den första TCP-recv() över råa socketar filtreras.
AUTH_CONNECT
Ett filter på FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} lager matchas för TCP-connect()-anrop, för första UDP-paket som skickas till en unik fjärradress och porttuppeln och för första utgående icke-fel-ICMP-meddelanden med en unik ICMP-typ, kod och ID.
Not
Protokoll som inte är TCP eller ICMP behandlas som UDP.
TCP-paket som skickas av råa socketar hanteras på samma sätt som UDP-trafik. Det vill: endast den första TCP-send() och den första TCP-recv() över råa socketar filtreras.
FLOW_ESTABLISHED
Ett filter på FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6} lager matchas efter att en TCP-trevägshandskakning har slutförts. För icke-TCP-trafik matchas filtret omedelbart efter att filter från AUTH_RECV_ACCEPT eller AUTH_CONNECT lager matchas.
Ett filter på det här lagret bör inte returnera Blockera eller Tillåt.
Det här lagret används av pratbubblans drivrutiner för att spåra anslutningstillståndet, som beskrivs i detalj i dokumentationen Windows Driver Kit.
RESOURCE_RELEASE
Ett filter på FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6} lager matchas efter att resurser som allokerats via RESOURCE_ASSIGNMENT har frigjorts.
ENDPOINT_CLOSURE
Ett filter på FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} lager matchas när ett anslutet TCP-flöde eller UDP-socketslutpunkt stängs.
CONNECT_REDIRECT
Ett filter på FWPM_LAYER_ALE_CONNECT_REDIRECT_V{4|6} lager tillåter ändring av fjärradresser och portar. Den utgående anslutningen omdirigeras under hela anslutningen.
BIND_REDIRECT
Ett filter på FWPM_LAYER_ALE_BIND_REDIRECT_V{4|6} lager gör det möjligt att ändra den underliggande socketens lokala adress och portar. Den lokala socketen omdirigeras under socketens livslängd
ALE DISCARD-lager
För vart och ett av de ALE-lager som beskrivs ovan innehåller filtreringsmotorn ett matchande ignorerande lager. ALE-borttagna lager används av pratbubblar i loggningssyfte. Paket och indikationer som har tagits bort i något av ALE-filtreringsskikten anges för det matchande ALE-borttagna lagret.
Relaterade ämnen