次の方法で共有


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

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

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

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

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

ヒント

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

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

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

フォルダーとファイル mpssvcFullControl があるかどうかを確認します。 管理者特権の 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

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

$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 ファイアウォール サービスを再起動します。