无论防火墙报过滤规则配置的多么严密,总需要划定一个范围,在这个范围内,连接是被允许的。如果攻击用户网络的连接混杂在这个许可的范围之内,就要靠攻击防范的相关功能将其识别出来并处理。 syn-flood syn-flood攻击是一种常见的DoS攻击方式,主要被用来攻击开放了TCP端口的网络设备。要了解syn-flood攻击的原理,需要先解释一下TCP的连接的建立过程。TCP连接的建立过程称为三次握手,首先,客户端向服务器发起连接请求(SYN报文),服务器端在收到这个连接请求之后,会回应一个应答报文(SYN ACK),客户端收到这个SYN ACK报文之后,再发送第三个ACK报文,这个交互过程完成之后,服务器和客户机两端就认为这个TCP会话已经正常建立,可以开始使用这个会话上传送数据了。服务器端在回应SYN ACK报文的时候实际上已经为这个连接的建立分配了足够的资源,如果没有接收到客户端返回的ACK报文,这部分资源会在一定时间之后释放,以便提供给其他连接请求使用。
UDP/ICMP Flood是比较单纯的流量攻击,攻击者通过向一些基于UDP/ICMP的基本服务发送大量的报文,使被攻击的设备忙于处理这些无用的请求,最终耗尽处理能力,达到拒绝服务的目的。防火墙上针对这两个攻击有相应的命令行设定firewall defend udp-flood/icmp-flood,可以设定的参数同SYN Flood攻击的参数基本相同。要注意的是,使能这个功能同样要同时使能受保护域的基于IP的入方向统计功能。
防火墙会对相应的流量进行CAR操作,如果攻击流量超过了阈值许可的范围,超过部分将被丢弃,在设定阈值之下的部分流量仍然可以通过防火墙。 Ping of death/Tear drop Ping of death/tear drop两种攻击,都是利用不正常的分片报文,试图利用被攻击的设备在处理这些报文时的缺陷造成设备死机。防火墙上对应的命令行很简单,firewall defend ping-of-death firewall defend teardrop,只要使能就可以。 防火墙在处理的时候会对记录每个分片的偏移量,对于出现重叠分片或者报文实际长度同声明的长度不符的情况,将丢弃这些分片报文。 Teard[Eudemon-interzone-trust-untrust]rop防御功能还有额外的作用,目前有的攻击工具(Fakeping.exe)在发起分片的攻击时会循环发送相同的几个分片,在使能Teardrop防御的情况下,这种攻击就无能为力了。 IP sweep/Port scan 地址扫描和端口扫描,通常是做为其他攻击的前奏而进行的。IP sweep的目的是定位目标网络内活动的主机,攻击者通过遍历IP地址范围发送报文的方式,判定那些IP地址对应的主机是活动的,以便为后续攻击作准备。扫描报文的类型多种多样,TCP/UDP/ICMP都有可能,因此在防火墙上进行检测的时候,防火墙只关心IP地址的变化。如果一秒钟内从同一个IP地址发出的针对不同目的地址的报文的数量超过了设定的阈值,防火墙可以选择告警,同时还可以将这个源地址添加到防火墙的黑名单表中,在一定时间内对这个IP地址发出的报文进行丢弃处理。
端口扫描的识别同此类似,判定的依据是一秒钟内,一个IP地址向另一个IP地址的不同端口发起的连结的数量是否超过了阈值。发现端口扫描之后,防火墙同样可以根据设定,选择告警或同时将该IP地址加入黑名单中。 要让端口扫描/地址扫描功能生效,需要在可能发起攻击的阈上启动基于IP的出方向的统计功能 举例来说,如果从同一个IP地址每秒钟发起10个针对不同IP地址的连结的话就认为它是在进行扫描,对源地址要加入黑名单10分钟,攻击可能发起的域在非受信域,那么我们需要进行如下的配置: [Eudemon] firewall defend ip-sweep max-rate 10 blacklist-timeout 10 [Eudemon] firewall zone untrust [Eudemon-zone-untrust] statistic enable ip outzone 比如最近发作频繁的“冲击波”病毒,在发起攻击之前,被病毒感染的计算机就会大范围的扫描网络,寻找可以攻击的目标。网上现在已经出现多处因为这种扫描导致网络阻塞的问题了,在定为扫描的发起者时遇到了很多麻烦。如果这种情况发生在防火墙上面,在恰当的配置下,感染者的计算机很快就会被发现,如果设置了黑名单联动工能,那么这个IP还可以被xx阻塞住,防止该病毒的进一步扩散。 IP-Spoofing攻击 对于畸形报文的检测功能 Eudemon200上支持的畸形报文的检测对应于如下攻击方式:
smurf 发送的ping报文的目的地址为受害网络的广播地址,由于相应子网上所有报文都会相应这个请求,会产生大量的回应报文,造成网络阻塞。更进一步的,攻击者可以把受害主机的IP地址作为ICMP请求报文的源地址,使所有回应报文都发向受害主机,导致该主机无法响应。 Fraggle 同smurf攻击类似,但利用的是基于UDP报文的echo(端口7)或chargen(端口19)服务,攻击者利用这两个服务在收到请求报文之后会产生回应的特性,向受害网络的广播地址发送这两种报文,还可以将受害者地址作为请求报文的源地址。 Land 攻击报文的源地址和目的地址都是受害主机的IP地址,被攻击的设备在回应这个报文的时候会向自身发出SYN ACK连接,由于的不到回应,该连接将一直等待到超时释放。如果收到大量的Land报文,将导致被攻击设备处理能力被消耗掉,出现拒绝服务的现象。 Winnuke 针对139端口设置了紧急指针的NetBIOS报文,引起一个NetBIOS片断重叠,使目标主机崩溃。还有一种同名攻击是通过分片的IGMP报文,利用主机在处理IGMP分片报文时的错误,导致目标主机崩溃。 tcp-flag 同时设置了互斥的TCP状态字标志,比如既设置了SYN标志,又设置了FIN标志,利用目标主机在处理这种报文时的错误,使其崩溃。 ip-fragment 对IP报文中同分片相关的标志位进行错误的设置,比如既设定DF(不允许分片)标志,又设定MF(后续分片)标志。利用目标主机在处理这种报文时的错误,使其崩溃。 对于上述这些攻击方式,防火墙通过单一报文的特征就能够做出判定,对于符合这些特征的报文,如果使能了相应的防御功能,防火墙将丢弃这个报文。 对有潜在危害性的报文的过滤 对于icmp-redirect、icmp-unreachable两种报文以及IP选项route-record、source-route、tracert本身并不一定对受保护的网络有危害,但是由于这些报文可能会泄露受保护网络的拓扑结构等信息,防火墙也可以对符合这些特征的报文进行过滤 防火墙还可以对超过一定大小限制的ICMP报文进行过滤,任何超过这个长度限制的ICMP报文将被防火墙丢弃 要注意一点,这些有潜在危害性的报文经常在检查网络状态的时候被用到,如果在这种情况下,防火墙需要关闭这些安全特性,否则将造成网络检测无法成功。 |