ALE-Ebenen
Die Anwendungsschichterzwingung (Application Layer Enforcement, ALE) besteht aus mehreren Filterebenen und vielen übereinstimmenden Verwerfensebenen. Alle WFP-Filtermodulebenen (Windows Filtering Platform), einschließlich ALE, werden in Filterschichtbezeichnerbeschrieben. Dieses Thema enthält eine detailliertere Beschreibung der Filterebenen, die Teil von ALE sind.
RESOURCE_ASSIGNMENT
Ein Filter auf der FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V{4|6}- Ebene wird für Netzwerkbindungsvorgänge, explizite oder implizite Vorgänge abgeglichen.
Wenn ein Filter auf dieser Ebene mit der Autorisierung der rohen Socketerstellung übereinstimmt, wird das FWP_CONDITION_FLAG_IS_RAW_ENDPOINT Flag festgelegt.
Wenn ein Filter auf dieser Ebene mit der Autorisierung des empfangenden modus übereinstimmt, wird das Feld FWP_CONDITION_ALE_PROMISCUOUS_MODE auf SIO_RCVALL festgelegt. Eine Beschreibung der SIO_RCVALL finden Sie unter WSAIoctl.
Anmerkung
Dies ist die einzige Ebene, auf der der Promiscuous-Modus gefiltert werden kann.
Wenn während bind()kein Port angegeben wird, d. a. auf 0 (null), wird der TCP/IP-Stapel einen Port aus dem dynamischen Portbereich (19152-65535) auswählen. Der ausgewählte Port wird auf dieser Ebene zusammen mit dem FWP_CONDITION_FLAG_IS_WILDCARD_BIND Flag klassifiziert.
Wenn die lokale Adresse im bind() Aufruf nicht angegeben ist, wird das lokale Adressfeld auf FWP_EMPTYfestgelegt.
AUTH_LISTEN
Ein Filter auf der FWPM_LAYER_ALE_AUTH_LISTEN_V{4|6}- Ebene wird für TCP-Listen() Aufrufen abgeglichen.
AUTH_RECV_ACCEPT
Ein Filter auf der FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6}- Ebene wird für TCP-accept() Aufrufe, für erste UDP-Pakete (Unicast) aus einer eindeutigen Remoteadresse/Port-Tupel und für erste eingehende, nicht fehlerlose ICMP-Nachrichten (Unicast) mit einem eindeutigen ICMP-Typ, Code und ID abgeglichen.
Anmerkung
Protokolle, die nicht TCP oder ICMP sind, werden wie UDP behandelt.
TCP-Pakete, die von unformatierten Sockets empfangen werden, werden ähnlich wie UDP-Datenverkehr behandelt. Das heißt, nur der erste TCP-send()- und der erste TCP-recv() über unformatierte Sockets gefiltert werden.
AUTH_CONNECT
Ein Filter auf der FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6}- Ebene wird für TCP-connect() Aufrufe, für erste UDP-Pakete, die an eine eindeutige Remoteadresse und ein Port-Tupel gesendet wurden, und für erste ausgehende, nicht fehlerfreie ICMP-Nachrichten mit einem eindeutigen ICMP-Typ, -Code und -ID abgeglichen.
Anmerkung
Protokolle, die nicht TCP oder ICMP sind, werden wie UDP behandelt.
TCP-Pakete, die von unformatierten Sockets gesendet werden, werden ähnlich wie UDP-Datenverkehr behandelt. Das heißt, nur der erste TCP-send()- und der erste TCP-recv() über unformatierte Sockets gefiltert werden.
FLOW_ESTABLISHED
Ein Filter auf der FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6}- Ebene wird abgeglichen, nachdem ein TCP-Drei-Wege-Handshake erfolgreich abgeschlossen wurde. Bei Nicht-TCP-Datenverkehr wird der Filter unmittelbar nach dem Abgleich von Filtern von AUTH_RECV_ACCEPT oder AUTH_CONNECT Ebenen abgeglichen.
Ein Filter auf dieser Ebene sollte "Block" oder "Permit" nicht zurückgeben.
Diese Ebene wird von Legendentreibern verwendet, um den Verbindungszustand nachzuverfolgen, der im Windows Driver Kit Dokumentation ausführlich beschrieben wird.
RESOURCE_RELEASE
Ein Filter auf der FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6}- Ebene wird abgeglichen, nachdem Ressourcen, die über RESOURCE_ASSIGNMENT zugeordnet wurden, freigegeben wurden.
ENDPOINT_CLOSURE
Ein Filter auf der FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} Ebene wird abgeglichen, wenn ein verbundener TCP-Fluss oder UDP-Sockets-Endpunkt geschlossen wird.
CONNECT_REDIRECT
Ein Filter auf der FWPM_LAYER_ALE_CONNECT_REDIRECT_V{4|6}- Ebene ermöglicht die Änderung von Remoteadressen und Ports. Die ausgehende Verbindung wird für die Dauer dieser Verbindung umgeleitet.
BIND_REDIRECT
Ein Filter auf der FWPM_LAYER_ALE_BIND_REDIRECT_V{4|6}--Ebene ermöglicht die Änderung der lokalen Adresse und Ports des zugrunde liegenden Sockets. Der lokale Socket wird für die Lebensdauer des Sockets umgeleitet.
ALE VERWERFEN von Ebenen
Für jede der oben beschriebenen ALE-Ebenen enthält das Filtermodul eine übereinstimmende Verwerfen-Ebene. Die ALE-Verwerfensebenen werden von Legenden für Protokollierungszwecke verwendet. Pakete und Hinweise, die auf einer der ALE-Filterebenen verworfen wurden, werden auf der entsprechenden ALE-Verwerfensebene angegeben.
Verwandte Themen