如何在 Windows 2000 中加固 TCP/IP 堆栈以抵御拒绝服务攻击

文章翻译 文章翻译
文章编号: 315669 - 查看本文应用于的产品
本文的发布号曾为 CHS315669
展开全部 | 关闭全部

本文内容

概要

拒绝服务攻击是一种网络攻击,其目的是使网络用户无法访问计算机或计算机中的某项服务。拒绝服务攻击很难防御。为了帮助您抵御拒绝服务攻击,可以使用下列一种或两种方法:
  • 使用最新的安全修复程序更新计算机。安全修复程序位于下面的 Microsoft 网站中:
    http://www.microsoft.com/china/security/default.mspx
  • 在基于 Windows 2000 的工作站和服务器上加固传输控制协议/Internet 协议 (TCP/IP) 协议堆栈。默认的 TCP/IP 堆栈配置能够处理正常的 Intranet 流量。如果将某台计算机直接连接到 Internet,则建议加固 TCP/IP 堆栈以抵御拒绝服务攻击。

加固 TCP/IP 堆栈的 TCP/IP 注册表值

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

以下列表说明了与 TCP/IP 相关的注册表值,您可以在直接连接到 Internet 的计算机上配置这些值,以加固 TCP/IP 堆栈。所有这些值均位于下面的注册表项下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
注意:除非特别指出,否则所有值均为十六进制。
  • 值名称:SynAttackProtect
    项:Tcpip\Parameters
    值类型:REG_DWORD
    有效范围:0,1,2
    默认值:0

    该注册表值可使传输控制协议 (TCP) 调整 SYN-ACKS 的重新传输。配置该值后,如果出现 SYN 攻击(拒绝服务攻击的一种),连接响应超时时间将更短。

    以下列表说明了可以在此注册表值中使用的参数:
    • 0(默认值):将 SynAttackProtect 设置为 0 可对 SYN 攻击提供一般防御。
    • 1:将 SynAttackProtect 设置为 1 可更有效地防御 SYN 攻击。该参数可使 TCP 调整 SYN-ACKS 的重新传输。将 SynAttackProtect 设置为 1 时,如果出现 SYN 攻击,连接响应的超时时间将更短。Windows 使用以下值确定是否存在攻击:
      • TcpMaxPortsExhausted
      • TCPMaxHalfOpen
      • TCPMaxHalfOpenRetried

    • 2:将 SynAttackProtect 设置为 2 可最有效地防御 SYN 攻击。该值为连接识别添加了额外的延迟,并且在出现 SYN 攻击时,使 TCP 连接请求的超时时间更短。该参数是推荐的设置。

      注意:当将 SynAttackProtect 值设置为 2 时,以下套接字选项在任何套接字上都不再起作用:
      • 可缩放窗口
      • 每个适配器上配置的 TCP 参数(包括初始 RTT 和窗口大小)
  • 值名称:EnableDeadGWDetect
    项:Tcpip\Parameters
    值类型:REG_DWORD
    有效范围:0,1(False,True)
    默认值:1 (True)

    以下列表说明了可以在此注册表值中使用的参数:
    • 1:将 EnableDeadGWDetect 设置为 1 时,将允许 TCP 执行失效网关检测。启用失效网关检测时,如果多个连接出现困难,TCP 可能会要求 Internet 协议 (IP) 切换到备份网关。备份网关定义在“网络控制面板”的 TCP/IP 配置对话框的高级部分中。
    • 0:建议您将 EnableDeadGWDetect 设置为 0。如果不将该值设置为 0,攻击可能会强制服务器切换网关,而切换到的网关不是您打算使用的网关。
  • 值名称:EnablePMTUDiscovery
    项:Tcpip\Parameters
    值类型:REG_DWORD
    有效范围:0,1(False,True)
    默认值:1 (True)

    以下列表说明了可以在此注册表值中使用的参数:
    • 1:将 EnablePMTUDiscovery 设置为 1 时,TCP 将尝试搜寻经由远程主机的路径传输的最大传输单位 (MTU) 或最大数据包大小。通过搜寻路径 MTU 并将 TCP 段限制到这一大小,TCP 可以减少路径中连接不同 MTU 网络的路由器上的碎片。碎片会对 TCP 的吞吐量产生不利影响。
    • 0:建议将 EnablePMTUDiscovery 设置为 0。如果这样做,576 字节的 MTU 将应用于本地子网中所有非主机的连接。如果不将该值设置为 0,攻击者可能会强制 MTU 值变得非常小,从而导致堆栈的负荷过大。

      重要说明:将 EnablePMTUDiscovery 设置为 0 会对 TCP/IP 性能和吞吐量产生消极影响。即使 Microsoft 建议使用此设置,也不应该使用此设置,除非您完全了解这一性能丢失。
  • 值名称:KeepAliveTime
    项:Tcpip\Parameters
    值类型:REG_DWORD - 时间(以毫秒为单位)
    有效范围:1 - 0xFFFFFFFF
    默认值:7,200,000(两个小时)

    该值控制 TCP 每隔多长时间发送一个“保持活动”的数据包,以尝试检查空闲连接是否仍处于空闲状态。如果仍能连接到远程计算机,该计算机就会对“保持活动”的数据包作出应答。默认情况下,不发送“保持活动”的数据包。可以使用程序在连接上配置该值。建议将该值设置为 300,000(5 分钟)。
  • 值名称:NoNameReleaseOnDemand
    项:Netbt\Parameters
    值类型:REG_DWORD
    有效范围:0,1(False,True)
    默认值:0 (False)

    该值确定计算机在收到名称释放请求时是否释放其 NetBIOS 名称。添加该值的目的是让管理员能够保护计算机免受恶意的名称释放攻击。建议将 NoNameReleaseOnDemand 值设置为 1 (默认值)。

    注意:必须在用 Windows 2000 Service Pack 2 (SP2) 或更高版本才能使用 NoNameReleaseOnDemand 值。

疑难解答

更改 TCP/IP 注册表值时,可能会影响在基于 Windows 2000 的计算机上运行的程序和服务。建议先在非生产所用的工作站及服务器上测试这些设置,以确认它们是否适合您的业务环境。






属性

文章编号: 315669 - 最后修改: 2006年2月20日 - 修订: 4.1
这篇文章中的信息适用于:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
关键字:?
kbhowtomaster KB315669
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