Windows 防火墙规则

在许多情况下,管理员的第一步是使用防火墙 规则自定义防火墙配置文件,以便他们可以使用应用程序或其他类型的软件。 例如,管理员或用户可以选择添加规则以容纳程序、打开端口或协议,或允许预定义类型的流量。

本文介绍创建和管理防火墙规则的概念和建议。

入站规则的规则优先级

在许多情况下,应用程序在网络中运行需要允许特定类型的入站流量。 在配置入站异常时,管理员应记住以下规则优先行为:

  1. 显式定义的允许规则优先于默认阻止设置
  2. 显式阻止规则优先于任何冲突的允许规则
  3. 更具体的规则优先于不太具体的规则,除非存在如 2 中所述的显式阻止规则。 例如,如果规则 1 的参数包含 IP 地址范围,而规则 2 的参数包括单个 IP 主机地址,则规则 2 优先

由于 1 和 2,在设计一组策略时,应确保没有其他可能无意重叠的显式阻止规则,从而阻止希望允许的流量流。

注意

Windows 防火墙不支持管理员分配的加权规则排序。 可以通过记住所描述的少数一致和逻辑规则行为来创建具有预期行为的有效策略集。

应用程序规则

首次安装时,网络应用程序和服务会发出 侦听调用 ,指定它们正常运行所需的协议/端口信息。 由于 Windows 防火墙中存在默认 阻止 操作,因此必须创建入站异常规则以允许流量。 应用或应用安装程序本身通常都会添加这一防火墙规则。 否则,用户(或代表用户的防火墙管理员)需要手动创建规则。

如果没有活动应用程序或管理员定义的允许规则 () ,则会在首次启动应用或尝试在网络中通信时提示用户允许或阻止应用程序的数据包:

  • 如果用户具有管理员权限,系统会提示他们。 如果他们响应 “否” 或取消提示,则会创建阻止规则。 通常创建两个规则,分别针对 TCP 和 UDP 流量创建一个规则
  • 如果用户不是本地管理员,则不会提示他们。 在大多数情况下,会创建阻止规则

显示用户帐户控制 (UAC) 提示以允许Microsoft Teams 的屏幕截图。

在这两种情况下,添加规则后,必须删除这些规则才能再次生成提示。 否则,将继续阻止流量。

注意

防火墙的默认设置旨在为你提供安全。 默认情况下允许所有入站连接,会给网络带来各种各样的威胁。 因此,对于来自非Microsoft软件的入站连接,应由受信任的应用开发人员、用户或管理员代表用户确定。

应用控制标记策略

Windows 防火墙支持在防火墙规则中使用应用控制业务应用程序 ID (AppID) 标记。 借助此功能,Windows 防火墙规则可以通过引用进程标记将范围限定为一个应用程序或一组应用程序,而无需使用绝对路径或降低安全性。 此配置有两个步骤:

  1. 部署 应用控制 AppId 标记策略:必须部署适用于企业的应用控制策略,该策略指定单个应用程序或应用程序组以将 PolicyAppId 标记 应用于进程令牌 () 。 然后,管理员可以定义防火墙规则,这些规则的范围限定为使用匹配 的 PolicyAppId 标记的所有进程。 有关详细信息,请参阅 应用控制 AppId 标记指南 ,以创建、部署和测试用于标记应用程序的 AppID 策略。
  2. 使用以下两种方法之一使用 PolicyAppId 标记 配置防火墙规则:
    • 防火墙 CSP 的 PolicyAppId 节点与 mdm 解决方案(如 Microsoft Intune)配合使用。 如果使用Microsoft Intune,则可以在终结点安全>防火墙>创建策略Windows 10、Windows 11和 Windows Server>Windows 防火墙规则>的路径下Microsoft Intune 管理员中心部署规则。 创建规则时,请在策略应用 ID 设置中提供 AppId 标记
    • 使用 PowerShell 创建本地防火墙规则:使用 New-NetFirewallRule cmdlet 并指定 -PolicyAppId 参数。 创建防火墙规则时,一次可以指定一个标记。 支持多个用户 ID

本地策略合并和应用程序规则

规则合并 策略设置控制如何组合来自不同策略源的规则。 管理员可以为 专用和公共 配置文件配置不同的合并行为。

除了从 CSP 或 GPO 获取的规则之外,规则合并策略设置还允许或阻止本地管理员创建自己的防火墙规则。

路径
CSP 域配置文件: ./Vendor/MSFT/Firewall/MdmStore/DomainProfile/AllowLocalPolicyMerge
Private Profile./Vendor/MSFT/Firewall/MdmStore/PrivateProfile/AllowLocalPolicyMerge
公共配置文件 ./Vendor/MSFT/Firewall/MdmStore/PublicProfile/AllowLocalPolicyMerge
GPO 计算机配置>Windows 设置>安全设置>具有高级安全性的 Windows Defender 防火墙

管理员可以在高安全性环境中禁用 LocalPolicyMerge,以保持对终结点的更严格控制。 此设置可能会影响某些在安装时自动生成本地防火墙策略的应用程序和服务。

重要提示

如果禁用了本地策略合并,则任何需要入站连接的应用都需要集中部署规则。

请务必创建和维护此类应用的列表,包括用于通信的网络端口。 通常,可以在应用的网站上找到必须为给定服务打开的端口。 对于更复杂的部署,可能需要使用网络数据包捕获工具进行全面分析。

通常,为了保持最大安全性,管理员只应为确定用于合法用途的应用和服务部署防火墙例外。

注意

应用程序规则不支持使用通配符模式,例如 C:\*\teams.exe 。 只能使用应用程序 () 的完整路径创建规则。

防火墙规则建议

下面是设计防火墙规则时的建议列表:

  • 尽可能保留默认 Windows 防火墙设置。 这些设置旨在保护设备,以便在大多数网络方案中使用。 一个关键示例是入站连接的默认 阻止行为
  • 在所有三个配置文件中创建规则,但仅对适合你的方案的配置文件启用防火墙规则组。 例如,如果要安装仅在专用网络上使用的共享应用程序,则最好在所有三个配置文件中创建防火墙规则,但仅启用包含专用配置文件规则的防火墙规则组。
  • 根据应用规则的配置文件对防火墙规则配置限制。 对于设计为仅由家庭或小型企业网络内的设备访问的应用程序和服务,最好修改远程地址限制以仅指定 本地子网 。 在企业环境中使用时,同一应用程序或服务不会有此限制。 为此,可以将远程地址限制添加到添加到专用和公共配置文件的规则,同时在域配置文件中保留这些限制。 此远程地址限制不应应用于需要全局 Internet 连接的应用程序或服务。
  • 创建入站规则时的一般安全建议做法是尽可能具体。 但是,当必须制定使用端口或 IP 地址的新规则时,请考虑使用连续的范围或子网,而不是使用单个地址或端口(条件允许时)。 此方法可以避免在底层创建多个筛选器,降低复杂性,并有助于避免性能下降。
  • 创建入站或出站规则时,应指定有关应用本身、使用的端口范围以及创建日期等重要说明的详细信息。 必须详尽地记录规则,以便你和其他管理员查看。
  • 为了保持最大安全性,管理员只应为确定用于合法用途的应用和服务部署防火墙例外。

自动规则创建存在的已知问题

为网络设计一组防火墙策略时,建议为主机上部署的任何网络应用程序配置 允许规则 。 在用户首次启动应用程序之前设置规则有助于确保无缝体验。

缺少这些分步规则并不一定意味着应用程序最终将无法在网络上进行通信。 但是,在运行时自动创建应用程序规则所涉及的行为需要用户交互和管理权限。 如果设备预期由非管理用户使用,你应该遵循最佳做法,即在应用程序首次启动之前提供这些规则,以避免遇到意外的网络问题。

若要确定阻止某些应用程序在网络中进行通信的原因,请检查以下实例:

  1. 具有足够权限的用户将收到查询通知,通知他们应用程序需要更改防火墙策略。 未完全理解提示,用户取消或关闭提示
  2. 用户缺少足够的权限,因此系统不会提示允许应用程序进行适当的策略更改
  3. 禁用本地策略合并 ,阻止应用程序或网络服务创建本地规则

管理员也可以使用“设置”应用或策略设置来禁止在运行时创建应用程序规则。

出站规则注意事项

以下是配置出站规则时需要遵循的几条一般准则。

  • 对于某些高度安全的环境,可以考虑将出站规则更改为 阻止 。 但是,默认情况下,入站规则配置不应以允许所有流量的方式更改
  • 为了简化应用部署,建议在大多数部署中默认 允许出站 ,除非组织更喜欢严格的安全控制而不是易用性
  • 在高安全性环境中,应记录和维护所有应用的清单。 记录必须包括所使用的应用是否需要网络连接。 管理员需要创建特定于需要网络连接的每个应用的新规则,并通过 GPO 或 CSP 集中推送这些规则

后续步骤

了解用于配置 Windows 防火墙和防火墙规则的工具:

配置工具 >