14-TCP攻击防御配置
本章节下载: 14-TCP攻击防御配置 (111.34 KB)
攻击者可以利用TCP连接的建立过程对设备进行攻击。为了避免上述攻击带来的危害,设备提供了以下功能:
· SYN Cookie功能
· 防止Naptha攻击功能
下面将详细介绍上述功能可以防止的攻击类型、工作原理,以及配置过程。
一般情况下,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连接时只协商最大报文段长度选项,而不协商窗口缩放因子和时间戳选项。
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秒 |
在任意视图下执行display tcp status命令可以显示所有TCP连接的状态,用户可以通过显示信息随时监控TCP连接。
表1-3 TCP攻击防御显示和维护
操作 |
命令 |
显示所有TCP连接的状态 |
display tcp status [ | { begin | exclude | include } regular-expression ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!