如何防止 DNS 缓存污染

文章翻译 文章翻译
文章编号: 241352 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

在遇到域名系统 (DNS)“欺骗”时,可能会出现 DNS 缓存污染。术语“欺骗”指的是在响应 DNS 查询时发送不安全的数据。该数据可能用于将查询重定向到一个恶意 DNS 服务器,也可能本身就是恶意的。

注意:如果 DNS 服务器已配置为将解析请求转发给另一个服务器,且建立了父子关系,那么在父 DNS 服务器受到 DNS 缓存污染攻击而又未执行 DNS 缓存污染保护的情况下,该子 DNS 服务器也可能会受到攻击。默认情况下,使用 Windows 2000 Service Pack 3 或更高版本而且在父子关系中用作父服务器的 Microsoft DNS 服务器将能够充分执行缓存污染保护。因此,要确保组织中的所有 DNS 服务器都已启用了 DNS 缓存污染保护。

更多信息

重要说明 本部分(或称方法或任务)包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表

Windows NT 4.0

使用 Windows NT 4.0 Service Pack 4 (SP4) 或更高版本,基于 Windows NT 的 DNS 服务器可以过滤掉非安全记录的响应。

要启用此功能,请执行以下操作:
  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 在注册表中找到以下项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters
  3. 在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:
    值名称:SecureResponses
    数据类型:REG_DWORD
    :1(以消除非安全数据)
  4. 退出注册表编辑器。
默认情况下,此项不存在,而且不安全的数据不会从响应中消除。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
198409 Microsoft DNS 服务器注册表参数,第 2 部分(共 3 部分)

Windows 2000

基于 Windows 2000 的 DNS 服务器可以过滤掉非安全记录的响应。

要启用此功能,请:
  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 在注册表中找到以下项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters
  3. 在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:
    值名称:SecureResponses
    数据类型:REG_DWORD
    :1(以消除非安全数据)
  4. 退出注册表编辑器。
默认情况下,在 Windows 2000 Service Pack 1 (SP1) 和 Windows 2000 Service Pack 2 (SP2) 上,此项不存在,而且不安全的数据不会从响应中消除。然而在 Windows 2000 SP3 和更高版本中,DNS 缓存污染保护默认情况下是启用的,该注册表项不存在,也不需要存在。创建此注册表项的唯一原因是为了禁用 DNS 缓存污染保护。 有关 DNS 缓存污染保护的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
316786 DNS 服务器安全缓存污染防范设置的描述


注意:在 Windows 2000 上,您可以在 GUI 中执行同样的设置项。可通过下列步骤做到这一点:
  1. 打开 DNS 管理控制台,方法是依次单击开始程序管理工具,然后单击 DNS
  2. 在左窗格中,右键单击服务器的名称。
  3. 选择“属性”。
  4. 选择“高级”选项卡。
  5. 选中“保护缓存防止污染”复选框。

Windows 2003

在 Microsoft Windows 200 中,DNS 缓存污染保护默认启用。

可以使用下列步骤查看 DNS 缓存污染设置:
  1. 打开 DNS 管理控制台,方法是依次单击开始程序管理工具,然后单击 DNS
  2. 在左窗格中,右键单击服务器的名称。
  3. 选择“属性”。
  4. 选择“高级”选项卡。
  5. 确认选中了“保护缓存防止污染”复选框。
注意:在 Windows 2003 DNS 中,该注册表项不存在,但是此设置默认情况下在 GUI 中是启用的。您还可以通过在命令提示符下运行以下命令来检查当前设置:Dnscmd /Info /SecureResponses
注意:本篇“快速发布”文章是从 Microsoft 支持组织直接创建的。 文中包含的信息按原样提供,用于响应紧急问题。 由于发布仓促,材料可能包含印刷错误,并且可能随时修订,恕不另行通知。 有关其他注意事项,请参阅使用条款

属性

文章编号: 241352 - 最后修改: 2013年7月30日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
关键字:?
kbenv kbinfo KB241352
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com