如何判断 Windows 防火墙为何阻止某个程序?

如何判断 Windows 防火墙为何阻止某个程序?

我有一个运行 Windows Server 2012 R2 的环境,并运行各种基于 Java 的 IBM 应用程序。有一个组策略阻止创建本地 Windows 防火墙规则,但由于系统进程,该规则在系统级别添加并取代了 GPO。我们还添加了一个显式 GPO 以允许 Java JRE 通过 Windows 防火墙入站/出站,但阻止规则仍然被添加并影响应用程序。

我想知道如何确定 Windows 防火墙阻止该应用程序的原因?

我怎样才能阻止这种情况发生?

  • GPO 已到位,允许 Java.exe 入站和出站。
  • GPO 已到位,不允许本地防火墙规则。
  • 设置 GPO 是为了在阻止程序时不允许用户交互。
  • 本地规则由系统进程添加,可能由用户操作触发。
  • 由于本地规则是由系统权限添加的,因此它取代了 GPO。

示例事件日志:已添加规则:规则 ID:UDP 查询用户 {8C6B2819-E805-459B-9483-821B8B51D772}D:\ibm\isa\isa5_jvm\jre\bin\javaw.exe 规则名称:Java(TM) Platform SE 二进制文件来源:本地活动:是方向:入站配置文件:域操作:阻止应用程序路径:D:\ibm\isa\isa5_jvm\jre\bin\javaw.exe 服务名称:
协议:UDP 安全选项:无边缘遍历:无修改用户:NT SERVICE\MpsSvc 修改应用程序:C:\Windows\System32\svchost.exe

尽管特定 JRE 路径的入站/出站都有程序异常,但仍会添加此规则

答案1

如果我想证明 Windows 防火墙是否断开了连接,我会打开日志记录。打开 MMC 并在本地计算机上添加 Windows Defender 防火墙的管理单元。您现在可以右键单击行项目并为其设置属性。第一页是日志记录设置,您可以在其中记录允许和拒绝的连接以及日志文件的存放位置。查看此内容。

如果这不能满足您的要求,请启动 Wireshark 来捕获实际发生的流量。如果您像您所说的那样正确设置了防火墙规则,则流量可能实际上没有到达服务器,或者存在其他故障,例如数据包丢失或碎片。

如果以上所有检查均通过,请检查应用程序的事件日志,以查找其可能决定不响应的原因。

相关内容