• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

07 安全配置指导

目录

12-TCP攻击防御配置

本章节下载 12-TCP攻击防御配置  (128.71 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S3100/S3110/Configure/Operation_Manual/H3C_S3110_CG-6W104/07/201810/1118869_30005_0.htm

12-TCP攻击防御配置


1 TCP攻击防御配置

1.1  TCP攻击防御简介

攻击者可以利用TCP连接的建立过程和TCP报文的交互过程对设备进行攻击。为了避免上述攻击带来的危害,设备提供了SYN Cookie功能和TCP分片攻击防范功能。

下面将详细介绍TCP攻击防御的工作原理,以及配置过程。

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功能处于使能状态

 

说明

使能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分片攻击防范功能

设备的包过滤功能一般是通过判断TCP首个分片中的五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议号)信息来决定后续TCP分片是否允许通过。RFC1858对TCP分片报文进行了规定,认为TCP分片报文中,首片报文中TCP报文长度小于20字节,或后续分片报文中分片偏移量等于8字节的报文为TCP分片攻击报文。这类报文可以成功绕过上述包过滤功能,对设备造成攻击。

例如攻击者可构造极小的TCP首个分片报文,将TCP报文头(通常为20字节)分布在2个分片中,这样一来,构造报文中的非法TCP标记位将包含在第二个分片中,从而逃过包过滤系统的检查,对设备造成攻击。同样,攻击者通过构造片偏移量等于8字节的TCP分片报文,也可以绕过包过滤系统,而当这些TCP分片在目的主机上进行报文重组时,携带非法TCP标记位的报文将替换TCP首片中的合法标记位,对设备造成攻击。

为防止这类攻击,可以在设备上配置TCP分片攻击报文丢弃功能,对不符合要求的TCP分片进行丢弃。

表1-3 配置TCP分片攻击防范

操作

命令

说明

进入系统视图

system-view

-

配置TCP分片攻击防范功能

attack-defense tcp fragment enable

缺省情况下,TCP分片攻击防范功能处于开启状态

 

1.5  TCP攻击防御显示和维护

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

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

操作

命令

显示所有TCP连接的状态

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

 

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

新华三官网
联系我们