本文特别适用于以下 Windows 服务器版本:

  • Windows Server 版本 2004(服务器核心安装)

  • Windows Server 版本 1909(服务器核心安装)

  • Windows Server 版本 1903(服务器核心安装)

  • Windows Server,版本 1803 (服务器核心安装)

  • Windows Server 2019(服务器核心安装)

  • Windows Server 2019

  • Windows Server 2016(服务器核心安装)

  • Windows Server 2016

  • Windows Server 2012 R2(服务器核心安装)

  • Windows Server 2012 R2

  • Windows Server 2012(服务器核心安装)

  • Windows Server 2012

  • Windows Server 2008 R2(用于基于 x64 的系统)Service Pack 1(服务器核心安装)

  • Windows Server 2008 R2(用于基于 x64 的系统)Service Pack 1

  • Windows Server 2008(用于基于 x64 的系统)Service Pack 2(服务器核心安装)

  • Windows Server 2008(用于基于 x64 的系统)Service Pack 2

  • Windows Server 2008(用于 32 位系统)Service Pack 2(服务器核心安装)

  • Windows Server 2008(用于 32 位系统)Service Pack 2

简介

2020 年 7 月 14 日,Microsoft 发布了针对 CVE-2020-1350 | Windows DNS 服务器远程代码执行漏洞中描述的问题的安全更新。 此通报描述了影响配置为运行 DNS 服务器角色的 Windows 服务器的关键远程代码执行 (RCE) 漏洞。 我们强烈建议服务器管理员尽早应用此安全更新。

可以利用基于注册表的解决方法来帮助保护受影响的 Windows 服务器,并且无需管理员重新启动服务器即可实现该方法。 由于此漏洞的波动性,管理员在应用此安全更新之前可能必须实施此解决方法,以便他们能使用标准部署节奏更新系统。

解决方法

重要
请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原

若要解决此漏洞,请进行以下注册表更改以限制允许的最大基于入站 TCP 的 DNS 响应数据包的大小:

项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters 

数值 = TcpReceivePacketSize 

类型 = DWORD 

数值数据 = 0xFF00

注意

  • 默认(也是最大)数值数据 = 0xFFFF。

  • 如果通过组策略粘贴此注册表值或将其应用于服务器,则会接受该值,但实际上不会设置为你期望的值。 无法将值 0x 键入“数值数据”框中。 但可以粘贴。 如果粘贴该值,则得到一个十进制值 4325120。

  • 此解决方法将 FF00 作为十进制值 65280 的值。 此值比允许的最大值 65535 小 255。

  • 你必须重新启动 DNS 服务才能使注册表更改生效。 为此,请在显示的命令提示符处运行以下命令:

net stop dns && net start dns

实施解决办法后,当来自上游服务器的 DNS 响应大于 65,280 字节时,Windows DNS 服务器将无法解析其客户端的 DNS 名称。

有关此解决方法的重要信息

超过建议值的基于 TCP 的 DNS 响应数据包将丢弃,而不会出错。 因此,可能无法响应某些查询。 这可能会导致意外失败。 只有当 DNS 服务器收到的有效 TCP 响应大于上一个缓解措施允许的值(超过 65,280 字节)时,它才会受到此解决方法的负面影响。

减少的值不太可能影响标准部署或递归查询。 但是,在给定环境中可能存在非标准用例。 若要确定服务器实现是否会受到此解决方法的不利影响,应启用诊断日志记录并捕获代表典型业务流的示例集。 然后,你需要查看日志文件,以确定是否存在异常大的 TCP 响应数据包

有关详细信息,请参阅 DNS 日志记录和诊断

常见问题

该解决方法在运行 DNS 角色的所有版本的 Windows Server 上可用。 

我们已确认此注册表设置不会影响 DNS 区域传输。 

否,这两个选项都不是必需的。 将安全更新应用于系统可解决此漏洞。 如果无法立即应用安全更新,则基于注册表的解决方法会为系统提供保护,但不应将其视为安全更新的替换办法。 应用更新后,就不再需要该解决方法,应将其删除。

解决方法与安全更新兼容。 但是,应用更新后将不再需要修改注册表。 最佳实践规定,当不再需要时应删除注册表修改,以防止可能导致运行非标准配置的潜在未来影响。   

我们建议运行 DNS 服务器的每个人都应尽快安装安全更新。 如果无法立即应用更新,你将能够在以标准节奏安装更新之前保护你的环境。

不会。注册表设置特定于基于入站 TCP 的 DNS 响应数据包,并且一般不会全局影响系统对 TCP 消息的处理。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×