Windows ファイアウォールのログ記録を構成する

破棄されたパケットまたは正常な接続をログに記録するように Windows ファイアウォールを構成するには、次を使用できます。

  • Microsoft Intune などの MDM ソリューションを使用した構成サービス プロバイダー (CSP)
  • グループ ポリシー (GPO)

次の手順では、デバイスを構成する方法の詳細を示します。 ニーズに最適なオプションを選択します。

  1. Microsoft Intune管理センターにサインインする
  2. [エンドポイント セキュリティ>ファイアウォールの>作成] ポリシー>Windows 10[Windows 11]、[Windows Server Windowsファイアウォールの作成] の>各ページに移動します>
  3. 名前を入力し、必要に応じて説明 >[次へ] を入力します
  4. [ 構成設定] で、ネットワークの場所の種類 (ドメインプライベートパブリック) ごとに、次の構成を行います。
    • ログ ファイルのパス
    • ログドロップされたパケットを有効にする
    • ログの成功接続を有効にする
    • ログの最大ファイル サイズ
  5. [次へ]を選択します>
  6. >の作成を構成>するデバイスまたはユーザーをメンバーとして含むグループにポリシーを割り当てる

ヒント

必要に応じて 、設定カタログ ポリシー を使用して Windows ファイアウォールログを構成することもできます。

または、ファイアウォール CSPカスタム ポリシーを使用してデバイスを構成することもできます。

ネットワーク プロファイル 設定
ドメイン 設定名: EnableLogDroppedPackets
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/DomainProfile/EnableLogDroppedPackets
ドメイン 設定名: LogFilePath
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/DomainProfile/LogFilePath
ドメイン 設定名: EnableLogSuccessConnections
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/DomainProfile/EnableLogSuccessConnections
ドメイン 設定名: LogMaxFileSize
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/DomainProfile/LogMaxFileSize
Private 設定名: EnableLogDroppedPackets
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PrivateProfile/EnableLogDroppedPackets
Private 設定名: LogFilePath
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PrivateProfile/LogFilePath
Private 設定名: EnableLogSuccessConnections
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PrivateProfile/EnableLogSuccessConnections
Private 設定名: LogMaxFileSize
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PrivateProfile/LogMaxFileSize
[Public] 設定名: EnableLogDroppedPackets
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PublicProfile/EnableLogDroppedPackets
[Public] 設定名: LogFilePath
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PublicProfile/LogFilePath
[Public] 設定名: EnableLogSuccessConnections
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PublicProfile/EnableLogSuccessConnections
[Public] 設定名: LogMaxFileSize
OMA-URI: ./Vendor/MSFT/Firewall/MdmStore/PublicProfile/LogMaxFileSize

重要

指定する場所には、Windows ファイアウォール サービスによるログ ファイルへの書き込みを許可するアクセス許可が割り当てられている必要があります。

推奨事項

Windows ファイアウォールのログ記録を構成するための推奨事項を次に示します。

  • ログ ファイルがいっぱいにならないよう、ログ サイズを少なくとも 20,480 KB (20 MB) に変更します。 ログの最大サイズは 32,767 KB (32 MB) です
  • プロファイル (ドメイン、プライベート、パブリック) ごとに、既定のログ ファイル名を から %windir%\system32\logfiles\firewall\pfirewall.log に変更します。
    • %windir%\system32\logfiles\firewall\pfirewall_Domain.log
    • %windir%\system32\logfiles\firewall\pfirewall_Private.log
    • %windir%\system32\logfiles\firewall\pfirewall_Public.log
  • 破棄されたパケットを [はい] にログに記録する
  • 成功した接続を [はい] にログに記録する

1 つのシステムでは、次のコマンドを使用してログ記録を構成できます。

netsh advfirewall>set allprofiles logging allowedconnections enable
netsh advfirewall>set allprofiles logging droppedconnections enable

解析メソッド

Windows ファイアウォール ログ ファイルを解析するには、いくつかの方法があります。 次に、例を示します。

ヒント

SIEM ソリューションにログが表示されるのが遅い場合は、ログ ファイルのサイズを小さくできます。 ダウンサイズすると、ログのローテーションが増加するため、リソースの使用量が増えるのに注意してください。

ログ ファイルが作成または変更されていない場合のトラブルシューティング

Windows ファイアウォールのログ ファイルが作成されない場合や、イベントがログ ファイルに書き込まれない場合があります。 この条件が発生する可能性がある例を次に示します。

  • フォルダーまたはログ ファイルの Windows Defender Firewall サービス (mpssvc) に対するアクセス許可がありません
  • ログ ファイルを別のフォルダーに格納し、アクセス許可が見つからないか、自動的に設定されない
  • ファイアウォールのログ記録がポリシー設定を使用して構成されている場合は、その問題が発生する可能性があります。
    • 既定の場所 %windir%\System32\LogFiles\firewall にログ フォルダーが存在しない
    • カスタム パス内のログ フォルダーが存在しない

どちらの場合も、手動またはスクリプトを使用してフォルダーを作成し、 の mpssvcアクセス許可を追加する必要があります。

New-Item -ItemType Directory -Path $env:windir\System32\LogFiles\Firewall

フォルダーとファイルに FullControl があるかどうかをmpssvc確認します。 管理者特権の PowerShell セッションから、次のコマンドを使用して、正しいパスを使用するようにします。

$LogPath = Join-Path -path $env:windir -ChildPath "System32\LogFiles\Firewall"
(Get-ACL -Path $LogPath).Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize

出力には FullControl が表示NT SERVICE\mpssvcされます。

IdentityReference      FileSystemRights AccessControlType IsInherited InheritanceFlags
-----------------      ---------------- ----------------- ----------- ----------------
NT AUTHORITY\SYSTEM         FullControl             Allow       False    ObjectInherit
BUILTIN\Administrators      FullControl             Allow       False    ObjectInherit
NT SERVICE\mpssvc           FullControl             Allow       False    ObjectInherit

そうでない場合は、 の FullControl アクセス許可 mpssvc をフォルダー、サブフォルダー、ファイルに追加します。 正しいパスを使用してください。

$LogPath = Join-Path -path $env:windir -ChildPath "System32\LogFiles\Firewall"
$NewAcl = Get-Acl -Path $LogPath 

$identity = "NT SERVICE\mpssvc"
$fileSystemRights = "FullControl"
$inheritanceFlags = "ContainerInherit,ObjectInherit"
$propagationFlags = "None"
$type = "Allow"

$fileSystemAccessRuleArgumentList = $identity, $fileSystemRights, $inheritanceFlags, $propagationFlags, $type
$fileSystemAccessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $fileSystemAccessRuleArgumentList

$NewAcl.SetAccessRule($fileSystemAccessRule)
Set-Acl -Path $LogPath -AclObject $NewAcl

デバイスを再起動して、Windows Defender ファイアウォール サービスを再起動します。