Windowsファイアウォールのログが出ないとき|設定・保存先・記録条件の確認

Windowsファイアウォールのログ記録条件を確認するイメージ 技術検証ラボ

pfirewall.logが見つからない、または中身が増えないからといって、通信や遮断がなかったとは限りません。Windows Defender Firewallのログは、適用中のプロファイル、記録対象、保存先、権限などの条件がそろったときに出力されます。

この記事は、管理している検証機で確認する順序を説明します。画面と出力例は説明用であり、実機検証結果ではありません。本番端末や組織のGPOを変更する前に、管理者と影響範囲を確認してください。ファイアウォール自体を無効化して試す必要はありません。

先に確認する5項目

順番確認項目分かること
1適用中のプロファイルDomain・Private・Publicのどれを見るか
2記録対象許可通信・破棄パケットのどちらを記録するか
3保存先実際に参照すべきファイル
4更新時刻と容量新しい記録か、上限で古い行が消えたか
5書込み権限とポリシーサービスが書けるか、上位設定で決まっていないか

1. 適用中のプロファイルを確認する

管理者が把握している検証端末で、PowerShellから次の読み取り専用コマンドを実行します。

Get-NetConnectionProfile |
    Select-Object InterfaceAlias, NetworkCategory, IPv4Connectivity

説明用の出力例です。

InterfaceAlias NetworkCategory IPv4Connectivity
-------------- --------------- ----------------
Ethernet       Private         Internet

この例ではPrivateプロファイルを優先して確認します。接続先や組織の管理方式によって結果は異なります。

2. ログ設定と保存先を読み取る

Get-NetFirewallProfile |
    Select-Object Name, Enabled, LogAllowed, LogBlocked, LogFileName, LogMaxSizeKilobytes

説明用の出力例です。

Name    Enabled LogAllowed LogBlocked LogFileName                                      LogMaxSizeKilobytes
----    ------- ---------- ---------- -----------                                      --------------------
Domain  True    False      True       %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096
Private True    False      False      %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096
Public  True    False      True       %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096

この例でPrivateが適用中なら、LogAllowedとLogBlockedがどちらもFalseなので、通信が発生してもログへ記録されない可能性があります。ログファイルの有無だけで判断せず、適用プロファイルと設定を対応させます。

3. ファイルの存在、更新時刻、サイズを見る

既定パスを使っている場合の確認例です。

$firewallLogPath = "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log"
Get-Item -LiteralPath $firewallLogPath |
    Select-Object FullName, Length, LastWriteTime

ファイルがない場合は、LogFileNameで別の保存先が設定されていないか確認します。ファイルがあっても更新時刻が古ければ、現在の通信を記録した証拠にはなりません。

内容を読む例です。

Get-Content -LiteralPath $firewallLogPath -Tail 20

説明用ログです。

2026-09-15 10:15:21 DROP TCP 192.0.2.20 198.51.100.10 51520 445 60 S 1234567890 0 64240 - - - RECEIVE
2026-09-15 10:15:24 ALLOW TCP 198.51.100.20 192.0.2.20 51521 443 60 S 1234567891 0 64240 - - - RECEIVE

192.0.2.0/24と198.51.100.0/24は説明用アドレスです。この例ではDROPとALLOWの行があることは分かりますが、業務上の正当性や利用者の身元までは断定できません。

4. 記録対象が無効なら、変更前の値を残す

Microsoftの手順では、プロファイルごとに「破棄されたパケット」と「成功した接続」の記録を設定します。変更が必要な場合は、対象端末、対象プロファイル、元の値、実施時刻、戻し方を記録します。

GUIでは「セキュリティが強化されたWindows Defender ファイアウォール」のプロパティから、各プロファイルの「ログ」設定を確認できます。組織管理端末ではGPOやMDMが優先される場合があるため、ローカル設定だけを変えて完了としません。

この記事では、未検証の一括変更コマンドは掲載しません。Microsoftの公式手順と組織の変更手順を確認してください。

5. テスト条件と結果を一行で残す

ログを有効にしただけでは確認完了ではありません。管理者が許可した検証通信を一つ行い、時刻、送信元、宛先、期待結果、ログ結果を記録します。

時刻検証内容期待ログ結果判断
10:15許可済みテスト元から検証用Webサービスへ接続許可ALLOW行を確認記録条件と通信が対応
10:20未実施未確認行なし通信なしとは断定しない

実行していない試験を「失敗」と記録しないことが重要です。

ログが出ないときの切り分け

  • 適用中のプロファイルと見ている設定が一致しているか
  • LogAllowedまたはLogBlockedが目的に合っているか
  • LogFileNameが既定パスから変更されていないか
  • サービスが保存先へ書き込める権限を持つか
  • GPOやMDMで設定が上書きされていないか
  • 確認した時刻に、対象となる通信を実際に行ったか
  • ファイル容量の上限により古い行が置き換わっていないか

よくある質問

pfirewall.logが空なら通信はありませんか?

断定できません。記録対象が無効、別プロファイル、別保存先、権限などを先に確認します。

許可通信もすべて記録すべきですか?

目的と保存容量によります。記録量が増えるため、調査目的、保管期間、収集方法を決めてから設定します。

ファイアウォールを一時的に無効にすれば切り分けできますか?

推奨しません。保護を弱めず、適用プロファイル、規則、ログ設定を順に確認してください。

ファイアウォールを含む基礎用語はネットワークセキュリティの基本で確認できます。安全な検証環境の考え方と関連記事は技術検証ラボにまとめています。

タイトルとURLをコピーしました