windows无独立“高级防火墙审计日志”,需组合启用防火墙日志(pfirewall.log)与安全审核策略:前者记录连接/丢包行为,后者通过事件id 4902、4906等审计规则修改操作。
windows 本身没有“高级防火墙审计日志”这个独立功能,但你可以通过组合启用windows 防火墙日志记录和系统安全审核策略来实现对防火墙相关行为的深度追踪。关键在于区分两个层面:一是防火墙自身丢包/连接事件的日志(pfirewall.log),二是谁在修改防火墙规则、策略或权限的操作审计(记录在安全日志中)。
启用 Windows 防火墙基础日志(记录连接行为)
这是最直接反映防火墙动作的日志,存储为纯文本文件:
- 按 Win + R 输入
wf.msc回车,打开“高级安全 Windows 防火墙” - 右键左侧“高级安全 Windows 防火墙(本地)”,选“属性”
- 依次切换到“域配置文件”“专用配置文件”“公用配置文件”三个选项卡
- 在每个选项卡的“日志”区域点“自定义”,勾选:
- 记录被丢弃的数据包(推荐开启)
- 记录成功的连接(按需开启,日志量较大)
- 设置日志路径为:
C:\Windows\System32\LogFiles\Firewall\pfirewall.log(目录需提前手动创建) - 日志最大大小建议设为 4096 KB 或更高,避免频繁覆盖
启用安全审核策略(记录谁改了防火墙)
仅靠 pfirewall.log 无法知道“谁在什么时候禁用了某条入站规则”。这需要系统级安全审计:
- 按 Win + R 输入
gpedit.msc打开组策略编辑器(专业版/企业版可用) - 导航至:计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 系统审计策略
- 重点启用以下子策略(双击→设为“已启用”,勾选“成功”和“失败”):
- 策略更改 → 审核认证策略更改
- 策略更改 → 审核授权策略更改
- 策略更改 → 审核MPSSVC规则更改(这是 Windows 防火墙服务的核心策略项)
- 账户管理 → 审核其他账户管理事件(覆盖防火墙例外用户组变更)
- 若使用旧版“审核策略”(非高级),则在:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 审核策略 中启用“审核策略更改”
查看与验证日志结果
两类日志分开存放,用途不同:
- pfirewall.log:用记事本或 Excel 打开,每行含时间、动作(ALLOW/ BLOCK)、协议、源/目标 IP 和端口,适合网络行为分析
-
安全日志(事件查看器 → Windows 日志 → 安全):筛选事件 ID:
- 4902:创建了新的防火墙规则(含规则名、操作者)
- 4906:Windows 防火墙状态被更改(如关闭/启用)
- 4738 或 4732:用户/组权限变更,可能影响防火墙例外权限
- 确认审计生效:修改一条入站规则后,立即在事件查看器中查找对应 4902 事件;若无,检查组策略是否刷新(运行
gpupdate /force)
补充说明:权限与存储安全
生成安全日志本身需要权限控制,避免日志被恶意清除或伪造:
- 确保“生成安全审核”用户权限(
SeAuditPrivilege)仅分配给 LOCAL SERVICE 和 NETWORK SERVICE(组策略路径:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 用户权限分配 → 生成安全审核) - 安全日志文件默认存于
%SystemRoot%\System32\Winevt\Logs\Security.evtx,建议配合“日志大小限制”和“日志满时的操作”(如“按需要覆盖事件”)防止丢失历史记录 - pfirewall.log 所在目录应禁止普通用户写入,可右键文件夹 → 属性 → 安全 → 编辑权限,仅保留 SYSTEM 和 Administrators 的完全控制











