重要说明 某些版本的 Microsoft Windows 已终止支持。 注意:当扩展安全更新 (ESU) 可用时,某些版本的 Windows 可能会在最新的操作系统终止日期之后得到支持。 有关提供 ESU 的产品列表,请参阅 生命周期常见问题解答 - 扩展安全更新

更改日期

更改说明

2024 年 8 月 1 日

  • 为提高可读性而对格式进行的小改动

  • 在“客户端上所有 Access-Request 数据包中配置 Message-Authenticator 属性的验证”配置中,使用了“message”一词,而不是“packet”

2024 年 8 月 5 日

  • 添加了用户数据报协议 (UDP) 链接

  • 为网络策略服务器 (NPS) 添加了链接

2024 年 8 月 6 日

  • 更新了“摘要”部分,以指示这些更改包含在 2024 年 7 月 9 日或之后的 Windows 更新中

  • 更新了“执行操作”部分中的项目符号点,以指示我们建议打开选项。 默认情况下,这些选项处于关闭状态。

  • 向“此更新添加的事件”部分添加了注释,以指示事件 ID 由 2024 年 7 月 9 日或之后的 Windows 更新添加到 NPS 服务器

Contents

摘要

2024 年 7 月 9 日或之后的 Windows 更新解决了与MD5 冲突问题相关的远程身份验证拨入用户服务 (RADIUS) 协议中的安全漏洞。 由于 MD5 中的完整性检查较弱,攻击者可能会篡改数据包以获取未经授权的访问权限。 MD5 漏洞使得 Internet 上基于用户数据报协议 (UDP) 的 RADIUS 流量在传输过程中对数据包伪造或修改不安全。 

有关此漏洞的详细信息,请参阅 CVE-2024-3596 和 白皮书 RADIUS 和 MD5 冲突攻击

注意 此漏洞需要对 RADIUS 网络和网络策略服务器 (NPS) 进行物理访问。 因此,具有安全 RADIUS 网络的客户不会受到攻击。 此外,当通过 VPN 进行 RADIUS 通信时,此漏洞不适用。 

采取操作

为了帮助保护环境,我们建议启用以下配置。 有关详细信息,请参阅“配置”部分。

  • Access-Request 数据包中设置 Message-Authenticator 属性。 确保所有 Access-Request 数据包都包含 Message-Authenticator 属性。 默认情况下,设置 Message-Authenticator 属性的选项处于关闭状态。 建议启用此选项。

  • 验证 Access-Request 数据包中的 Message-Authenticator 属性。 请考虑在 ess-Request 据包上强制验证 Message-Authenticator 属性。 不处理不含此属性的 Access-Request 数据包。 默认情况下,Access-Request 消息必须包含已关闭的消息验证器属性 选项。 建议启用此选项。

  • 如果存在 Proxy-State 属性,验证 Access-Request 数据包中的 Message-Authenticator 属性。 (可选)如果无法对每个 Access-Request 数据包强制验证 Message-Authenticator 属性,则启用 limitProxyState 选项。 limitProxyState 强制删除包含 代理状态 属性的 Access-Request 数据包,而不使用 Message-Authenticator 属性。 默认情况下,limitproxystate 选项处于关闭状态。 建议启用此选项。

  • 验证 RADIUS 响应数据包中的 Message-Authenticator 属性:Access-AcceptAccess-RejectAccess-Challenge。 启用 requireMsgAuth 选项,以强制删除远程服务器的 RADIUS 响应数据包,而不使用 Message-Authenticator 属性。 默认情况下,requiremsgauth 选项处于关闭状态。 建议启用此选项。

此更新添加的事件

有关详细信息,请参阅“配置”部分。

注意 这些事件 ID 由 2024 年 7 月 9 日或之后的 Windows 更新添加到 NPS 服务器。

Access-Request 数据包已删除,因为它包含 Proxy-State 属性,但缺少 Message-Authenticator 属性。 请考虑更改 RADIUS 客户端以包括 Message-Authenticator 属性。 或者,使用 limitProxyState 配置为 RADIUS 客户端添加异常。

事件日志

系统

事件类型

错误

事件源

NPS

事件 ID

4418

事件文本

从包含 Proxy-State 属性的 RADIUS 客户端 <ip/name> 接收到 Access-Request 消息,但它未包含 Message-Authenticator 属性。 因此,已删除该请求。 出于安全考虑,Message-Authenticator 属性是必需的。 请参阅 https://support.microsoft.com/help/5040268 了解详细信息。 

这是没有 Message-Authenticator 属性且存在 Proxy-StateAccess-Request 数据包的 审核事件。 请考虑更改 RADIUS 客户端以包括 Message-Authenticator 属性。 启用 limitproxystate 配置后,将删除 RADIUS 数据包。

事件日志

系统

事件类型

警告

事件源

NPS

事件 ID

4419

事件文本

从包含 Proxy-State 属性的 RADIUS 客户端 <ip/name> 接收到 Access-Request 消息,但它未包含 Message-Authenticator 属性。 当前允许请求,因为 limitProxyState 是在审核模式下进行配置。 请参阅 https://support.microsoft.com/help/5040268 了解详细信息。 

这是收到的 RADIUS 响应数据包的审核事件,代理中没有 Message-Authenticator 属性。 请考虑更改 Message-Authenticator 属性的指定 RADIUS 服务器。 启用 requiremsgauth 配置后,将删除 RADIUS 数据包。

事件日志

系统

事件类型

警告

事件源

NPS

事件 ID

4420

事件文本

RADIUS 代理从缺少 Message-Authenticator 属性的服务器 <ip/name> 收到响应。 当前允许响应,因为 requireMsgAuth 是在审核模式下进行配置。 请参阅 https://support.microsoft.com/help/5040268 了解详细信息。

如果未配置建议的设置,则在服务启动期间记录此事件。 如果 RADIUS 网络不安全,请考虑启用设置。 对于安全网络,可以忽略这些事件。

事件日志

系统

事件类型

警告

事件源

NPS

事件 ID

4421

事件文本

RequireMsgAuth 和/或 limitProxyState 配置处于 <Disable/Audit> 模式。 出于安全目的,应在“启用”模式下配置这些设置。 请参阅 https://support.microsoft.com/help/5040268 了解详细信息。

配置

此配置使 NPS 代理能够开始在所有 Access-Request 数据包中发送 Message-Authenticator 属性。 若要启用此配置,请使用以下方法之一。

方法 1:使用 NPS Microsoft 管理控制台 (MMC)

若要使用 NPS MMC,请执行以下步骤:

  1. 打开服务器上的 NPS 用户界面 (UI)。

  2. 打开远程 Radius 服务器组

  3. 选择 Radius 服务器

  4. 转到“身份验证/记帐”。

  5. 单击以选择“请求必须包含 Message-Authenticator 属性”复选框。

方法 2:使用 netsh 命令

若要使用 netsh,请运行以下命令:

netsh nps set remoteserver remoteservergroup = <server group name> address = <server address> requireauthattrib = yes

有关详细信息,请参阅 远程 RADIUS 服务器组命令

此配置需要所有 Access-Request 数据包中的 Message-Authenticator 属性,如果不存在,则删除数据包。

方法 1:使用 NPS Microsoft 管理控制台 (MMC)

若要使用 NPS MMC,请执行以下步骤:

  1. 打开服务器上的 NPS 用户界面 (UI)。

  2. 打开 Radius 客户端

  3. 选择 Radius 客户端

  4. 转到 高级设置

  5. 单击此项可选中“访问请求消息必须包含消息验证器属性”复选框。

有关详细信息,请参阅 配置 RADIUS 客户端

方法 2:使用 netsh 命令

若要使用 netsh,请运行以下命令:

netsh nps set client name = <client name> requireauthattrib = yes

有关详细信息,请参阅 远程 RADIUS 服务器组命令

此配置使 NPS 服务器能够删除可能易受攻击 Access-Request 数据包,这些数据包包含 Proxy-State 属性,但不包括 Message-Authenticator 属性。 此配置支持三种模式:

  • 审核

  • 启用

  • 禁用

审核 模式下,记录警告事件(事件 ID: 4419),但仍会处理该请求。 使用此模式标识发送请求的不符合实体。

使用 netsh 命令根据需要配置、启用和添加异常。

  1. 若要在 审核 模式下配置客户端,请运行以下命令:

    netsh nps set limitproxystate all = “审核”

  2. 若要在“启用”模式下配置客户端,请运行以下命令:

    netsh nps set limitproxystate all = “启用” 

  3. 若要添加异常以从 limitProxystate 验证中排除客户端,请运行以下命令:

    netsh nps set limitproxystate name = <客户端名称>异常 = “Yes” 

此配置使 NPS 代理可以删除没有 Message-Authenticator 属性的潜在易受攻击的响应消息。 此配置支持三种模式:

  • 审核

  • 启用

  • 禁用

在 审核 模式下,记录警告事件(事件 ID: 4420),但仍会处理该请求。 使用此模式标识发送响应的不符合实体。

使用 netsh 命令根据需要配置、启用和添加异常。

  1. 若要在 审核 模式下配置服务器,请运行以下命令:

    netsh nps set requiremsgauth all = "audit"

  2. 若要为所有服务器启用配置,请运行以下命令:

    netsh nps set requiremsgauth all = "enable"

  3. 若要添加异常以从 requireauthmsg 验证中排除服务器,请运行以下命令:

    netsh nps set requiremsgauth remoteservergroup = <远程服务器组名称> 地址 = <服务器地址> 异常 = “yes”

常见问题

检查相关事件的 NPS 模块事件。 请考虑为受影响的客户端/服务器添加异常或配置调整。

否,本文中讨论的配置建议用于不安全的网络。 

参考

用于描述 Microsoft 软件更新的标准术语说明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,我们不作任何暗示保证或其他形式的保证

我们提供了第三方联系信息,以便你寻求技术支持。 该联系信息如有更改,恕不另行通知。 我们不保证此第三方联系信息的准确性。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。