云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站建设_凡人修仙传txt百度云_返利

小七 141 0

无障碍:使不可测量的缓解成为可能的体系结构

在构建DDoS缓解服务时,人们很容易认为解决方案是清理中心或清理服务器。一、 一开始也认为这是个好主意,但经验表明,这种方法存在严重的缺陷。清理服务器是一台专用机器,它接收所有以IP地址为目的地的网络流量,并尝试过滤好的流量和坏的流量。理想情况下,清理服务器只会将非DDoS数据包转发给被攻击的互联网应用程序。擦洗中心是一个专用的位置,里面装满了擦洗服务器。洗涤器的三个问题清理的三个最紧迫的问题是:带宽、成本、知识。带宽问题很容易看出。由于DDoS攻击已扩展到>1Tbps,因此具有如此多的可用网络容量是个问题。为DDoS抵御提供和维护多TBP带宽既昂贵又复杂。它需要位于互联网上正确的位置来接收和吸收攻击。如果不是这样,那么攻击流量将需要在一个位置接收、清理,然后清理转发到真实服务器的流量:这可能会在有限的位置造成巨大的延迟。想象一下,你已经建立了一个小数量的清理中心,每个中心都通过许多Gbps的连接连接连接到Internet。当发生DDoS攻击时,该中心需要能够以线速率处理潜在的100s Gbps攻击流量。这意味着奇特的网络和服务器硬件。从路由器中的线路卡到服务器中的网卡,再到服务器本身,一切都将非常昂贵。这(以及上面的带宽)是DDoS缓解传统上花费巨大且按攻击大小计费的原因之一。最后一个问题,知识,是最容易被忽视的。当您开始构建一个清理服务器时,您正在构建一个必须将好的包与坏的包分开的东西。一开始这似乎很简单(例如,让我们过滤掉未建立的连接的所有TCP ACK包),而低级别的工程师很容易为编写高性能代码而兴奋。但是,攻击者并不愚蠢,他们会将合法的流量扔到清理服务器上,并且越来越难区分好坏。在这一点上,清理工程师需要成为协议栈各个层次的专家。这意味着你必须在所有级别的TCP/IP、DNS、HTTP、TLS等方面建立能力,这很难。CC BY-SA 2.0图像,作者:Lisa Stevens归根结底,洗涤中心和异国情调的硬件是很好的营销手段。但是,就像中世纪的城堡一样,它们非常昂贵和过时,被更好的武器和作战技术压倒。而且许多使用净化中心的DDoS缓解服务都以离线模式运行。它们仅在发生DDoS时启用。这通常意味着Internet应用程序在其流量被转移到清理中心之前将屈服于DDoS攻击。试想一下,市民们在接近的军队的炮火下逃离,躲在城堡的墙后。更好,更便宜,更聪明没有专用的清理器还有一个更微妙的问题:它迫使我们构建更好的软件。如果一个清理服务器变得不堪重负或出现故障,那么只有被清理的客户会受到影响,但是当缓解发生在运行核心服务的服务器上时,它必须工作并且有效。我在上面谈到了DDoS清理的知识。Cloudflare方法意味着,如果坏流量通过,比如大量的坏DNS包,那么它就会到达一个由该领域专家拥有和操作的服务。如果一个DNS洪水通过我们的DDoS保护,它击中了我们的定制DNS服务器RRDNS,那么从事这项工作的工程师可以发挥他们的专业知识。这造成了巨大的差异,因为结果要么是改进了DDoS清理,要么是对软件(例如DNS堆栈)进行了更改,从而提高了负载下的性能。我们经历了很多次这样的故事,整个软件栈也因此得到了改进。Cloudflare采取的DDoS缓解方法非常简单:让Cloudflare中的每一台服务器都参与到抵御中,在数据中心和其中的服务器之间平衡DDoS攻击,然后应用smarts来处理数据包。这些是处理我们整个服务的相同的服务器、处理器和核心。消除清理中心和硬件完全改变了构建DDoS缓解服务的成本。我们目前在世界范围内有大约15 Tbps的网络容量,但这种容量不需要外来的网络硬件。我们能够使用低成本或商品网络设备,使用网络自动化来处理正常和DDoS流量。正如Google最初通过编写将商品服务器绑定到一台超级(搜索)计算机的软件来构建其服务一样,我们的架构将商品服务器绑定到一个巨大的网络设备中。通过构建世界上最具窥视性的网络,我们以合理的成本构建了这一能力,更重要的是,我们能够以低延迟链路在全球范围内处理攻击流量。没有洗涤液可以这么说。而且,由于Cloudflare为我们的客户管理DNS,并使用来自僵尸网络的任意广播网络攻击流量会自动分布在我们的全球网络中。每个数据中心处理一部分DDoS流量。在每个数据中心内,DDoS流量在运行我们服务的多个服务器之间进行负载平衡。每台服务器处理一部分DDoS流量。这种DDoS流量的传播意味着单个DDoS攻击将由世界各地的大量独立服务器处理。随着Cloudflare的增长,我们的DDoS抵御能力会自动增长,而且由于我们的DDoS抵御功能已内置在我们的堆栈中,因此它始终处于开启状态。我们每三分钟缓解一次新的DDoS攻击,互联网应用程序无需停机,无需"切换"到清理中心。在服务器内部一旦所有这些全局和本地负载平衡发生,数据包最终会命中服务器中的网卡。这是一个定制的DDoS抵御服务。多年来,我们已经学会了如何自动检测和减轻互联网对我们造成的影响。对于大多数攻击,我们依赖于动态管理iptables:标准的Linux防火墙。我们已经谈到了过去最有效的技术。iptables有很多非常强大的特性,我们根据具体的攻击向量选择这些特性。根据我们的经验,xt_bpf、ipset、hashlimits和connlimits是最有用的iptables模块。但是对于非常大的攻击,Linux内核不够快。为了减轻内核处理过多数据包的问题,我们尝试了各种内核绕过技术。我们已经解决了部分内核旁路接口-Solarflare特定的EFVI。有了EFVI,我们可以将防火墙规则的处理转移到用户空间程序中,我们可以轻松地在每台服务器上每秒处理数百万个数据包,同时保持较低的CPU使用率。这使我们能够抵御最大的攻击,而不会影响我们的多租户服务。开源Cloudflare的愿景是帮助构建一个更好的互联网。修复DDoS是其中的一部分。我们一直在无情地记录我们遇到的最重要和最危险的攻击,打击僵尸网络和开放源代码的关键部分,我们的DDoS基础设施。我们已经开源了各种工具,从我们的BPF工具这样的底层项目,我们用来抵御DNS和SYN洪水,到在NGINX之上为OpenResty提供一个高性能的应用程序框架,这对于构建L7防御非常有用。进一步阅读Cloudflare在过去写了大量关于DDoS缓解的文章。例如,博客文章:Cloudflare的架构如何允许我们扩展以阻止最大的攻击、反射反射(攻击)、每日DDoS:十天的大规模攻击,以及互联网的敌意:构建一个更具弹性的网络。如果您想深入了解,我的同事Marek Majkowski将深入研究我们用于抵御DDoS的代码。结论Cloudflare的DDoS抵御体系结构和定制软件使未计量的抵御成为可能。有了它,我们可以抵御最大的DDoS攻击,随着我们网络的增长,我们的DDoS抵御能力也随之增长。