国家 / 地区

10-安全配置指导

22-TCP攻击防御配置

本章节下载  (129.69 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR6600/Configure/Operation_Manual/H3C_SR6600_CG-R3103(V1.18)/10/201307/791214_30005_0.htm

22-TCP攻击防御配置


1 TCP攻击防御

1.1  TCP攻击防御简介

攻击者可以利用TCP连接的建立过程对设备进行攻击。为了避免上述攻击带来的危害,设备提供了以下功能:

·              SYN Cookie功能

·              防止Naptha攻击功能

下面将详细介绍上述功能可以防止的攻击类型、工作原理,以及配置过程。

1.2  配置SYN Cookie功能

一般情况下,TCP连接的建立需要经过三次握手,即:

(1)      TCP连接请求的发起者向目标服务器发送SYN报文;

(2)      目标服务器收到SYN报文后,建立处于SYN_RECEIVED状态的TCP半连接,并向发起者回复SYN ACK报文,等待发起者的回应;

(3)      发起者收到SYN ACK报文后,回应ACK报文,这样TCP连接就建立起来了。

利用TCP连接的建立过程,一些恶意的攻击者可以进行SYN Flood攻击。攻击者向服务器发送大量请求建立TCP连接的SYN报文,而不回应服务器的SYN ACK报文,导致服务器上建立了大量的TCP半连接。从而,达到耗费服务器资源,使服务器无法处理正常业务的目的。

SYN Cookie功能用来防止SYN Flood攻击。当服务器收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文。服务器接收到发起者回应的ACK报文后,才建立连接,并进入ESTABLISHED状态。通过这种方式,可以避免在服务器上建立大量的TCP半连接,防止服务器受到SYN Flood攻击。

表1-1 配置SYN Cookie功能

操作

命令

说明

进入系统视图

system-view

-

使能SYN Cookie功能

tcp syn-cookie enable

必选

缺省情况下,SYN Cookie功能处于使能状态

 

说明

·       如果启用了在建立TCP连接时进行MD5认证的功能,则SYN Cookie功能不会生效。取消在建立TCP连接时进行MD5认证功能后,之前配置的SYN Cookie功能会自动生效。关于在建立TCP连接时进行MD5认证功能的介绍,请参见“三层技术-IP路由配置指导”中“BGP”手册中“配置BGP建立TCP连接时进行MD5认证”章节的内容。

·       使能SYN Cookie功能后,建立TCP连接时只协商最大报文段长度选项,而不协商窗口缩放因子和时间戳选项。

 

1.3  配置防止Naptha攻击功能

Naptha攻击类似于SYN Flood攻击,所不同的是Naptha攻击可利用TCP连接的CLOSING、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、LAST_ACK和SYN_RECEIVED六种状态来达到攻击目的,而SYN Flood只是利用SYN_RECEIVED状态。

Naptha攻击通过控制大量主机与服务器建立TCP连接,并使这些连接处于同一种状态(上述六种状态中的一种),而不请求任何数据,从而达到消耗服务器的内存资源,导致服务器无法处理正常业务的目的。

防止Naptha攻击功能通过加速TCP状态的老化,来降低服务器遭受Naptha攻击的风险。使能防止Naptha攻击功能后,设备周期性地检测处于上述六种状态的TCP连接数(设备只记录其作为TCP服务器的TCP连接数)。如果检测到某个状态的TCP连接数目超过设定的最大连接数,则认为设备受到Naptha攻击,就会加速该状态下TCP连接的老化。当该状态下的TCP连接数低于最大连接数的80%(最小值为1),则取消该状态下TCP连接的加速老化。

表1-2 配置防止Naptha攻击功能

操作

命令

说明

进入系统视图

system-view

-

使能防止Naptha攻击功能

tcp anti-naptha enable

必选

缺省情况下,防止Naptha攻击功能处于关闭状态

配置某一状态下的最大TCP连接数

tcp state { closing | established | fin-wait-1 | fin-wait-2 | last-ack | syn-received } connection-number number

可选

缺省情况下,六种TCP状态下的最大连接数均为5

如果TCP状态下的最大连接数为0,则表示不会加速该状态的老化

配置TCP连接状态的轮询检测时间间隔

tcp timer check-state timer-value

可选

缺省情况下,TCP状态轮询检测的时间间隔为30秒

 

1.4  TCP攻击防御显示和维护

在任意视图下执行display tcp status命令可以显示所有TCP连接的状态,用户可以通过显示信息随时监控TCP连接。

表1-3 TCP攻击防御显示和维护

操作

命令

显示所有TCP连接的状态

display tcp status [ | { begin | exclude | include } regular-expression ]

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!