自2008年以来,我就进入了数字市场,在此期间,我看到了从Joomla上的网站(还记得吗?)到如今的互联网的转变,其移动优先应用程序和数以亿计的IoT设备连接到网络。
在此期间,对互联网的攻击也发展良好:)
但是DDoS防护市场和运营商用来防御攻击的技术仍然处于封闭状态。
我将告诉您我对他的了解,并支持过去几年来一直遭受攻击的网站和Internet服务。
定期攻击。 总计350k要求,合法52k要求最初的攻击几乎与互联网同时出现。 自2000年代末以来,作为一种现象的DDoS就已经普及(
请参阅www.cloudflare.com/learning/ddos/famous-ddos-attacks )。
从大约2015年至2016年,几乎所有托管服务提供商都受到DDoS攻击的保护,例如竞争区域中最著名的站点(在IP站点eldorado.ru,leroymerlin.ru,tilda.ws上进行whois操作,请参阅保护运营商网络)。
如果10到20年前,大多数攻击都可以在服务器本身上
消除 (评估
90年代Lenta.ru系统管理员Maxim Moshkov的
建议 ),那么现在一切都会变得更加复杂。
首先,简要介绍攻击的类型。
在选择保护运营商方面的DDoS攻击类型
L3 / L4攻击(OSI模型)
- 僵尸网络中的UDP泛洪(许多请求直接从受感染的设备发送到受攻击的服务,通道被服务器阻止);
- DNS / NTP /等放大(许多从受感染的设备发出的易受攻击的DNS / NTP /等请求,发送者的地址被伪造,响应请求的数据包云淹没了攻击者的通道;这是对现代Internet进行的最大规模攻击的方式);
- SYN / ACK泛洪(许多连接请求发送到受攻击的服务器,连接队列溢出);
- 数据包碎片攻击,死亡ping,洪水泛滥(google plz);
- 等
这些攻击旨在用服务器“填充”通道或“杀死”其接收新流量的能力。
尽管SYN / ACK泛洪和放大非常不同,但许多公司在处理它们方面同样出色。 来自以下群体的攻击会引起问题。
对L7的攻击(应用程序级别)
- http Flood(如果网站或某些HTTP api被攻击);
- 攻击站点的易受攻击部分(没有缓存,站点上的负载非常重,等等)。
目标是使服务器“努力工作”,处理大量“好像真实请求”,并且没有资源来处理真实请求。
尽管还有其他攻击,但这是最常见的攻击。
对于每个受攻击的项目,都会以独特的方式创建L7级别的严重攻击。
为什么要2组?因为有许多人知道如何很好地抵抗L3 / L4级别的攻击,但是要么根本没有在应用程序级别(L7)上采取保护措施,要么在处理它们时比其他方法要弱。
DDoS防护市场上的谁是谁
(我的个人外观)
L3 / L4保护
为了通过放大来抵御攻击(“阻塞”服务器的信道),有足够宽的信道(许多保护服务连接到俄罗斯大多数主要的骨干网提供商,并且理论上的信道容量超过1 Tbit)。 不要忘记,非常罕见的放大攻击会持续一个小时以上。 如果您是Spamhaus,但每个人都不喜欢您-是的,您可以尝试放下通道数天,甚至要冒用过的世界僵尸网络进一步生存的风险。 如果您只有一家网上商店,即使它是mvideo.ru-1 Tbit达数天之久,您也会很快看到(我希望)。
为了抵御SYN / ACK泛洪,数据包碎片的攻击,需要设备或软件系统来检测和阻止此类攻击。
此类设备由许多公司制造(Arbor,Cisco,华为拥有软件解决方案,Wanguard软件实现等),许多骨干运营商已经安装了该设备并出售DDoS保护服务(我知道Rostelecom,Megafon,TTK,MTS的安装) ,实际上,对于所有大型提供商来说,托管者都对自己的a-la保护OVH.com(Hetzner.de面临ihor.ru本身的保护)进行了同样的处理。 一些公司正在开发其软件解决方案(诸如DPDK之类的技术可让您在一台物理x86机器上处理数十亿的流量)。
在知名玩家中,L3 / L4 DDoS或多或少有效地排斥了所有人。 我不会说谁拥有最大的信道容量(这是内部信息),但通常并不那么重要,唯一的区别是保护的工作速度(在项目停机时间的几分钟内或之后,就像在Hetzner中一样)。
问题是如何定性地做到这一点:可以通过阻止来自危害最大的国家的流量来抵消放大攻击,或者您只能丢弃真正不必要的流量。
但是同时,根据我的经验,俄罗斯市场上所有认真的参与者都可以毫无问题地应对这一问题:Qrator,DDoS-Guard,卡巴斯基,G-Core Labs(以前称为SkyParkCDN),ServicePipe,Stormwall,Voxility等。
除Cloudflare外,俄罗斯的公司很少与外国安全运营商合作。 我将分别介绍Cloudflare。
据同事称,我并没有遇到像Rostelecom,Megafon,TTK,Beeline这样的运营商提供的保护,他们为这些服务提供高质量的服务,但是目前,缺乏经验会定期产生影响:有时您需要在保护运营商的支持下加强某些工作。
一些运营商提供单独的服务“在L3 / L4级别防御攻击”或“通道保护”,其成本要比所有级别的保护便宜得多。
而且,如果骨干网提供商不能拒绝数百Gbps的攻击,它是否没有自己的通道?保护运营商可以连接到任何主要提供商并“自费消灭”攻击。 您将需要为通道付费,但并非所有这些数百Gbps都将始终被利用,在这种情况下,可以通过多种选择来显着降低通道成本,因此该方案仍然有效。
这些是我定期收到的高级L3 / L4保护报告,支持主机提供商系统。L7保护(应用程序级别)
L7级(应用程序级)的攻击能够稳定,有效地击败部队。
我有足够的经验
- Qrator.net;
- DDoS防护;
- G-Core实验室;
- 卡巴斯基
他们为每兆位的净流量收费,一兆位的费用约为几千卢布。 如果您至少有100 Mbps的纯流量-哦。 保护将非常昂贵。 我可以在以下文章中讲述如何设计应用程序,以便很好地节省保护通道的容量。
真正的“山丘之王”是Qrator.net,其余部分在他们身后。 在我的实践中,Qrator是唯一提供接近零误报率的产品,但同时价格却比其他市场参与者高出几倍。
其他操作员都有高质量和稳定的保护。 我们支持的许多服务(包括在该国非常著名的服务!)都受到DDoS-Guard,G-Core Labs的保护,并对结果感到非常满意,我建议您这样做。
Qrator击退的攻击仍然有小型保护运营商的经验,例如cloud-shield.ru,ddosa.net等。 我绝对不推荐,因为 经验不是很大,我将谈论他们的工作原理。 保护成本通常比大型企业低1-2个数量级。 通常,他们从较大的参与者之一购买部分防御服务(L3 / L4)+自行防御更高级别的攻击。 它可能非常有效+您可以花更少的钱获得优质的服务,但是请考虑,这些公司仍然是规模较小,人员少的公司。
云耀斑
CloudFlare是一个单独的现象。 这已经是一家耗资数十亿美元的大型公司,其客户是世界流量生成器的一半,而DDoS防护服务只是其服务中最著名的。 我们还不断将它们用于DNS托管CDN,作为流量代理服务。
对于没有复杂攻击的站点/服务,Cloudflare还可以,但是受到了严重的攻击(当它们不只是“填满”渠道,而是合并了多种类型的攻击时),他们的200美元的商业计划从没有挽救我们,而是谈论它们对俄罗斯的企业保护是没有道理的,向其他参与者求助更便宜,更有效。
为什么这样 我认为很难提供高质量的几乎免费的大规模服务。
顺便说一下,很多说俄语的工程师在CF中工作:)
外国保安人员
我曾经对Dragonara.net(曾经是世界上最大的安全运营商)有过真正的经验,而该公司现已不复存在。
Habré上已经有很多关于现代操作员的文章,我将提供指向
最新评论的链接:
habr.com/en/post/350384如果该项目不是针对俄罗斯市场的,那么他们中的许多人肯定会非常好,但是在俄罗斯,他们存在问题。
首先,有效的保护应尽可能靠近防御者,并应考虑当地特点(仅在俄罗斯,在中国第二,在南美第三)。
第二个原因:一项真正困难且昂贵的任务是在L7级别进行保护。 是的,这对每个人来说都是昂贵的,原则上,世界上没有多少公司提供良好的L7保护,而俄罗斯的服务通常只是赢得了竞争。
拒绝L7级别攻击的难度是什么?
所有应用程序都是唯一的,您需要允许对其有用的流量并阻止有害流量。 不一定总是能够明确淘汰漫游器,因此您必须使用很多真正程度的流量净化功能。
一旦
nginx-testcookie模块足够了,现在就足以抵御大量攻击。 当我在托管行业工作时,我的L7保护仅基于nginx-testcookie建立。 顺便说一句,Beget.ru,Netangels.ru,FastVPS.ru也有类似的系统。
attacks,攻击变得更加困难。 testcookie对基于JS的漫游器进行检查,许多现代漫游器可以成功通过它们。
攻击性僵尸网络也很独特,您需要考虑每个大型僵尸网络的功能。
放大,来自僵尸网络的直接泛洪,过滤来自不同国家/地区的流量(针对不同国家/地区的不同过滤),SYN / ACK泛洪,数据包分段,ICMP,http泛洪,而在应用程序/ http级别,您可以提出无限数量的不同攻击。
总体而言,在通道保护级别,用于清理流量的专用设备,专用软件,每个客户端的其他过滤设置中,可以有数十个和数百个过滤级别。
要正确管理此问题并为不同用户正确调整筛选设置,您需要大量的经验和合格的人员。 即使是已决定提供保护服务的主要运营商,也不能“愚蠢地把钱付诸东流”:必须在说谎的站点上获得经验,并对合法流量产生误报。
对于保护操作员,没有“点击DDoS”按钮,有大量工具,您需要能够使用它们。
还有一个额外的例子。
在受到600 Mbps容量的攻击期间,托管服务器阻止了没有保护的服务器(流量的“损失”不明显,因为仅攻击了1个站点,因此将其从服务器中删除了一段时间,并在一小时内释放了锁定)。
同一服务器受保护。 攻击者在被击退一天后“投降”。 攻击本身并不是最强的。L3 / L4攻击和针对它们的防护比较琐碎,主要取决于通道的厚度,检测和过滤攻击的算法。
L7攻击更为复杂和原始,它们取决于被攻击的应用程序,攻击者的能力和想象力。 保护他们需要丰富的知识和经验,其结果可能不会立即产生,也不会达到100%。 直到Google提出了另一个用于保护的神经网络。