ALE ステートフル フィルター処理

Windows フィルタリング プラットフォーム (WFP) のアプリケーション層適用 (ALE) レイヤーにインストールされたフィルターは、ステートフル ネットワーク フィルター処理を実行します。 ALE フローは、ALE ステートフル フィルター処理の基礎として使用されます。

ALE フローは、送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポート、プロトコルに基づいてネットワーク トラフィックをグループ化することで、ネットワーク トラフィックを分類する方法です。 ALE フローはジェネリックであり、1 つ以上の記述子がすべてに一致している可能性があります (ワイルドカード *)。 たとえば、汎用 UDP ALE フローは、送信元 IP アドレス = *、宛先 IP アドレス = *、送信元ポート = *、宛先ポート = *、プロトコル = UDP と記述されます。

接続が承認されると (FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V {4|6} レイヤーで受信接続が承認され、 FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} レイヤーで送信接続が許可されます)、ポリシーの変更を禁止するように ALE フローが作成され、同じ ALE フローに属するすべてのパケット、受信、送信が自動的に許可されます。 ポリシーの変更では、以前に許可された接続をブロックする必要がある場合があるため、ポリシーの変更が発生した場合は、ALE フローを 再認証 する必要があります。

ALE ステートフル フィルタリングは、ALE フローに属する最初のパケットのみを分類することで、必要な分類の数を大幅に減らします。 これに対し、ステートフルでないフィルター処理では、ネットワークを通過するすべてのパケットの分類が必要です。

ALE フローには、フローの最初のパケットの方向である方向が関連付けられています。 これにより、受信開始接続が送信開始接続とは異なるポリシーを持つことが許可され、より柔軟なポリシーが可能になります。

TCP ALE フロー

TCP トラフィックの ALE フローは、TCP/IP の 5 組 (送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポート、プロトコル) によって識別されます。

TCP ALE フローの有効期間は、接続された TCP ソケットと同じです。 接続された TCP ソケットは、 connect() を使用して作成されたソケットか、 accept() 呼び出しの結果として作成されたソケットのいずれかです。

ALE は、TCP ALE フローと TCP 制御ブロック (TCB) の間に 1 対 1 の関係を維持します。

UDP ALE フロー

注意

TCP または ICMP ではないプロトコルは、UDP のように扱われます。

 

UDP トラフィックの ALE フローは、TCP/IP (送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポート、プロトコル) の 5 組で識別されます。

UDP ALE フローは UDP ソケットに基づいて作成され、アプリケーションが通信しているリモート ピアを表します。 リモート ピアは、(宛先 IP アドレスと宛先ポート) タプルによって識別されます。

UDP ソケットと通信するリモート ピアの間には、一対多のリレーションシップがあります。

ローカル UDP ソケットが閉じられると、それに関連付けられているすべての ALE フローが削除されます。

ソケット クロージャがない場合、UDP ユニキャスト ALE フローには 構成可能な アイドル タイムアウトがあり、既定値は 60 秒です。 このウィンドウ内でパケットが送受信されない場合、ALE フローは削除されます。 この既定のタイムアウトは、システム全体の ALE フローの数が特定のしきい値に達すると、徐々に短縮されます。

ICMP ALE フロー

ICMP トラフィックの ALE フローは、6 組 (送信元 IP アドレス、宛先 IP アドレス、ICMP の種類、ICMP コード、プロトコル、および ICMP ID) によって識別されます。 ICMP ID は、ICMP エコー/応答トラフィックに対してのみ ALE フローの一部です。

ソケット クロージャがない場合、ICMP ユニキャスト ALE フローには、既定で 60 秒に 設定される構成可能な アイドル タイムアウトがあります。 このウィンドウ内でパケットが送受信されない場合、ALE フローは削除されます。 この既定のタイムアウトは、システム全体の ALE フローの数が特定のしきい値に達すると、徐々に短縮されます。

ICMP 非エラー メッセージのみが ALE レイヤーに示されます。 ICMP エラー メッセージは、ICMP_ERRORレイヤーで検査できます。

アプリケーション層の適用 (ALE)

ALE レイヤー

ALE マルチキャスト/ブロードキャスト トラフィック

ALE 再認証

ALE フローのカスタマイズ

TCP パケット フロー

UDP パケット フロー

Winsock 関数