Flowtrackd:单向TCP流量跟踪的DDoS保护

2020-07-14 21:59:27

Magic Transition是Cloudflare的L3 DDoS清理服务,用于保护网络基础设施。作为我们对Magic Transportation的持续投资和我们的DDoS保护功能的一部分,我们很高兴能谈论一款帮助保护Magic Transportation客户的新软件:flow trackd。flowrackd是一个软件定义的DDoS保护系统,它显著提高了我们自动检测和缓解即使是最复杂的基于TCP的DDoS攻击的能力。如果您是Magic Transportation客户,此功能将在2020年7月29日免费默认启用。

在2020年第一季度,每两个缓解Cloudflare的L3/4 DDoS攻击中就有一个是ACK泛洪,所有L3/4攻击中超过66%是基于TCP的。大多数类型的DDoS攻击都可以通过查找所有攻击数据包中存在的独特特征并使用该特征来区分“好”数据包和“坏”数据包来缓解。这称为无状态缓解,因为任何具有这些独特特征的数据包都可以被简单地丢弃,而不会记住有关其之前的其他数据包的任何信息(或状态)。但是,当攻击数据包没有唯一特征时,则需要进行有状态缓解,因为某个数据包的好坏取决于它之前的其他数据包。

最复杂的TCP泛洪类型需要状态缓解,其中必须跟踪每个TCP连接,以便知道是否有任何特定的TCP数据包是活动连接的一部分。这种缓解称为流跟踪,通常在Linux中由iptables连接跟踪模块实现。但是,使用ConnecTrack的DDoS保护并不像翻转iptable交换机那么简单,尤其是在Cloudflare操作的规模和复杂性方面。如果您有兴趣了解更多信息,在本博客中我们将讨论实现iptables Conntrace的技术挑战。

复杂的TCP DDoS攻击会带来威胁,因为它们更难检测和缓解。因此,如果缓解规则不准确,它们可能会导致服务降级、停机和误报增加。那么,Cloudflare如何在不影响合法流量的情况下阻止无模式DDoS攻击呢?

使用Cloudflare的传统产品,可以通过WAF服务保护HTTP应用程序,通过Spectrum保护TCP/UDP应用程序。这些服务是反向代理,这意味着流量双向通过Cloudflare。在此双向拓扑中,我们可以看到整个TCP流(即客户端和服务器发送的数据段),因此可以跟踪底层TCP连接的状态。这样,我们就可以知道TCP数据包是否属于现有的流,或者它是否是“非状态”的TCP数据包。脱离状态的TCP数据包看起来就像普通的TCP数据包,但它们不属于客户端和服务器之间的任何真正连接。这些数据包很可能是攻击的一部分,因此会被丢弃。

当我们充当客户端和服务器之间的代理时,可以跟踪TCP流,这使我们能够吸收和缓解状态外的TCP洪流,这一点并不是微不足道的。然而,当我们只看到连接的一半时,这就变得更具挑战性了:入口流。这种对入站流(而不是出站流)的可见性是Cloudflare的Magic Transfer服务的默认部署方法,因此我们在识别状态外数据包方面有很多工作要做。

借助Magic Transition,Cloudflare可以代表客户接收入站互联网流量,清除DDoS攻击,并通过隧道将干净的流量路由到客户的数据中心。然后,数据中心使用称为直接服务器返回(DSR)的技术直接响应Eyes Ball客户端。

使用DSR时,当Eyball客户端发起TCP握手时,它会发送一个SYN数据包,该数据包通过Cloudflare路由到源数据中心。然后,源设备绕过Cloudflare,直接向客户端发出SYN-ACK响应。最后,客户端使用ACK进行响应,该ACK再次通过Cloudflare路由到源,然后认为连接已建立。

在单向流中,我们看不到从源发送到Eyball客户端的SYN+ACK,因此不能利用我们现有的流跟踪功能来识别脱离状态的数据包。

为了克服单向流的挑战,我们最近完成了代号为flowtrackd(“流跟踪守护程序”)的新系统的开发和推出。flowtrackd是一个挂接到网络接口的状态机。它仅使用通过Cloudflare路由的入口流量跟踪单向TCP流,以确定TCP连接的状态。然后,flowtrackd能够确定数据包是新连接的一部分、打开的连接、正在关闭的连接、关闭的连接,还是处于非状态的数据包。一旦检测到大量非状态数据包,flowtrackd将质询(强制RST)或丢弃这些数据包。

确定流状态的状态机是内部开发的,是对Gatebot和DOSD的补充。Gatebot、DOSD和Flowtrackd共同提供全面的多层DDoS保护。

而且它起作用了!在将flowtrackd发布给早期访问客户后不到一天,flowtrackd自动检测并缓解了峰值为每秒600万个数据包的ACK泛滥。未报告停机、服务中断或误报。

与网络基础设施有限的传统清理中心提供商不同,Cloudflare可从我们在全球200多个地点的每个数据中心提供DDoS保护。我们编写自己的软件定义的DDoS保护系统。请注意,我之所以说System s,是因为与使用专用第三方设备的供应商不同,我们能够编写和启动我们需要的任何软件,将其部署在我们的技术堆栈中的最佳位置,因此不依赖于其他供应商,也不局限于一种设备的功能。

Flowtrackd加入了Cloudflare DDoS保护大家庭,其中包括我们经验丰富的Gatebot和年轻而精力充沛的DDoS。我们的每个数据中心都将提供flowtrackd,总缓解能力超过37Tbps,保护我们的Magic Transport客户免受最复杂的TCP DDoS攻击。

刚开始使用魔术交通吗?将您的传统提供商替换为Magic Transportation,在当前合同到期之前无需支付任何费用。优惠将于2020年9月1日到期。有关详细信息,请单击此处。