如何构建C10M并发能力的抗D云WAF系统(2)?

在上一篇文章【如何构建C10M并发能力的抗D云WAF系统(1)?】中介绍了我们极御云安全的抗D云WAF的性能数据点,但是如此高的性能也许需要非常多的技术投入,这篇文章将详细介绍几点抗D云WAF高性能的核心秘密。

我们来详细说明下为什么Linux内核并不适用于DDoS防御和CC防御场景。

场景1:DDoS攻击和CC攻击分层清洗,而Layer 7的DDoS攻击由Linux协议栈和七层防御软件防御

问题1:这通常意味着Layer 3和Layer 4的DDoS攻击有专门的DDoS清洗设备清洗,这可以显著的减少Layer 3和Layer 4攻击带给Linux内核协议栈致命的威胁,但是大量应用层的HTTP(S) Flood攻击也会让Linux内核协议栈忙于处理报文的收发,大量CPU性能被浪费在中断,锁等事物上,应用层的防御软件无法重分利用CPU性能防御CC攻击,同时也会让防御变的非常不可靠,例如出现大量丢包,请求响应缓慢,网站无法打开等严重问题。

场景2:DDoS攻击和CC攻击分层清洗,而Layer 7的DDoS攻击由负载均衡硬件或软件分发到Linux协议栈和七层防御软件中防御

问题1:这个方案确实可以解决场景1里面的部分问题,但这种方式对于负载均衡软件或者硬件的可靠性要求非常高,就算负载均衡软件和硬件都可以非常可靠性的情况下,也存在性能瓶颈问题,例如无法横向扩展,负载均衡的能力决定了最终能够抵御的DDoS攻击大小。

从上面的两种场景中可以看到,防御非常受限于单点的性能,就算引入了负载均衡,防御一样会被限制在负载均衡能承受的最大点之内,由于攻击大小不可预测的特点,这将会给防御带来极大的隐患,对于用户是没有任何保障可言的。

那极御云安全是如何保障在面对不可预测的DDoS攻击规模面前依然可以轻松应对呢?

1. 储备足够大的防御带宽 (极御云安全拥有国内5Tb,国际5Tb的DDoS清洗能力)

2. Anycast近源清洗 (与运营商合作联动,实现多攻击流量就近调度就近清洗)

3. 与运营商联动实现攻击流量的压制和溯源 (与运营商合作联动,必要时丢弃非必要流量,对攻击进行降级防御)

4. 可随时无损Scale-Out和Scale-Up的高性能DDoS清洗架构 (自研的云甲DDoS清洗系统,实现DDoS攻击和CC攻击的异构清洗和防御)

在看极御云安全的抗D云WAF架构图之前先看下内核协议栈是如何将报文解析并分发给用户空间态的应用吧。

该图来自腾讯云

中断是影响报文收发和DDoS防御性能最重要的一个因素,假如我们一秒需要处理1400万的数据包,每20个数据包产生一个硬件中断的话,那一秒就会产生700万个硬件中断,每一次产生硬件中断都会打断正在进行密集计算的DDoS防御系统,中间产生大量的Cache miss,对性能的影响异常大。

可以从上面的图中看到,内核协议栈通用繁杂,为了保障多核下面数据一致性,内核协议栈必然需要引入锁来进行数据保护,同时也有大量的中断开销,这让CPU的多核无法充分利用,这使得DDoS或CC攻击出现的时候,内核协议栈会加重DDoS攻击和CC攻击带来的危害,内核和CPU不堪负重,最终服务器无法响应。

在来看下极御云安全的抗D云WAF的架构是如何实现高性能DDoS清洗和防御的

抗D云WAF架构

针对内核协议栈的不足,极御云安全通过引入DPDK将抗D云WAF的网络从内核中旁路掉(Kernel Bypass),然后在利用自研AccelStack TCP/IP协议栈为抗D云WAF提供高性能的网络协议栈和Socket接口,由于DPDK使用了大量CPU和硬件加速特性,例如NUMA,多通道内存,DDIO等技术,使得Intel的x86处理器实现线速收发网络报文,因为极御云安全采用了DPDK作为抗D云WAF的核心框架。

其次极御云安全的抗D云WAF采用了多核多进程模式开发,整体实现Lock less无锁化处理,这样使得抗D云WAF在处理DDoS攻击的时候具备天然的性能优势。

先来看下内核协议栈的锁带来的性能低下的原理图

内核协议栈

可以从上面的内核协议栈流量处理路径上看,同一个客户源IP的请求可能会落到不同的CPU上,为了保护数据结构不被污染和破坏,需要加锁进行保护,在遭受大量DDoS攻击的情况下,整体性能会非常低下,甚至还会加剧DDoS攻击的危害。

极御云安全采用RSS等方式实现了数据结构无锁写入和查询。

AccelStack TCP/IP Stack

同时为了提供集群防御和故障迁移能力,我们采用了ECMP和OSPF实现大规模DDoS攻击清洗和防御能力

极御云安全的抗D云WAF使用ECMP等价路由将DDoS攻击流量和正常流量分散到到抗D云WAF的各个节点上,再通过OSPF协议保证单台抗D云WAF节点故障能够自动将故障节点从集群中隔离,为用户提供了强有力的DDoS防御服务。

赞(5)
未经允许不得转载:极御云安全官方博客 » 如何构建C10M并发能力的抗D云WAF系统(2)?
分享到: 更多 (0)

评论 抢沙发

马上开启您的安全之旅

立即开启