随着DDoS攻击开始被有组织犯罪以发起网络攻击为威胁成为敲诈勒索小公司钱财的手段,这个技术肮脏的一面开始显现。这些罪行日益增长的共性与英国国家高科技犯罪中心的成立相吻合。虽然中心的任务是找到罪魁祸首的黑客,但是问题最终却是通过提升服务器来解决,让网络罪犯无法攻克性能更强的服务器。
DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式,通过使网络或应用过载来干扰甚至阻断正常的网络通讯。通过向服务器提交大量请求,使服务器超负荷。阻断某一用户访问服务器阻断某服务与特定系统或个人的通讯。而且攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了。毫不夸张地说,DDoS促使了大量僵尸网络的形成。
在RSA 2012大会展示的最新安全产品中,F5公司的访问策略管理器排名第一。此外,F5应用安全方面知名产品还有F5 BIG-IP应用安全管理器(ASM) ,是一个先进的Web应用防火墙,可显著减少和控制数据、知识产权和Web应用丢失或损坏的风险。F5 BIG-IP ASM提供了无与匹敌的应用和网站防护,例如防护7层DDoS等最新的Web威胁,提供了完整的攻击防御系统,并且可以满足关键的法规要求。
F5公司针对DDoS的安全解决方案是本文重点介绍的,F5 BIG-IP本地流量管理器(LTM)在11. 1版本中提供了ICSA网络防火墙认证。这一关键认证的重要意义在于,BIG-IP LTM、BIG-IP GTM广域网流量管理器和BIG-IP ASM应用安全管理器放置在数据中心的边界,能维持整个企业的安全状况与合规性。
你理解了DoS攻击的话,DDoS的原理就很简单。DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。一旦遭受DDOS攻击,被攻击主机上有大量等待的TCP连接或应用访问连接、网络中充斥大量的无用数据包造成网络堵塞、受害主机没法正常响应服务请求甚至可能死机。
F5 BIG-IP LTM产品部署在主机前面,首当其冲接受正常客户端和非正常客户端的访问,那么通过在LTM上面加固参数,就可以很好地应对DDOS的攻击。也就是说,在保护后台服务器的同时,还能很好地提供服务。
由于BIG-IP LTM本身具有ICSA认证,因此可以将并行防火墙( 三明治中的肉) 折旧并淘汰掉,从而在维持相同的整体能力、合规性和攻击防御能力的同时,大幅减少设备的数量。BIG-IP LTM的本地防火墙服务可提供连接能力远远高于传统防火墙的网络层保护,因此使得这一些成为可能。BIG-IP LTM最多可处理4800万条连接,在受到攻击时可以通过不同的超时行为、缓冲区大小和其它安全性相关选项对其进行管理。
事实上,面对当前DDoS众多伪造出来的地址则很多企业显得没有办法,所以,在业界对于防范DDoS攻击来说,大家颇感无力,防御也变得更加困难,如何采取措施有效的应对呢?
F5 BIG-IP LTM作为一个安全代理,用于防止基于网络的SYN flood和其它网络拒绝服务 (DoS) 以及分布式拒绝服务 (DDoS) 攻击,而且它提供了控制功能,用于定义和执行基于L4的过滤规则,以提高网络防护能力。
凭借行业领先的加密能力,BIG-IP LTM还使您能够有选择地加密数据, 以保护并优化您企业的通信。通过使用最强大的安全套接层 (SSL) 加密、位加密和4096密钥长度而支持先进的加密标准算法,BIG-IP LTM作为您的关键业务资源的网关。BIG-IP LTM可用在灵活的多解决方案设备平台上,或者作为虚拟版本而运行。
F5 DDoS 防御的全局配置
为什么F5 BIG-IP LTM仅仅作为代理机制存在的设备,就能够扛住凶猛的DDoS攻击了呢?我们不妨看看下面的全局配置。这里为大家介绍一下F5在防御DDoS方面的全局参数配置,全局参数设定和配置包括动态删除连接表项、SYN Cookie启动阀值、最大拒绝包发送速率、最大ICMP请求回应速率,如下:
1、动态删除连接表项
在BIG IP遭受DDOS攻击时,一个最常见的资源消耗就是内存。在默认配置下,当BIG IP的内存使用达到97%的时候,BIG IP就会自动进行重启,以恢复自身的正常运行。
在一个HA的组里,则此时由备机接管继续提供服务。当然,这是最糟糕的情况,在达到这个状态前,在BIG IP的全局配置中,有两个重要的和安全相关参数设置来避免内存耗尽。
这两个参数就是Low Water Mark和High Water Mark。当系统的内存占用超过Low Water Mark的设定值的时候,BIGIP将开始删除在连接表中最"老"的连接表项,也就是最接近达到idel time out定义时间的表项,但此时BIGIP仍然接收新的连接建立。当系统内存占用超过HighWater Mark的时候,BIG IP将不再接收新的连接,并且删除老的连接,直到系统的内存占用达到Low Water Mark的设定值为止。
2、SYN Cookie启动阀值
在四层工作模式下,可以直接启动SYN Cookie对SYN 攻击进行防护,但在全代理工作模式下,如果对每一个SYN包都建立一个连接表项,在SYN攻击足够强烈的时候,BIGIP自身的内存也将会被迅速充满进入连接删除或者重启状态。
但如果系统在正常工作下,启用SYN Cookie会带来额外的CPU计算损耗。因此,在全代理模式下,可以通过设置SYN Thrash Hold的值来动态的启用SYN Cookie进行SYN攻击防护。
当系统中没有进入正常三次握手连接的表项的数量,也就是在SYN-RECEIVED状态的连接达到设定值,则对后续的新建连接进行SYN Cookie处理。这样,对新建的连接,就不再直接添加新的连接表项而只有通过SYN Cookie验证后,再建立连接表项进行处理。保证正常的客户访问可以持续。
3、最大拒绝包发送速率
在默认状态下,BIGIP将对发送到非VS端口的数据包、超时的连接、命中VS但没有对应连接表项的请求回应RST包进行拒绝。但如果在DDOS发生的时候,这种RST包的响应也会耗费很多的CPU资源。因此,在BIGIP中,可以通过DB 参数TM.MaxRejectRate来设置每秒钟回应的RST包的数量,以节省系统资源,保证系统可用性。
4、最大ICMP请求回应速率
在遭遇ICMP Flood的时候,BIGIP也是通过全局设定的DB参数TM.MaxICMPRate来限制整台设备可以响应的ICMP回应速率,以减小本身的性能损耗。需要注意的是,这个设定的默认值为250/秒,在一些网络设备执行高速ping检查的时候,由于该功能启用,会在对端发现有丢包现象。如果一定要进行验证,需要调高这个参数。
除了上述全局的参数设置外,TCP/UDP超时时间设定和TCP-Profile-延迟接收连接也非常重要。
TCP/UDP超时时间设定:TCP/UDP超时时间主要用于设定在一个连接中,有多长时间没有数据进行传输,则将该连接从连接表项中删除,并向客户端和服务器端分别发送RST包。减小超时时间设定,将有助于减小BIGIP的内存消耗。例如默认值为300秒,而针对大部分的HTTP应用,该值可以调整到90秒或者60秒以下,以使BIGIP可以更快的回收内存空间占用而不影响业务运行。但对一些长连接应用,则需要根据应用的实际需求进行设定。
TCP-Profile-延迟接收连接:在TCP Profile中,还有一个重要安全相关参数就是Defered Accept,默认为关闭状态,当该参数开启时,BIGIP对所有的请求在三次握手建立完成后,并不开启完整的连接表项,只是简单的记录该连接状态。只有在客户端或者Pool Member之间开始有数据传输的时候,才开始建立正式的连接表项。