ALE レイヤー
アプリケーション層強制 (ALE) は、複数のフィルタリング レイヤーと多数の一致する破棄レイヤーで構成されます。 ALE を含むすべての Windows フィルタリング プラットフォーム (WFP) フィルタリング エンジン レイヤーについては、フィルタリング レイヤー識別子で説明されています。 このトピックでは、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 listen() 呼び出しに一致します。
AUTH_RECV_ACCEPT
FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 層のフィルターは、TCP accept() 呼び出し、一意のリモート アドレス/ポート タプルからの最初の UDP パケット (ユニキャスト)、および一意の ICMP の種類、コード、ID を持つ最初の受信非エラー ICMP メッセージ (ユニキャスト) に対して照合されます。
手記
TCP または ICMP ではないプロトコルは UDP のように扱われます。
生のソケットによって受信された TCP パケットは、UDP トラフィックと同様に処理されます。 つまり、最初の TCP send() と、raw ソケット経由の最初の TCP recv() のみがフィルター処理されます。
AUTH_CONNECT
FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 層のフィルターは、TCP connect() 呼び出し、一意のリモート アドレスとポート タプルに送信された最初の UDP パケット、および一意の ICMP の種類、コード、ID を持つ最初の送信非エラー ICMP メッセージに対して照合されます。
手記
TCP または ICMP ではないプロトコルは UDP のように扱われます。
生のソケットによって送信される TCP パケットは、UDP トラフィックと同様に処理されます。 つまり、最初の TCP send() と、raw ソケット経由の最初の TCP recv() のみがフィルター処理されます。
FLOW_ESTABLISHED
TCP 3 方向ハンドシェイクが正常に完了した後、FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6} 層のフィルターが一致します。 TCP 以外のトラフィックの場合、フィルターは、AUTH_RECV_ACCEPT または AUTH_CONNECT レイヤーからのフィルターが一致した直後に照合されます。
このレイヤーのフィルターは、ブロックまたは許可を返すべきではありません。
このレイヤーは、Windows Driver Kit ドキュメントで詳しく説明されている接続状態を追跡するために、コールアウト ドライバーによって使用されます。
RESOURCE_RELEASE
FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6} 層のフィルターは、RESOURCE_ASSIGNMENT 経由で割り当てられたリソースが解放された後に照合されます。
ENDPOINT_CLOSURE
接続された TCP フローまたは UDP ソケット エンドポイントが閉じられると、FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} 層のフィルターが一致します。
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 フィルタリング レイヤの 1 つで破棄されたパケットおよび兆候は、一致する ALE 破棄レイヤに示されます。
関連トピック
-
ALE ステートフル フィルター処理 の
-
ALE マルチキャスト/ブロードキャスト トラフィック の
-
ALE 再認証 の
-
ALE フローのカスタマイズ を する
-
TCP パケット フロー の
-
UDP パケット フロー の
-
各フィルター レイヤーで使用できるフィルター条件の