8攻击防范配置关于本章
攻击防范是一种重要的网络安全特性。通过配置攻击防范功能,设备能够检测出多种
类型的网络攻击,并能采取相应的措施保护设备自身及其所连接的内部网络免受恶意
攻击,保证内部网络及设备的正常运行。
8.1 攻击防范简介
介绍攻击防范的定义和作用。
8.2 攻击防范原理描述
介绍攻击防范的实现原理。
8.3 攻击防范应用场景
介绍攻击防范的应用场景。
8.4 攻击防范配置注意事项
介绍配置攻击防范的注意事项。
8.5 攻击防范缺省配置
介绍了攻击防范的缺省配置。
8.6 配置畸形报文攻击防范
畸形报文攻击防范主要防止没有IP载荷的泛洪攻击、IGMP空报文攻击、LAND攻击、
Smurf攻击和TCP标志位非法攻击。
8.7 配置分片报文攻击防范
分片报文攻击主要包括分片数量巨大攻击、巨大offset攻击、重复分片攻击、Tear Drop
攻击、Syndrop攻击、NewTear攻击、Bonk攻击、Nesta攻击、Rose攻击、Fawx攻击、
Ping of Death攻击和Jolt攻击。
8.8 配置泛洪攻击防范
泛洪攻击防范主要防止TCP Syn泛洪攻击、UDP泛洪攻击和ICMP泛洪攻击。
8.9 清除攻击防范统计信息
8.10 攻击防范配置举例
介绍攻击防范的配置举例。配置示例中包括组网图需求、配置思路、操作步骤等。
8.1 攻击防范简介
介绍攻击防范的定义和作用。
定义
攻击防范是一种重要的网络安全特性。它通过分析上送CPU处理的报文的内容和行
为,判断报文是否具有攻击特性,并配置对具有攻击特性的报文执行一定的防范措
施。
攻击防范主要分为畸形报文攻击防范、分片报文攻击防范和泛洪攻击防范。
目的
目前,网络的攻击日益增多,而通信协议本身的缺陷以及网络部署问题,导致网络攻
击造成的影响越来越大。特别是对网络设备的攻击,将会导致设备或者网络瘫痪等严
重后果。
攻击防范针对上送CPU的不同类型攻击报文,采用丢弃或者限速的手段,以保障设备
不受攻击的影响,使业务正常运行。
8.2 攻击防范原理描述
介绍攻击防范的实现原理。
8.2.1 畸形报文攻击防范
畸形报文攻击是通过向目标设备发送有缺陷的IP报文,使得目标设备在处理这样的IP报
文时出错和崩溃,给目标设备带来损失。畸形报文攻击防范是指设备实时检测出畸形
报文并予以丢弃,实现对本设备的保护。
畸形报文攻击主要分为以下几类:
没有IP载荷的泛洪
如果IP报文只有20字节的IP报文头,没有数据部分,就认为是没有IP载荷的报文。攻击
者经常构造只有IP头部,没有携带任何高层数据的IP报文,目标设备在处理这些没有IP
载荷的报文时会出错和崩溃,给设备带来损失。
启用畸形报文攻击防范后,设备在接收到没有载荷的IP报文时,直接将其丢弃。IGMP空报文
IGMP报文是20字节的IP头加上8字节的IGMP报文体,总长度小于28字节的IGMP报文
称为IGMP空报文。设备在处理IGMP空报文时会出错和崩溃,给目标设备带来损失。
启用畸形报文攻击防范后,设备在接收到IGMP空报文时,直接将其丢弃。
LAND攻击
LAND攻击是攻击者利用TCP连接三次握手机制中的缺陷,向目标主机发送一个源地址
和目的地址均为目标主机、源端口和目的端口相同的SYN报文,目标主机接收到该报
文后,将创建一个源地址和目的地址均为自己的TCP空连接,直至连接超时。在这种
攻击方式下,目标主机将会创建大量无用的TCP空连接,耗费大量资源,直至设备瘫
痪。
启用畸形报文攻击防范后,设备采用检测TCP SYN报文的源地址和目的地址的方法来
避免LAND攻击。如果TCP SYN报文中的源地址和目的地址一致,则认为是畸形报文
攻击,丢弃该报文。
Smurf攻击
Smurf攻击是指攻击者向目标网络发送源地址为目标主机地址、目的地址为目标网络广
播地址的ICMP请求报文,目标网络中的所有主机接收到该报文后,都会向目标主机发
送ICMP响应报文,导致目标主机收到过多报文而消耗大量资源,甚至导致设备瘫痪或
网络阻塞。
启用畸形报文攻击防范后,设备通过检测ICMP请求报文的目标地址是否是广播地址或
子网广播地址来避免Smurf攻击。如果检测到此类报文,直接将其丢弃。
TCP标志位非法攻击
TCP报文包含6个标志位:URG、ACK、PSH、RST、SYN、FIN,不同的系统对这些
标志位组合的应答是不同的:
l6个标志位全部为1,就是圣诞树攻击。设备在受到圣诞树攻击时,会造成系统崩溃。
l SYN和FIN同时为1,如果端口是关闭的,会使接收方应答一个RST | ACK消息;如果端口是打开的,会使接收方应答一个SYN | ACK消息,这可用于主机探测(主机
在线或者下线)和端口探测(端口打开或者关闭)。
l6个标志位全部为0,如果端口是关闭的,会使接收方应答一个RST | ACK消息,这可以用于探测主机;如果端口是开放的,Linux和UNIX系统不会应答,而Windows
系统将回答RST | ACK消息,这可以探测操作系统类型(Windows系统,Linux和
UNIX系统等)。
启用畸形报文攻击防范后,设备采用检查TCP的各个标志位避免TCP标志位非法攻击,
如果符合下面条件之一,则将该TCP报文丢弃:
l6个标志位全部为1;
l SYN和FIN位同时为1;
l6个标志位全部为0。
8.2.2 分片报文攻击防范
分片报文攻击是通过向目标设备发送分片出错的报文,使得目标设备在处理分片错误
的报文时崩溃、重启或消耗大量的CPU资源,给目标设备带来损失。分片报文攻击防
范是指设备实时检测出分片报文并予以丢弃或者限速处理,实现对本设备的保护。
分片报文攻击主要分为以下几类:
分片数量巨大攻击
IP报文中的偏移量是以8字节为单位的。正常情况下,IP报文的头部有20个字节,IP报
文的最大载荷为65515。对这些数据进行分片,分片个数最大可以达到8189片,对于超
过8189的分片报文,设备在重组这些分片报文时会消耗大量的CPU资源。
启用分片报文攻击防范后,针对分片数量巨大攻击,如果同一报文的分片数目超过
8189个,则设备认为是恶意报文,丢弃该报文的所有分片。
巨大Offset攻击
攻击者向目标设备发送一个Offset值超大的分片报文,从而导致目标设备分配巨大的内
存空间来存放所有分片报文,消耗大量资源。
Offset字段的最大取值为65528,但是在正常情况下,Offset值不会超过8190(如果
offset=8189*8,IP头部长度为20,最后一片报文最多只有3个字节IP载荷,所以正常
Offset的最大值是8189),所以如果Offset值超过8190,则这种报文即为恶意攻击报
文,设备直接丢弃。
启用分片报文攻击防范后,设备在收到分片报文时判断Offset*8是否大于65528,如果
大于就当作恶意分片报文直接丢弃。
重复分片攻击
重复分片攻击就是把同样的分片报文多次向目标主机发送,存在两种情况:
l多次发送的分片完全相同,这样会造成目标主机的CPU和内存使用不正常;
l多次发送的分片报文不相同,但Offset相同,目标主机就会处于无法处理的状态:哪一个分片应该保留,哪一个分片应该丢弃,还是都丢弃。这样就会造成目标主
机的CPU和内存使用不正常。
华为linux和windows的区别启用分片报文攻击防范后,对于重复分片类报文的攻击,设备实现对分片报文进行
CAR(Committed Access Rate)限速,保留首片,丢弃其余所有相同的重复分片,保证
不对CPU造成攻击。
Tear Drop攻击
Tear Drop攻击是最著名的IP分片攻击,原理是IP分片错误,第二片包含在第一片之
中。即数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的
Data,也未超过第一片的尾部。
如图8-1所示:
l第一个分片IP载荷为36字节,总长度为56字节,protocol为UDP,UDP检验和为0(没有检验);
l第二片IP载荷为4字节,总长度为24字节,protocol为UDP,Offset=24(错误,正确应该为36)。
图8-1 Tear Drop攻击分片示意图
Seq
Tear Drop攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于Tear Drop攻
击,设备会直接丢弃所有分片报文。
Syndrop攻击
Syndrop攻击原理和Tear Drop原理一致,区别在于Syndrop攻击使用了TCP协议,Flag为
SYN,而且带有载荷。
如图8-2所示:
l第一片IP载荷为28字节,IP头部20字节;
l第二片IP载荷为4字节,IP头部20字节,Offset=24(错误,正确应该是28)。
图8-2 Syndrop攻击分片示意图
Seq
Syndrop攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于Syndrop攻击,设
备会直接丢弃所有分片报文。
NewTear攻击
NewTear攻击是分片错误的攻击。如图8-3所示,protocol使用UDP。
l第一片IP载荷28字节(包含UDP头部,UDP检验和为0);
l第二片IP载荷4字节,offset=24(错误,正确应该是28)。