Internet 服务器不可用,因为恶意的 SYN 攻击的

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

本文内容

症状

在计算机上正在运行 TCP/IP 协议和连接到 Internet、 呈现某些或所有网络服务不可用,和网络客户端屏幕上出现的错误消息如下所示:
连接已被重置,远程主机。
运行非 Windows NT 例如对于 UNIX 的操作系统的计算机上,也可能会出现此症状的所有网络服务正在呈现不可用。

原因

出现此问题,当计算机已经成为目标的恶意攻击,称为 TCP/IP"SYN 泛滥"或"SYN 攻击。

恶意用户可以指定一个整个的计算机或 $ 一个特定的 TCP 服务,如 web 服务的目标。 攻击的重点是由 Internet 上的所有计算机使用 TCP 协议,并不是特定于 Windows NT 操作系统。

SYN 泛滥的工作原理

SYN 泛滥工作方式如下:
  • 到目标计算机发送一个 TCP 连接请求 (SYN)。源 IP 地址在数据包中的"欺骗"或替换的不是在 Internet 上, 使用或另一台计算机所属的地址。攻击者将发送这些 TCP SYNs 占用在目标计算机上尽可能多的资源的很多。
  • 收到连接请求在目标计算机分配的资源来处理和跟踪新的连接,然后用一个"SYN-ACK"进行响应。在这种情况下发送响应"欺骗"不存在 IP 地址。
  • 没有收到响应 SYN-ACK.到A 默认配置 Windows NT 3.5 x 或 4.0 的计算机将重新传输遭 SYN-ACK 5 时间加倍后每次重新传输的超时值。初始超时值,以便在 3、 6、 12、 24,在尝试重试次数的三秒钟 48 秒。在最后一个重新传输后 96 秒允许通过计算机上收到一个响应放弃并解除分配资源的设置之前留出更早版本的连接。在总时间,并在资源正在使用的是 189 秒。

如何验证您的计算机是否受到 SYN 攻击

如果您怀疑您的计算机是 SYN 攻击的目标,您可以查看在"SYN_RECEIVED"状态的连接的命令提示符下键入以下命令:
netstat-n-p tcp
此命令可能会导致您屏幕上显示以下文本:
活动连接
      Proto  Local Address         Foreign Address       State
      TCP    127.0.0.1:1030        127.0.0.1:1032        ESTABLISHED
      TCP    127.0.0.1:1032        127.0.0.1:1030        ESTABLISHED
      TCP    10.57.8.190:21        10.57.14.154:1256     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1257     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1258     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1259     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1260     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1261     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1262     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1263     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1264     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1265     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1266     SYN_RECEIVED
      TCP    10.57.8.190:4801      10.57.14.221:139      TIME_WAIT
				
如果在 SYN_RECEIVED 状态大量的连接可能是系统受攻击。网络分析器可用于跟踪问题进一步,并可能需要与您的 Internet 服务提供商联系以寻求帮助,在尝试跟踪源。

各不相同的阻碍连接资源效果,根据 TCP/IP 堆栈和 TCP 端口上侦听的应用程序。对于大多数的堆栈没有处于半打开状态 (SYN_RECEIVED) 状态的连接数限制。一旦达到限制时为给定的 TCP 端口,目标计算机响应重置所有进一步的连接请求直至释放资源。

解决方案

获取为 Windows NT 3.51 或在最新服务包的 Windows NT 4.0 以下更新

Microsoft 致力于提供最佳的可能保护 Windows NT 操作系统中的这些攻击和对所做的更改的数量及其 TCP/IP 组件可用于以响应此威胁的客户。

此全局键已设计为防止受到攻击,并设置其他更高版本为已知有效的值文章中提到的密钥。此项可避免遇到有关哪些值提供了大多数保护的管理员猜测。强烈建议使用下面的全局项:

SynAttackProtect
密钥: Tcpip\Parameters
值类型: REG_DWORD
有效范围: 0、 1、 2
0 (没有 synattack 保护)
1 (减少重新传输重试和延迟 RCE (路由高速缓存项) 创建,如果满足 TcpMaxHalfOpen 和 TcpMaxHalfOpenRetried 设置)。
2 (除了 1 由一个延迟的 Winsock 指示)。

: 可以不再启用时系统找到本身在受到攻击任何套接字中的下列选项: sScalable 窗口 (RFC 1323),并且每个适配器配置 TCP 参数 (初始 RTT,窗口大小)。这是因为当保护工作路由高速缓存项不查询之前发送该 SYN-ACK,并且在连接的此阶段 Winsock 选项将不可用。

默认值: 0 (false)
建议: 2
描述: Synattack 保护涉及减少的重新传输的该 SYN-确认这将降低保持分配具有资源的时间量。路由高速缓存项资源的分配将延迟到在建立连接。如果 synattackprotect = 2,然后上 AFD 指示连接已延迟,直到完成三向握手。此外请注意采取保护机制的该操作仅发生是否超过了 TcpMaxHalfOpen 和 TcpMaxHalfOpenRetried 设置。

: 如果上面的全局项已证明是效率低下或特定的资源限制被被命中,只应更改的下列项。

这里列出了所做的更改:
*******************************************************************
*  1. Tcpip.sys times out half-open connections faster            *
*******************************************************************
				
Tcpip.sys 的一个新版本已被生成,允许的 TCP 连接的响应请求 (SYN ACK) 的次数的控件将会重新传送。控件处理通过新的注册表参数:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \Tcpip
      \Parameters
       \TcpMaxConnectResponseRetransmissions
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 2
				
此参数的默认值现在为 3。下表显示了此参数的各种值的 Windows NT 4.0 TCP/IP 行为:
Value  Retransmission Times  Elapsed Time  Comments
3      3, 6, and 12 seconds  45 seconds    Cleanup 24 secs after last retx
2      3, and 6 seconds      21 seconds    Cleanup 12 secs after last retx
1      3 seconds             9  seconds    Cleanup 6  secs after last retx
				
此参数更改默认的时间,它采用清理半打开的 TCP 连接从 189 秒到 45 的秒,并向管理员提供更精确地控制。在繁重受到攻击的网站上可能设置值最低为"1"。"0"的值也是有效 ; 但是如果该参数设置为 0,SYN 确认,将不会重新传送根本,并且将在 3 秒的超时时间。使用此盘低值从远程客户端的合法连接尝试可能会失败。
*******************************************************************
*  2. NetBT has a Higher, Configurable Backlog                    *
*******************************************************************
				
NetBT (通过 TCP/IP 的 NetBIOS) 使用 TCP 端口 139 和由 Microsoft 网络服务使用诸如文件和打印共享。版本 3.51 和 4.0 NetBT 有连接的"待办的事项"可用的是两个加一个递增的数字,具体取决于 NetBT 客户端 (如重定向程序、 服务器,和运行任何 NetBIOS 应用程序) 的块。在典型的服务器上此编号将是 7-11。NetBT 的新版本已被生成自动为其分配更多的连接块,如以可配置的方式所需的。

上一个连接事件它现在可以检查以查看是否空闲块的数量低于 2,如果是这样,添加了一个"递增"块数目,其中"递增"是可配置在注册表中如下所示:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \NetBt
      \Parameters
       \BacklogIncrement
           Value Type: REG_DWORD
           Valid Range: 1-0x14  (1-20 decimal)
           Default: 3
				
每个连接块消耗 78 字节的内存。可以通过 NetBT 分配连接块的总数也是可配置的注册表:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \NetBt
      \Parameters
       \MaxConnBackLog
           Value Type: REG_DWORD
           Valid Range: 1-0x9c40 (1-40,000 decimal)
           Default: 1000
				
MaxConnBackLog 默认为 1000,但可以设为 40,000 为高。连接块是"清理"或循环使用时,SYN-ACK 重新传输计时器已过期,TCP 失败连接尝试。
*******************************************************************
*  3. Afd.sys has been modified to withstand large numbers of     *
*     "half-open" connections efficiently                         *
*******************************************************************
				
Windows 套接字应用程序 (如 ftp 服务器和 web 服务器已处理的 Afd.sys 他们连接尝试。Afd.sys 已经过修改以半的打开状态支持大量连接,而不拒绝合法客户端的访问。通过允许管理员配置动态待办事项完成该操作。

新版本的 Afd.sys 支持可用于控制动态待办事项行为的四个新的注册表参数。

EnableDynamicBacklog 是一个全局开关启用或禁用动态待办事项。其默认值为 0 (关闭),此设置提供了从现有的版本没有更改。设置为 1 将启用新的动态待办事项功能。
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \EnableDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0,1
           Default: 0
           Suggested value for a system under heavy attack: 1
				
MinimumDynamicBacklog 控制侦听终结点上允许的自由连接的最小数量。如果自由连接数低于此值,然后线程排队以创建其他自由连接。此值不应太大时动态待办事项代码雇佣每当自由连接数低于此值。太大一个值,可能会导致性能降低。
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \MinimumDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: 20
				
MaximumDynamicBacklog 控制侦听终结点上所允许的"quasi-free"连接的最大数量。"quasi-free"的连接处于半-连接 (SYN_RECEIVED) 状态包括可用连接以及这些连接的数。不尝试创建其他自由连接,如果这样做将超过此值。
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \MaximumDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: Memory
           dependent. We recommend that this value does not exceed 20000 (decimal). This prevents exhaustion of the non-paged pool when under attack. 
				
DynamicBacklogGrowthDelta 控制其他连接必要时创建的自由连接数。爆炸式的可用连接分配一个较大的值可能会导致为用此的值一定要小心
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \DynamicBacklogGrowthDelta
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: 10 (0xa)
				
MaximumDynamicBacklog,
若要利用所做的更改的 Afd.sys,Windows 套接字应用程序必须专门请求大于值配置为 MinimumDynamicBacklog,当它们调用其 listen() 待办事项。Microsoft 应用程序 (如 Internet 信息服务器 (其中有一个 25 默认待办事项) 都是可配置的。特定于应用程序的详细信息,请访问在从 Microsoft 知识库:
http://support.microsoft.com
Microsoft 的支持渠道或从下面的 Internet 位置提供了 Windows NT 3.51 的修改后的驱动程序和安装它们的说明:
ftp://ftp.microsoft.com/bussys/winnt /winnt-public/fixes/usa/nt351/hotfixes-postsp5/syn-attack

状态

Windows 4.0 NT

已将最新 Microsoft Windows NT 美国服务包的 Windows NT 4.0 中更正此问题。有关获取服务包查询以下 Microsoft 知识库中相应单词:
SERVPACK

Windows 3.51 NT

Microsoft 已经确认此问题可能会导致一定程度的 Windows NT 3.51 的版本中的安全漏洞。完全支持的修补程序现,但它尚未完全回归测试,只应将其应用于系统确定存在攻击的风险。请评估您的系统的物理可访问性、 网络和 Internet 连接以及其他因素,以便确定您的系统的风险的程度。如果您的系统的风险程度较高,Microsoft 建议您应用此修复程序。否则,等待下一个的 Windows NT 服务包,将包含此修复程序。请有关详细信息,与 Microsoft 技术支持联系。

更多信息

添加这些注册表更改可能会有负面影响 Microsoft Exchange 群集上。

Microsoft Exchange 群集 (Exres.dll) 经常启动测试可用性的 SMTP、 IMAP、 POP3 和 HTTP 端口连接。该测试是类似于 telnet 会话到端口 25、 143、 110 或 80。

是否成功测试群集知道该服务对用户可用,并将它们标记为"轮询"。如果测试不成功,群集管理器将标记为脱机在群集管理资源,并在应用程序日志中记录一个事件。该事件是:

事件类型: 错误
事件源: MSExchangeCluster
事件类别: 服务
事件 ID: 2074年
日期: date
时间: time
用户: 不适用
计算机: computer name
描述: SMTP 虚拟服务器实例-(125-VS2-NAME): 群集服务无法在 isalive 检查为该资源。

属性

文章编号: 142641 - 最后修改: 2007年2月20日 - 修订: 5.3
这篇文章中的信息适用于:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
关键字:?
kbmt kbnetwork KB142641 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 142641
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