F5全面应对DDOS 攻击

  modeilq [ 角落] [ 飞语] 发表于: 15-03-20 19:22 [ 只看该作者]
 

DDOS攻击俗称洪水攻击,是由很多DDOS攻击源一起攻击某台服务器的组成,DDOS 最早可追溯到1996年,在中国2002年开始频繁出现,到了2003年已经小有规模。是破坏力最强的攻击方式,据美国最新的安全损失调查报告,DDOS攻击所造成的经济损失已经跃居第一。DDOS攻击可破坏是巨大的,你无法阻止黑客对你的网站发动DDOS攻击,除非主动断开Internet连接。目前DDOS攻击主要针对网络,应用以及数据的攻击,那么我们采取什么解决方法预防DDOS攻击呢!

F5作为安全专家,针对基础网络、应用、数据DDOS攻击,提供专业的解决方案。

1F5基于网络的DDOS攻击解决方案

SYN/ACK Flood攻击

这种攻击是非常经典DDOS方法,可以通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYNACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用所有端口命令观察到存在大量的防火墙网络状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。 SYN变种攻击:发送伪造源IPSYN数据包,但是数据包不是64字节而是上千字节,这种攻击会造成一些防火墙处理错误锁死,消耗服务器CPU内存的同时还会堵塞带宽。

TCP全连接攻击

SYN攻击不同,它是用合法并完整的连接攻击对方,SYN攻击采用的是半连接攻击方式,而全连接攻击是完整的,合法的请求,防火墙一般都无法过滤掉这种攻击,这种攻击在现在的DDOS软件中非常常见,有UDP碎片还有SYN洪水,甚至还有TCP洪水攻击,这些攻击都是针对服务器的常见流量攻击。 59.50.179.84:2900 220.181.6.18:80 ESTABLISHED 59.50.179.84:2901 220.181.6.18:80 ESTABLISHED 59.50.179.84:2902 220.181.6.18:80 ESTABLISHED 59.50.179.84:2903 220.181.6.18:80 ESTABLISHED 通过这里可以看出59.50.179.84这个IP220.181.6.18这台服务器的80端口发动TCP 全连接攻击,通过大量完整的TCP链接就有可能让服务器的80端口无法访问。

2F5基于应用的DDOS攻击解决方案

WEB Server多连接攻击

通过控制大量肉鸡同时连接访问网站,造成网站瘫痪,这种攻击和正常访问网站是一样的,只是瞬间访问量增加几十倍甚至上百倍,有些防火墙可以通过限制每个连接过来的IP连接数来防护,但是这样会造成正常用户稍微多打开几次网站也会被封。典型的攻击工具为低轨道加能炮(LOIC)。

WEB Server变种攻击-资源消耗型

通过控制大量肉鸡同时连接访问网站,一旦连接建立就不断开,一直发送一些的GET请求,访问一些动态页面,比如update.aspsearch.php等,使得服务器需要消耗大量的CPU资源来生成这些回应页面,这样通过限制每个连接过来的IP连接数就失效了,因为每个肉鸡可能只建立一个或者只建立少量的连接。这种攻击对于普通的DDOS设备非常难防护,后面给大家介绍

3F5帮助数据中心应对DDOS攻击

SYN/ACK Flood攻击的防护

由于F5的应用交付控制器工作在全代理模式下,客户端在访问位于应用交付控制器后台上的虚拟IP时,必须要是先在应用交付控制器建立TCP三次握手,然后,F5应用交付控制其才会将客户端的请求发送给后台的真实服务器,所以,默认的,F5的应用控制器就能够防御连接请求确认攻击。

另外F5的应用交付控制器还支持简单结构来对连接请求确认进行防护,其原理如下: SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。 通过启用syn-cookie的功能,F5应用交付控制器在防护SYN/ACK Flood攻击时,更加的游刃有余。

TCP全连接攻击的防护

SYN攻击不同,TCP全连接攻击是用合法并完整的连接攻击服务器,SYN攻击采用的是半连接攻击方式,而全连接攻击是完整的,合法的请求,防火墙一般都无法过滤掉这种攻击。F5的应用交付控制器由于采用的是Full-proxy的架构,将TCP的连接拆成了客户端提供者和服务器引擎,即使是TCP的全连接,也只是跟F5的应用交付控制器建立了TCP连接,由于只是TCP连接,没有业务请求,所以F5应用交付控制器并不会去和后台的服务器建立连接,保护后台服务器不会受到该攻击的影响。 而F5应用交付控制器 本身具有极强的连接处理能力,F5主流的应用交付控制平台的并发连接数都是千万级别。 同时,F5可以设置空闲的TCP连接的超时时间,快速的回收连接,释放系统的内存。在某一些极端情况下,F5应用控制器还会主动回收连接,F5应用交付控制器内置的DoS 监控程序会自动实时检测整个系统的CPU/内存利用率,如果超过低阀值则自动随意丢弃新建链接,如果达到高阀值系统将丢弃所有的新建链接,将所有的攻击屏蔽,以达到保护自身系统的效果,等待CPU/内存利用率下降或攻击流下降时再开启新链接。

WEB Server多连接攻击的防护

过控制大量肉鸡同时连接访问网站,造成网站瘫痪,这种攻击和正常访问网站是一样的,其特点是瞬间访问量增加几十倍甚至上百倍,有些防火墙可以通过限制每个连接过来的IP连接数来防护,但是这样会造成正常用户的正常访问也会受到影响。 通过对这种攻击的特点的分析,我们可以知道攻击是通过肉鸡发起,很多实际的场景是黑客控制肉机,通过在肉机上执行java脚本或者程序来发起对网站的请求,比如说GET一个页面。总的请求数量会是正常访问的数量的几十倍,甚至上百倍。 F5应用交付控制器可以准确的检测到攻击流量并阻挡攻击流量,正常访问的流量则不受影响。 F5特有的DoS 防护引擎可以通过统计实际数据和设定基准值的偏离值或者是设定的绝对阀值来检测异常流量。 可用于判断的数据有:基于源IPTPS,基于被访问URLTPS和服务器的latency。 一旦检测到有DOS攻击的时候,F5的防护引擎可以采用如下几种方法来阻挡攻击: 兼容性检查防护,当启用时,F5的应用交付控制器会通过发送一个JAVA脚本的挑战给每一个可疑的源IP地址,并且等待回应,来确认客户端是否是正常的浏览器。(正常的浏览器会通过POST将执行结果回应给F5,通过脚本生成的请求则是无法回应的) 如果是正常的浏览器发出的请求,F5会将该请求转发到后台服务器进行处理,如果客户端无法正常回应,ASM则会将该请求过滤掉。基于源IP的速率限制,丢弃可疑IP的连接,直到该IP的探测周期内的每秒交易数等于或小于历史的每秒交易数,或者是由于达到了TPS限制阀值的客户端其TPS数值降到了阀值以下。 基于URL的速率限制,丢弃访问该URL的连接,(无论客户端是否真实用户还是非法用户)直到该URL的探测周期内的每秒交易数等于或小于历史的每秒交易数,或者是访问该URL的总的TPS数值降到了限制阀值以下。 通过对F5防护原理的了解,我们可以知道,当大量的请求访问进来时,会触发F5 ASMDOS防护引擎,然后根据配置的防护策略(推荐使用客户端完整性检查的防护方法),来过滤由肉鸡产生的非法的访问请求,从而保护后台服务器不会遭受攻击,同时,对于正常的用户的访问,能够提供正常的服务。

WEB Server变种攻击-资源消耗型的防护

该攻击除了具有web server多连接攻击的特点之外,其攻击的对象是那些消耗后台资源比较大的URL连接,比如asp,jsp等通过数据库动态生成的页面,因而只需要少量的客户端和连接数,就可以造成服务器资源的大量消耗而被DOS攻击。

通过分析该攻击的特点,我们可以知道,其攻击的对象是特定的URL,那么我们可以在F5ASM上启用针对URL防护的检测,一旦攻击发生时,那么被攻击的那几个URL的访问量会比平常高出许多,那么F5 ASM可以立即就检测到DOS攻击,同时启用相应的防护策略(推荐使用客户端完整性检查的防护方法),来阻挡攻击的请求,从而保护后台服务器不会遭受攻击,同时,对于正常的用户的访问,能够提供正常的服务。

Keep Dead DOS攻击的防护

我们知道其主要是利用HTTPHEAD请求来实现,那我们可以限制Http请求的方法,例如,只允许POSTGET这两种请求方法,这样就可以非常简单的过滤Keep Dead DOS攻击。当然,上面所说的其他方法也同样适用于Keep Dead DOS攻击的防护。

WEB Server变种攻击-协议缺陷型的防护

Slow POST攻击的防护

F5V11的版本中,F5ASM(应用安全管理器)专门增加了针对Slow POSTDDOS攻击的防护功能。下面的2ASM的参数专门用于防止Slow POSTDDOS攻击,慢速交易的时间。最大允许的慢速交易的数量,超过该数量的慢速交易将会被丢弃。默认数值为25.

ASM会记录那些被标记为慢速交易的连接,一旦慢速交易的连接数超过了允许的最大慢速连接数,那么后续的慢速交易的连接将会被ASM丢弃。 从而达到抵御Slow POST攻击的目的,并保障正常访问请求。

Slow Read DOS攻击防护

针对Slow Read DOS攻击,其产生的攻击连接一样会被认为是慢速连接,F5ASM会标记这些慢速连接,一旦慢速交易的连接数超过了允许的最大慢速连接数,那么后续的慢速交易的连接将会被ASM丢弃。 从而达到抵御Slow Read DOS攻击的目的,并保障正常访问请求。

Slowloris攻击防护

F5的应用交付控制器在没有收到完整的请求之前,是不会向后台的服务器转发请求的。因而slowloris的攻击在默认的情况下,F5的应用交付控制器就是可以防护的,攻击只是打到了F5上,会消耗设备的内存和连接数而已。 正常的请求,则不受影响,可以正常的被转发到后台服务器进行处理。 为了更好的防范该攻击,避免内存大量消耗,我们还可以通过irules来识别slowloris的连接,并丢弃这些连接,以释放资源。

Apache Range header 攻击防护

F5应用交付控制器可以通过也可以使用一个iRule来防御Apache Range header 攻击。通过I-rules检查,如果在RANGE报头中检测出大量的range,通过i-rules,可以根据需要特殊处理这些请求。可能的操作有报头清除,拒绝请求,honey pot重定向,或报头更换等等。

SSL DDOS攻击的防护

对于SSL业务而言,F5应用交付控制器首先都会进行SSL 卸载的处理,即将SSL 终结在F5应用交付控制器上,而F5应用交付控制跟后台服务器通过HTTP来通信,用户也可以根据需要,让F5应用交付控制器再跟服务器进行SSL 通讯,以保障整个通讯过程不会被监听。

F5应用交付控制内置处理器的SSL芯片用来做SSL的处理,并且性能强大。最高平台的SSL 处理能力可以达到600,000 TPS。通过SSL 卸载的功能,把攻击也卸载到了F5应用交付控制器上,如果攻击只是针对SSL 加解密功能,就可凭借强大的性能来进行防护,保障了服务器则不会受到SSL DDOS攻击。

SSL+HTTP协议缺陷性混合DDOS攻击的防护

如果攻击者采用混合模式的攻击方法,即在SSL DDOS中插入一些基于HTTP协议缺陷的一些攻击手段,那么这个时候会对WEB应用造成更大的压力,而且,在这种情况下,如果只有SSL卸载的功能,是无法防范这种混合攻击的,但是由于F5应用交付控制器是基于全代理的架构,并且是一个可以整合多个功能的平台,可以把SSL卸载和其他防护功能整合在一起,那么在SSL 流量解密之后,针对网络服务器的多连接攻击的探测和防御手段可以防护基于HTTP协议缺陷的DDOS攻击,以应对这种混合攻击的方法,保护后台的服务器,并正常的提供业务访问。

F5针对DDOS攻击专业的解决案例

某知名的物流企业遭到了DDOS的攻击,攻击的第一阶段:遭受web服务器多连接攻击,攻击发起者使用了超过十万台的肉鸡对其首页进行了DDOS攻击,每台肉鸡的每秒并发连接都很小,在10个左右,和正常用户的连接数差不多,导致后台服务器直接被放倒。F5应用交付控制器通过使用内存缓存技术,将首页面缓存在F5应用交付控制器上,由F5来直接回应访问首页的HTTP请求,从而达到保护后台服务器的目的。

攻击的第二阶段:攻击者修改攻击的对象,由首页转向包裹查询页面的验证码链接,由于该连接需要调用数据库,直接导致后台应用服务器和数据库服务器受到攻击。F5工程师在客户的应用交付平台上激活了ASM功能模块,通过ASM的应用层DDOS防护功能,开启了基于URL的攻击识别机制,并启用了基于速度和客户端完整性防御对攻击的请求进行识别和阻挡,后台服务器的连接降到正常水平,确保了业务的正常运行。攻击持续3个多小时后,攻击结束。

结束语

显然, DDOS 攻击给我带来了很大的危害,, DDOS 防范确保业务的正常运行。

 

转自:http://www.xici.net/d214521838.htm

猜你喜欢

转载自kavy.iteye.com/blog/2204120