文/沈博文
SYN FLOOD攻击作为最经典、最高效的 DoS(Denial of Service,拒绝服务供给) 攻击方法,通过向目标设备发送大量伪造源 IP 和源端口的TCP SYN报文,导致目标设备的缓存资源被耗尽或者忙于回应攻击报文而无法正常提供服务。
H3C防火墙默认未开启Flood防范功能,一般来讲,我们可以通过查看会话统计信息判断网络中是否存在SYN FLOOD攻击。通过使用如下的会话统计命令:
<h3c>display session statistics
Current session(s): 1469978
Current TCP session(s): 1463206
Half-Open: 1433553 Half-Close: 2482
Current UDP session(s): 6488
Current ICMP session(s): 267
Current RAWIP session(s): 17
我们发现Half-Open类型的会话占到总会话数的97.5%,并且并发会话数量巨大,此类会话为TCP半开连接会话,即为TCP三次握手未建立前的会话。这一般说明防火墙接收到了大量的TCP SYN报文,正常网络情况下,防火墙的会话应该多数停留在TCP Established状态,因此基本判定网络中存在SYN FLOOD攻击。
为了防范SYN FLOOD攻击问题,需要在H3C防火墙上开启SYN FLOOD防攻击功能。H3C防火墙具备智能的SYN Flood防范功能,可以通过设定报文阈值和开启TCP Proxy两种方式来防范SYN Flood攻击。首先来看,基于报文阈值的SYN Flood配置方式。假设有一台被攻击主机192.168.1.1部署在Trust区域,我们接下来为其配置SYN Flood攻击保护。进入防火墙的“攻击防范 > 流量异常检测 > SYN Flood”配置页面,将“安全区域”配置为被攻击主机所在的区域,“攻击防范策略”配置为发现攻击丢包,并且针对Trust区域的主机192.168.1.1进行防护,一旦触发阈值,攻击防范策略会立即生效,丢弃攻击报文:
接下来我们说明基于TCP Proxy的SYN Flood防范配置方式,进入防火墙的“攻击防范 > 流量异常检测 > SYN Flood”配置页面,选择“攻击防范策略“为向TCP Proxy添加受保护IP地址,一旦触发阈值,被攻击主机地址将被动态添加到TCP Proxy的受保护地址列表内:
进入到防火墙的“攻击防范 > TCP Proxy > TCP Proxy配置”页面,配置TCP Proxy,安全区域配置为攻击来源所在的区域:
如果不能明确被攻击的目的地址,可以配置基于安全区域的触发阈值: