如何使用 Windows 防火墙日志跟踪防火墙活动
已发表: 2022-01-29在过滤 Internet 流量的过程中,所有防火墙都具有某种类型的日志记录功能,用于记录防火墙如何处理各种类型的流量。 这些日志可以提供有价值的信息,例如源和目标 IP 地址、端口号和协议。 您还可以使用 Windows 防火墙日志文件来监控 TCP 和 UDP 连接以及被防火墙阻止的数据包。
为什么以及何时防火墙日志记录有用
- 验证新添加的防火墙规则是否正常工作,或者如果它们没有按预期工作,则对其进行调试。
- 确定 Windows 防火墙是否是应用程序故障的原因 — 使用防火墙日志记录功能,您可以检查禁用的端口开放、动态端口开放、分析带有推送和紧急标志的丢弃数据包,并分析发送路径上丢弃的数据包。
- 帮助和识别恶意活动 - 使用防火墙日志记录功能,您可以检查网络中是否发生任何恶意活动,但您必须记住它不提供追踪活动来源所需的信息。
- 如果您发现从一个 IP 地址(或一组 IP 地址)反复尝试访问您的防火墙和/或其他高配置系统的尝试不成功,那么您可能需要编写一条规则以删除来自该 IP 空间的所有连接(确保IP 地址没有被欺骗)。
- 来自内部服务器(如 Web 服务器)的传出连接可能表明有人正在使用您的系统对位于其他网络上的计算机发起攻击。
如何生成日志文件
默认情况下,日志文件被禁用,这意味着没有信息写入日志文件。 要创建日志文件,请按“Win 键 + R”打开“运行”框。 键入“wf.msc”并按 Enter。 出现“具有高级安全性的 Windows 防火墙”屏幕。 在屏幕右侧,单击“属性”。
出现一个新对话框。 现在单击“私人配置文件”选项卡,然后在“日志记录部分”中选择“自定义”。
将打开一个新窗口,并从该屏幕中选择您的最大日志大小、位置以及是否仅记录丢弃的数据包、成功连接或两者兼而有之。 丢弃的数据包是 Windows 防火墙已阻止的数据包。 成功连接既指传入连接,也指您通过 Internet 建立的任何连接,但这并不总是意味着入侵者已成功连接到您的计算机。
默认情况下,Windows 防火墙将日志条目写入%SystemRoot%\System32\LogFiles\Firewall\Pfirewall.log
并仅存储最后 4 MB 的数据。 在大多数生产环境中,此日志会不断写入您的硬盘,如果您更改日志文件的大小限制(以记录长时间的活动),则可能会导致性能影响。 因此,您应该仅在主动解决问题时启用日志记录,然后在完成后立即禁用日志记录。
接下来,单击“公共配置文件”选项卡并重复您为“私人配置文件”选项卡执行的相同步骤。 您现在已经打开了专用和公共网络连接的日志。 日志文件将以 W3C 扩展日志格式 (.log) 创建,您可以使用您选择的文本编辑器对其进行检查或将其导入电子表格。 单个日志文件可以包含数千个文本条目,因此如果您通过记事本阅读它们,请禁用自动换行以保留列格式。 如果您在电子表格中查看日志文件,则所有字段都将按逻辑显示在列中,以便于分析。

在“具有高级安全性的 Windows 防火墙”主屏幕上,向下滚动直到看到“监控”链接。 在“详细信息”窗格中的“日志记录设置”下,单击“文件名”旁边的文件路径。 日志在记事本中打开。
解释 Windows 防火墙日志
Windows 防火墙安全日志包含两个部分。 标头提供有关日志版本和可用字段的静态描述性信息。 日志的主体是作为试图穿越防火墙的流量的结果而输入的编译数据。 这是一个动态列表,新条目不断出现在日志底部。 字段在页面上从左到右书写。 当没有可用于该字段的条目时,使用 (-)。
根据 Microsoft Technet 文档,日志文件的标题包含:
版本 — 显示安装的 Windows 防火墙安全日志的版本。
软件 — 显示创建日志的软件的名称。
时间——表示日志中的所有时间戳信息都是本地时间。
字段 — 显示可用于安全日志条目的字段列表(如果数据可用)。
虽然日志文件的正文包含:
date — 日期字段以 YYYY-MM-DD 格式标识日期。
time — 本地时间以 HH:MM:SS 格式显示在日志文件中。 小时以 24 小时格式引用。
操作 — 当防火墙处理流量时,会记录某些操作。 记录的操作是 DROP 用于断开连接,OPEN 用于打开连接,CLOSE 用于关闭连接,OPEN-INBOUND 用于打开到本地计算机的入站会话,INFO-EVENTS-LOST 用于 Windows 防火墙处理的事件,但是未记录在安全日志中。
协议 — 使用的协议,例如 TCP、UDP 或 ICMP。
src-ip — 显示源 IP 地址(尝试建立通信的计算机的 IP 地址)。
dst-ip — 显示连接尝试的目标 IP 地址。
src-port — 尝试连接的发送计算机上的端口号。
dst-port — 发送计算机尝试建立连接的端口。
size — 显示数据包大小(以字节为单位)。
tcpflags — 有关 TCP 标头中 TCP 控制标志的信息。
tcpsyn — 显示数据包中的 TCP 序列号。
tcpack — 显示数据包中的 TCP 确认号。
tcpwin — 显示数据包中的 TCP 窗口大小(以字节为单位)。
icmptype — 有关 ICMP 消息的信息。
icmpcode — 有关 ICMP 消息的信息。
info — 显示取决于发生的操作类型的条目。
路径 — 显示通信的方向。 可用的选项有发送、接收、转发和未知。
如您所见,日志条目确实很大,并且可能有多达 17 条与每个事件相关联的信息。 但是,只有前八条信息对于一般分析很重要。 现在,有了您手中的详细信息,您就可以分析恶意活动的信息或调试应用程序故障。
如果您怀疑有任何恶意活动,请在记事本中打开日志文件,并在操作字段中使用 DROP 过滤所有日志条目,并注意目标 IP 地址是否以 255 以外的数字结尾。如果您发现许多此类条目,则采取数据包的目标 IP 地址的注释。 完成对问题的故障排除后,您可以禁用防火墙日志记录。
排除网络问题有时会非常令人生畏,在排除 Windows 防火墙故障时推荐的良好做法是启用本机日志。 尽管 Windows 防火墙日志文件对于分析网络的整体安全性没有用处,但如果您想监控幕后发生的事情,它仍然是一种很好的做法。