HTTP Flood攻击是针对Web服务在第七层协议发起的攻击。第七层主要是应用层,是一些终端的应用,比如(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可以看到的东西,也就是我们常说的终端应用。
HTTP Flood攻击的巨大危害性主要表现在三个方面:发起方便、过滤困难、影响深远。这也是真正令各大厂商以及互联网企业头疼的地方,那我们要怎么进行防御呢?
首先我们要了解下HTTP Flood攻击的原理:
是指攻击者通过代理或僵尸主机向目标服务器发起大量的HTTP报文,请求涉及数据库操作的URI(Universal Resource Identifier)或其它消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求。例如门户网站经常受到的HTTP Flood攻击,攻击的最大特征就是选择消耗服务器CPU或内存资源的URI,如具有数据库操作的URI。
看到这里大家是不是觉得这个攻击类型和一种网络攻击有点像,没错,就是CC攻击(Challenge Collapsar),两者区别就在于一个是耗系统资源,一个是发送大量数据包消耗服务器资源,都是打的持续仗,最终使服务器无法响应正常请求为止。
有意思的是,HTTP Flood攻击和CC攻击确实颇有历史渊源,CC的英文全称是Challenge Collapsar,而Collapsar是国内一家著名安全公司的
DDoS防御设备。所以真要细分起来,CC攻击其实是属于
DDoS攻击的一类,说不同又不有着相似之处,只不过往往人们往往不会刻意去深究罢了。
现在来说说针对HTTP Flood攻击的防御原理吧:
一、URI监测
URI监测是HTTP源认证防御的补充功能,当通过HTTP源认证的流量还是超过阈值时,可以启用URI监测。Anti-DDoS设备对HTTP源认证过程中加入白名单的源IP也会进行URI监测。
在指定的时间内,某一个URI的访问量要是过高,Anti-DDoS就会针对这种情况启动URI行为检测,如果检测出来的访问数超过规定的阈值,超出的IP访问数就会被判定加入动态黑名单。所以在配置URI监测时,可将消耗内存或计算资源多、容易受攻击的URI加入“重点监测URI”列表。
二、URI源指纹学习功能
适用于攻击源访问的URI比较固定。因为如果要形成攻击效果,攻击者一般都事先探测,找到容易消耗系统资源的URI作为攻击目标,然后一个攻击源的一个会话上会有多个针对该URI的请求,最终呈现为该源对选定的URI发送大量的请求报文。动态指纹学习正是基于这个原理,Anti-DDoS设备对源访问的URI进行指纹学习,找到攻击目标URI指纹,如果对该URI指纹的命中次数高于设置的阈值就将该源加入黑名单。
三、HTTP Flood源认证
源认证防御方式是防御HTTP Flood最常用的手段,这种防御方式适用于客户端为浏览器的HTTP服务器场景,因为浏览器支持完整的HTTP协议,可以正常回应重定向报文或者是验证码。源认证防御主要包含以下三种方式:基本模式(META刷新)、增强模式(验证码认证)、302重定向模式。
四、HTTP源统计
HTTP源统计是在基于目的IP流量异常的基础上,再启动针对源IP流量进行统计。Anti-DDoS设备首先对到达目的IP的流量进行统计,当目的IP流量触发告警阈值时,再启动到达这个目的IP的每个源的流量进行统计,判定具体某个源流量异常,并对源IP的流量进行限速。HTTP源统计功能可以更准确的定位异常源,并对异常源发出的流量进行限速。
关于墨者安全
墨者安全致力于安全防护、服务器高防、网络高防、ddos防护、cc防护、dns防护、防劫持、高防服务器、高防dns、网站防护等方面的服务,全网第一款指纹识别技术防火墙,自研的WAF指纹识别架构,提供任意CC和
DDoS攻击防御。