Cloudflare DDoS防护深入解析

来源: Cloudflare
作者:Cloudflare
时间:2023-08-15
878
今天,我们更高兴能和大家分享一下Cloudflare的自主DDoS(分布式拒绝服务(DDoS))防护系统。

640.png

今天,我们更高兴能和大家分享一下Cloudflare的自主DDoS(分布式拒绝服务(DDoS))防护系统。这个系统已部署到Cloudflare全球所有300个数据中心,正在积极保护我们的所有客户,防御3-7层(OSI模型)上的DDoS攻击,无需人工干预。作为我们不计量DDoS防护承诺的一部分,我们不会因为客户受到DDoS攻击而增加对客户的收费。

自主边缘防护

为了迅速并精准地为我们的客户防护DDoS攻击,我们打造了一套自主边缘检测与缓解系统,可自行做出决定而不需寻求在中心节点形成统一策略。这套系统是完全由软件定义的,在我们部署于边缘的普通服务器上运行。驱动这套系统的是我们的拒绝服务守护进程(dosd),后者最早于2019年上线,用于防护L3/4 DDoS攻击。自那以来,我们一直不断投资增强和改善其能力,以便保持领先攻击者一步,并破坏攻击的可能性。我们的边缘缓解组件除了L3/4外,也能防御L7攻击。

这套系统在我们所有边缘数据中心的每一台服务器上运行。系统不断分析数据包和HTTP请求,扫描DDoS攻击。一旦发现攻击,系统立即将一条附有实时生成签名的缓解规则推送到Linux堆栈的最优位置,在此应用最具成本效益的缓解。

640 (1).png

Cloudflare DDoS缓解系统的概念图

我们的新边缘检测能力是我们现有全球威胁监测机制Gatebot的补充,后者位于我们网络的核心。通过Gatebot在网络核心检测攻击非常适用于较大型的分布式容量耗尽型攻击,此类攻击要求整个Cloudflare边缘的协调。但是,较小型的局部攻击需要以不同的方式来处理。通过在边缘检测网络层和HTTP攻击,我们能以更高速率采样,同时检测大型和小型攻击,并立即生成缓解规则。在过去,所有L3/4攻击中的98.6%是由dosd检测到的。同样地,自从dosd的扩展版本部署以来,已经缓解了全部L7攻击的81%。

我们已在此前的博文中介绍过Gatebot和flowtrackd,因此本文着重介绍扩展后的dosd能力。

利用Linux网络在瞬间丢弃数据包和请求

10年前,Linux网络非常缓慢。今天,得益于Linux——特别是Linux iptables和eXpress Data Path(XDP),我们可在瞬间丢弃数据包。

数据包的生命周期

如果一个数据包的目的地是受Cloudflare保护的客户,这个数据包将通过BGP Anycast发送到最近的Cloudflare数据中心。到达后,数据包将经网络交换机使用等价多路径路由组(ECMP)通过一个路由器发往一个服务器。到达某个服务器后,网络接口卡(NIC)将数据包传送到一组eXpress Data Path(XDP)程序中。第一组XDP程序——L4Drop——应用来自此前检测到的攻击的缓解规则,并将数据包样本传送给dosd供进一步分析。

如果数据包没有被视为恶意并丢弃,其将被传送到Unimog——我们的专利L4负载平衡器。根据服务器运行状况和性能指标,Unimog决定是否应该将数据包保存在同一台服务器中,还是将其传递到数据中心内能够更好地处理它的另一台服务器。经过Unimog后,数据包将通过iptables防火墙。然后,如果目标是一个L7应用程序(例如受Cloudflare WAF保护的服务),数据包将传送到我们的HTTP反向代理。该反向代理在用户空间运行,在此数据包被构建成HTTP请求并通过我们的Web应用程序防火墙、应用程序防火墙规则以及额外的客户配置。如果数据包的目的地是一个TCP/UDP应用程序(Spectrum)或一个被路由而非被代理的IP目的地(Magic Transit),则其将通过那些系统,而非我们的HTTP代理。

640 (2).png

数据包的生命周期

除了L4Drop,我们的HTTP代理也将HTTP请求的样本和元数据发送到dosd。这一边缘取样的速率相当于核心取样的10倍,因为请求可在本地分析(并据以处理),而非传送到某个核心数据中心。同样地,dosd对数据包取样的速度相当于gatebot的81倍。

dosd、gatebot和flowtrackd一同分析所收到的样本并在检测到DDoS攻击时应用缓解规则。它们将缓解规则添加到Web代理中以减轻HTTP攻击。根据系统逻辑,对攻击请求通过阻止、速率限制或质询动作来处理。然而,如果攻击容量较大,缓解规则将在堆栈中向下推送到iptables防火墙,使用IP Jails在L4中断L7攻击,以实现更具经济效益的缓解。同样地,对于L3/4攻击,系统将使用L4Drop内的扩展伯克利包过滤器(eBPF)程序在iptables防火墙内缓解。利用这些组件,我们能大规模自动缓解DDoS攻击。

打破攻击经济

如上所述,我们的扩展自主系统,连同我们现有的威胁缓解组件,是为保护客户免受DDoS攻击而开发的。然而发动攻击的难度和成本已变得非常低。恶意行为者使用这些攻击来弄垮网站、移动应用、游戏或任何连接到互联网的资产。这些扩展保护措施很有必要,因为如我们在每个季度的DDoS趋势报告中所记载的那样,多样且日渐复杂DDoS攻击持续增加。即使是一些小型攻击也足以击垮一个小型网站,因此无论是大型还是小型攻击,我们都要进行阻止。

很多情况下,攻击者可利用公开工具免费发动DDoS攻击,或支付少量费用租用DDoS即服务僵尸网络,例如暗网上的Moobot。根据2020年暗网价格指数,一次持续一小时、每秒1000-5000个请求的DDoS攻击起步价格为10美元。发动攻击的成本远低于其造成的损失。通过造成服务中断或仅仅使其性能下降,攻击者就能使受害者损失严重。例如,弄垮一个商务网站将使用户无法登录和购物。甚至延迟增加都能导致用户放弃购物车并转向竞争对手。一分钟的停机时间很可能带来数万美元损失。

DDoS攻击的频率、复杂程度和规模的不断演变及进化要求我们始终确保采用最新的防御方法——一种快速、准确和精确的方法。这就是我们开发本文所述扩展保护的原因。

帮助构建更好的互联网

Cloudflare的使命是帮助建立一个更好的互联网——对所有人而言都更安全、更快、更可靠。DDoS团队的愿景源自这个使命:我们的目标是使DDoS攻击销声匿迹。上世纪90年底和本世纪初,垃圾电子邮件成为严重问题。今天,电子邮件服务为我们过滤了所有垃圾邮件,我们就是要对DDoS攻击做同样的事情。

立即登录,阅读全文
版权说明:
本文内容来自于Cloudflare,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(zzx@kchuhai.com)删除!
优质服务商推荐
更多
扫码登录
打开扫一扫, 关注公众号后即可登录/注册
加载中
二维码已失效 请重试
刷新
账号登录/注册
个人VIP
小程序
快出海小程序
公众号
快出海公众号
商务合作
商务合作
投稿采访
投稿采访
出海管家
出海管家