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

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

本文内容

概要

拒绝服务 (DoS) 攻击是一种网络攻击,其目的是使网络用户无法访问计算机或计算机中的某项服务。拒绝服务攻击很难防御。为了帮助您抵御拒绝服务的攻击,可以使用下列一种或两种方法:
  • 使用最新的安全修补程序更新计算机。安全修补程序位于下面的 Microsoft 网站中:
    http://www.microsoft.com/china/security/default.mspx
  • 加固 Windows Server 2003 计算机上的 TCP/IP 协议堆栈。默认的 TCP/IP 堆栈配置能够处理正常的 Intranet 通信量。如果将计算机直接连接到 Internet,Microsoft 建议您加固 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
    默认值:0

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

    下列参数可与该注册表值一起使用:
    • 0(默认值):无 SYN 攻击防护
    • 1:将 SynAttackProtect 设置为 1 可更有效地抵御 SYN 攻击。该参数可使 TCP 调整 SYN-ACKS 的重新传输。将 SynAttackProtect 设置为 1 时,如果系统检测到存在 SYN 攻击,连接响应的超时时间将更短。Windows 使用以下值确定是否存在攻击:
      • TcpMaxPortsExhausted
      • TCPMaxHalfOpen
      • TCPMaxHalfOpenRetried

    注意:在 Windows Server 2003 Service Pack 1 中,SynAttackProtect 注册表项的默认值为 1。
  • 数值名称:EnableDeadGWDetect
    项:Tcpip\Parameters
    数值类型:REG_DWORD
    有效范围:0,1(False,True)
    默认值:1(True)

    下表说明了可以在该注册表值中使用的参数:
    • 1:将 EnableDeadGWDetect 设置为 1 时,将允许 TCP 执行失效网关检测。启用失效网关检测时,如果多个连接出现困难,TCP 可能会要求 Internet 协议 (IP) 切换到备份网关。可以在“TCP/IP 配置”对话框(“控制面板”中的“网络”工具中)的“高级”部分中定义备份网关。
    • 0:Microsoft 建议您将 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:Microsoft 建议将 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 名称。添加该值的目的是让管理员能够保护计算机免受恶意的名称释放攻击。Microsoft 建议您将 NoNameReleaseOnDemand 值设置为 1

疑难解答

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

属性

文章编号: 324270 - 最后修改: 2011年1月5日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
关键字:?
kbhowtomaster KB324270
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