IDC监控系统安装说明
  服务器相关
  性能优化
  疑难问题
  相关工具下载
 
 
 
 

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

 

 

2000中加固

加固 TCP/IP 协议栈的 TCP/IP 注册表值
警告:“注册表编辑器”使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为“注册表编辑器”使用不当而产生的问题。使用“注册表编辑器”需要您自担风险。

有关如何编辑注册表的信息,请查看注册表编辑器 (Regedit.exe) 中的“改变项和值”帮助主题,或 Regedt32.exe 中的“添加和删除注册表中的信息”和“编辑注册表数据”帮助主题。注意,编辑注册表之前,应当先备份注册表。如果您运行的是 Windows NT 或 Windows 2000,还应该更新“紧急修复磁盘 (ERD)”。

下面列出与 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 攻击提供一般防御。
将 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 协议切换到备份网关。您可在“网络控制面板”中 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 值变得非常小,从而导致栈的负荷过大。
值名称: KeepAliveTime
注册表项: Tcpip\Parameters
值类型:REG_DWORD(以毫秒计)
有效范围:1-0xFFFFFFFF
默认:7,200,000(2 小时)

该值控制 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 值。

 

2003中加固

加固 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(默认值):将 SynAttackProtect 设置为 0 可对 SYN 攻击提供一般防御。
1:将 SynAttackProtect 设置为 1 可更有效地防御 SYN 攻击。该参数可使 TCP 调整 SYN-ACKS 的重新传输。将 SynAttackProtect 设置为 1 时,如果系统检测到存在 SYN 攻击,连接响应的超时时间将更短。Windows 使用以下值确定是否存在攻击:
TcpMaxPortsExhausted
TCPMaxHalfOpen
TCPMaxHalfOpenRetried


数值名称: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 值变得非常小,从而导致堆栈的负荷过大。
数值名称: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。
 

 
 
经营许可证:
粤B2-20030273