どのWindowsファイアウォールルールがトラフィックをブロックしているかを確認する方法


16

すべての受信トラフィックを受け入れるが、特定のIPへの送信トラフィックのみを許可するようにコンピューターをセットアップしようとしています。受信のすべて許可ルールと、IPアドレスを唯一の受け入れ可能な送信アドレスとして指定する許可ルールを設定しました。また、他のルールが優先されることを前提に、すべての送信ルールを拒否するように設定しました。

私が抱えている問題は、許可されていると指定したIPへのトラフィックであっても、すべてのトラフィックがブロックされていることです。

ファイアウォールを通過するトラフィックを追跡し、トラフィックをブロックしているルールを正確に確認する方法を探しています。ファイアウォールの監視によって生成されたログは、トラフィックがドロップされたが、どのルールがそれをブロックしていないかを示しています。


私も頻繁にこれを実行したいと思っていましたが、組み込みのWindowsファイアウォールにはこの点で提供する機能があまりないようです。より詳細なログを取得するための解決策を見つけたかどうかを知りたいです。
David Woodward

Windowsファイアウォールは、PCをネットワークから保護するためのものであり、PCからネットワークを保護するためのものではありません。ネットワークには、ネットワークを保護するための独自のファイアウォールが必要です。
Ron Maupin、

回答:


20

(注:これはWindows 7に適用され、新しいバージョンでは動作しない場合があります。)

次の手順を実行すると、接続をブロックするルールが表示されます。

  • コマンドを入力するには、Windowsコンソール(管理権限付き)を開きます。
  • Windowsフィルタリングプラットフォーム(WFP)の監査を有効にします。
    • コマンドを実行:
      auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:enable /failure:enable
    • コマンドを実行:
      auditpol /set /subcategory:"Filtering Platform Connection" /success:enable /failure:enable
  • (これにより、イベントログデータが失われる可能性があります。失敗の監査のみを有効にし、接続の失敗のみを有効にすると、ログエントリの数が減ります。実際に必要なものを選択してください)
  • 問題を再現する
  • コマンドを実行:(netsh wfp show stateこれにより、現在のフォルダーにXMLファイルが作成されます)
  • イベントビューアを開きます。実行(Windows+ R)>eventvwr.msc
    • [Windowsログ]> [セキュリティ]に移動します
    • リストで、ドロップするパケットログを特定します(ヒント:右側のメニューの検索機能を使用して、問題に固有の項目(送信元IP、宛先ポートなど)を検索します)
    • ログの詳細を下にスクロールして、パケットのブロックに使用されたフィルターIDをメモします。
  • 生成されたXMLファイルを開きます。
    • 記載されているfilterIDを検索し、ルール名をチェックアウトします(対応するXMLノードの要素「displayData> name」)

これは、ブロックルールを見つけるための良いスタートになります。

完了したら、監査をオフにすることを忘れないでください。

  • コマンドを実行:
    auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:disable /failure:disable
  • コマンドを実行:
    auditpol /set /subcategory:"Filtering Platform Connection" /success:disable /failure:disable

注: Windowsの言語設定によっては、監査サービスで英語以外の異なる名前が使用される場合があります。サブカテゴリ名を見つけるには、コマンドを実行auditpol /get /category:*し、システム言語の「フィルタリングプラットフォームパケットドロップ」および「フィルタリングプラットフォーム接続」に対応するサブカテゴリを見つけます。


1
Windowsファイアウォールでアウトバウンドフィルタリングを有効にしている場合、これはどこにも届きません。明示的な許可ルールのないすべてのプログラムは、デフォルトでブロックされるためです。そのため、ファイアウォールルールによってプログラムがまったくブロックされない可能性があります。
Alexandru Dicu

2
これはWindows Server 2012 R2で機能しました。
AresAvatar 2018年

私の場合、DisplayData-nameはと言っているDefault Outboundので、少なくとも私の許可ルールは無視されていると確信しているので、Microsoftファイアウォールのバグです。
メタブラスター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.