Windows フィルタリング プラットフォームについて

Windows フィルタリング プラットフォーム (WFP) は、Windows XP および Windows Server 2003 ネットワーク トラフィック フィルタリング インターフェイスを置き換えるために設計されたネットワーク トラフィック処理プラットフォームです。 WFP は、ネットワーク スタックへのフックのセットと、ネットワーク スタックの相互作用を調整するフィルター エンジンで構成されます。

WFP コンポーネント

フィルター エンジン

カーネル モードとユーザー モードの両方でホストされるコア多層フィルター インフラストラクチャ。これは、Windows XP および Windows Server 2003 ネットワーク サブシステム内の複数のフィルター モジュールを置き換えます。

  • shim が提供できる任意のデータ フィールドを介して、システム内の任意のレイヤーのネットワーク トラフィックをフィルター処理します。
  • 分類中に吹き出しを呼び出して"吹き出し" フィルターを実装します。
  • 適用のために shim を呼び出した shim に対して "許可" または "ブロック" アクションを返します。
  • 異なるポリシー ソース間の調停を提供します。 たとえば、 は、アプリケーションに関連するネットワーク トラフィックをセキュリティで保護するようにアプリケーションが構成されているが、アプリケーションでセキュリティで保護されたトラフィックを防ぐためにローカル ファイアウォールが構成されている場合の優先順位を決定します。

基本フィルター エンジン (BFE)

Windows フィルタリング プラットフォームの操作を制御するサービス。 次のタスクを実行します。

  • プラットフォームのフィルターとその他の構成設定を受け入れます。
  • 統計を含むシステムの現在の状態を報告します。
  • プラットフォームで構成を受け入れるためのセキュリティ モデルを適用します。 たとえば、ローカル管理者はフィルターを追加できますが、他のユーザーはフィルターのみを表示できます。
  • システム内の他のモジュールに構成設定を組み込みます。 たとえば、IPsec ネゴシエーション ポリシーは IKE/AuthIP キー モジュールに移動し、フィルターはフィルター エンジンに移動します。

シム

ネットワーク スタックとフィルター エンジンの間に存在するカーネル モード コンポーネント。 Shim は、フィルター エンジンに対して分類することで、フィルター処理の決定を行います。 使用可能な shim の一覧を次に示します。

  • アプリケーション層の適用 (ALE) shim。
  • トランスポート層モジュール shim。
  • ネットワーク層モジュール shim。
  • インターネット制御メッセージ プロトコル (ICMP) エラー shim。
  • shim を破棄します。
  • Stream shim。

吹き出し

ドライバーによって公開され、特殊なフィルター処理に使用される関数のセット。 "許可" と "ブロック" の基本的なアクションに加えて、コールアウトでは、受信および送信のネットワーク トラフィックを変更してセキュリティで保護できます。 引き出しの詳細については、Windows ドライバー キット (WDK) のドキュメントの「Windows フィルター プラットフォームの吹き出し ドライバー」トピックを参照してください。 WFP には、次のタスクを実行する組み込みの吹き出しが用意されています。

  • IPsec 処理を実行します。
  • ステートフル フィルター処理の動作を調整します。
  • ステルス モードのフィルター処理 (要求されなかったパケットのサイレント ドロップ) を実行します。
  • TCP のチムニー オフロードを制御します。
  • Teredo サービスと対話します。


フィルター エンジンを使用すると、サードパーティの吹き出しを各カーネル モード レイヤーに登録できます。

アプリケーション プログラミング インターフェイス

ネットワーク フィルター アプリケーションを構築および管理するために開発者が使用できる一連のデータ型と関数。 これらのデータ型と関数は、複数の API セットにグループ化されます。

WFP の機能

  • 独立系ソフトウェア ベンダー (ISV) が特殊なフィルター モジュールをプラグインできるパケット フィルタリング インフラストラクチャを提供します。
  • IPv4 と IPv6 の両方で動作します。
  • データのフィルター処理、変更、再挿入が可能です。
  • パケット処理とストリーム処理の両方を実行します。
  • ネットワーク インターフェイスごとまたはポートごとに加えて、アプリケーションごと、ユーザーごと、接続ごとにパケット フィルター処理を有効にします。
  • 基本フィルター エンジン (BFE) が起動できるようになるまで、ブート時のセキュリティを提供します。
  • ステートフル接続フィルター処理を有効にします。
  • IPsec で暗号化されたデータの前と後の両方を処理します。
  • IPsec とファイアウォール フィルター ポリシーの統合を許可します。
  • 特定のフィルターをアクティブ化する必要があるタイミングを決定するポリシー管理インフラストラクチャを提供します。 これには、異なるベンダーによって提供される複数のフィルターからの競合する要件の仲介が含まれます。
  • ほとんどのパケット再構成と状態追跡を処理します。
  • フィルターシステムの変更をサブスクライバーに通知する汎用ユーザー通知システムが含まれます。
  • システムの状態を報告する列挙関数を実装します。
  • net イベントを使用して、IPsec エラーとパケット ドロップを記録します。
  • ネットワーク診断フレームワーク (NDF) ヘルパー クラスをサポートします。
  • ネットワーク アプリケーションが WFP を構成してトラフィックをセキュリティで保護できるようにする Winsock API に対する Secure Socket 拡張機能 をサポートします。
  • アプリケーション層強制 (ALE) レイヤーでは、接続内の最初のパケットのみを処理することで、ネットワーク のパフォーマンスに最小限の影響を与えます。
  • カーネル モードの吹き出しモジュールがハードウェアを使用して特定のパケット検査を実行できるハードウェア オフロードを統合します。

WFP アーキテクチャ

WFP 操作

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

IPsec 構成

WFP 構成

WFP 監視

WFP API