Windows ファイアウォールのログ記録を構成する
破棄されたパケットまたは正常な接続をログに記録するように Windows ファイアウォールを構成するには、次を使用できます。
- Microsoft Intune などの MDM ソリューションを使用した構成サービス プロバイダー (CSP)
- グループ ポリシー (GPO)
次の手順では、デバイスを構成する方法の詳細を示します。 ニーズに最適なオプションを選択します。
- Microsoft Intune 管理センターにサインインする
- [Endpoint security>Firewall>Create policy>Windows 10、Windows 11、Windows Server>Windows Firewall>Create に移動します。
- 名前を入力し、必要に応じて説明を入力 >次へ
- [ 構成設定] で、ネットワークの場所の種類 (ドメイン、 プライベート、 パブリック) ごとに、次の構成を行います。
- ログ ファイルのパス
- ログドロップされたパケットを有効にする
- ログの成功接続を有効にする
- ログの最大ファイル サイズ
- [次へ>次へ] を選択します
- >構成するデバイスまたはユーザーをメンバーとして含むグループにポリシーを割り当てる次>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 ファイアウォール ログ ファイルを解析するには、いくつかの方法があります。 以下に例を示します。
- Windows イベント コレクター (WEC) への Windows イベント転送 (WEF) を有効にします。 詳細については、「Windows イベント転送を使用して侵入検出を支援する」を参照してください。
- Azure Sentinel などの SIEM 製品にログを転送します。 詳細については、「Microsoft Sentinel 用 Windows ファイアウォール コネクタ」を参照してください。
- ログを Azure Monitor に転送し、KQL を使用してデータを解析します。 詳細については、「Windows クライアント デバイス上の Azure Monitor エージェント」を参照してください。
ヒント
SIEM ソリューションにログが表示されるのが遅い場合は、ログ ファイルのサイズを小さくできます。 ダウンサイズすると、ログのローテーションが増加するため、リソースの使用量が増えるのに注意してください。
ログ ファイルが作成または変更されていない場合のトラブルシューティング
Windows ファイアウォールのログ ファイルが作成されない場合や、イベントがログ ファイルに書き込まれない場合があります。 この条件が発生する可能性がある例を次に示します。
- フォルダーまたはログ ファイルに 対する Windows Defender ファイアウォール サービス (
mpssvc
) のアクセス許可がありません - ログ ファイルを別のフォルダーに格納し、アクセス許可が見つからないか、自動的に設定されない
- ファイアウォールのログ記録がポリシー設定を使用して構成されている場合は、その問題が発生する可能性があります。
- 既定の場所
%windir%\System32\LogFiles\firewall
に存在しないログ フォルダー - カスタム パス内のログ フォルダーが存在しない
- 既定の場所
どちらの場合も、手動またはスクリプトを使用してフォルダーを作成し、 mpssvc
のアクセス許可を追加する必要があります。
New-Item -ItemType Directory -Path $env:windir\System32\LogFiles\Firewall
フォルダーとファイル mpssvc
FullControl があるかどうかを確認します。 管理者特権の 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
そうでない場合は、フォルダー、サブフォルダー、ファイルにmpssvc
の FullControl アクセス許可を追加します。 正しいパスを使用してください。
$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 ファイアウォール サービスを再起動します。