我访问过的某些网站将我带到一个页面,该页面上大致显示“在访问example.com之前检查您的浏览器。CloudFlare进行了DDoS攻击防护”。帮助防御DDoS攻击吗?



评论

您可以添加指向此类网站的链接吗?

@FabioTurati:否。许多大型组织的网站都这样做,但是通常当您访问该页面时,您只会看到其正常页面。例如,如果CNN执行此操作,则该URL就是cnn.com(因此,这并非是执行此操作的特殊页面)。我已经从大公司和大学看到了这一点。不过有一段时间了,也许是一年多了:也许Cloudflare知道我的IP地址可能是合法的。

#1 楼

大多数拒绝服务(DOS)攻击都依赖于攻击者方和目标方所涉及资源之间的某种不对称性。换句话说,要获得成功,DOS需要采取一项措施,要求客户端使用很少的资源(因此每个客户端可以发送很多请求),而服务器端则需要使用更大的资源(因此服务器将无法使用)来处理负载)。

正因为如此,DDOS攻击(DOS攻击的“分布式”版本)显然不是由真正的人类点击浏览器选项卡中的链接进行的,而是由机器人发送了大量对目标的并行请求数量。其结果是DDOS“客户端”不是真正的浏览器,而是一种或多或少可以模拟一个工具。

Cloudflare DDOS保护系统在其网站上迅速介绍如下:“检查完成后,向您网站的访问者展示插页式广告5秒钟”。

有两件事引起了我的注意: :从自动DDOS机器人对真实网站用户进行排序的最明显方法是检查HTTP客户端是否为真实浏览器。这可以通过一组测试来测试客户端的行为(例如,参见“通过浏览器指纹进行机器人检测”一文),并将结果与​​客户端声称的真实浏览器实例的预期结果进行比较(例如如果客户端声称是在Windows 10计算机上运行的Firefox版本52,它是否具有相同的特征?)。

5秒:执行JavaScript测试并重定向访问者可能非常快速且几乎透明的操作,因此我认为这“ 5秒”超时并不是偶然发生的,而是旨在将计算的不对称性恢复为有利于服务器的状态。这种原则的最简洁的版本只是要求客户端等待(休眠)5秒,然后再提交相同的请求(使用存储在cookie中的唯一标识符,如Cloudflare页面所述)。这将迫使DDOS客户端以某种方式处理待处理的重定向队列,并最终使整个DDOS进程效率降低。
更残酷的选择是要求浏览器解决一些数学难题,这需要一些挑战。平均家庭系统要解决的秒数。在这种情况下,如果攻击者想继续进行攻击,他们将没有其他选择,只能花费计算能力来解决这些挑战,但是这样做会完全消除不对称性,因为所有攻击者的资源都将忙于解决挑战而不是发送请求,最后“ DOSing”攻击者的系统而不是目标系统。




评论


夫妻要点-a)这只行之有效,因为云弹可以吸收攻击。 cloudflare如何工作的部分原因在于它足够大,足以比DDoS攻击者更大。 b)从理论上讲,由于这是DDoS,因此攻击者可以得到更多的计算机,从而使等待的时间减少了5秒钟。当然这会花费更多,但是我发现cloudflare参与了一次不同的大规模攻击?

– Tim
17 Mar 27 '17 at 0:48

有时,DDoS是通过人类单击链接来完成的……例如,当发生与小网站直接/间接相关的重大新闻时,DDoS便会发生。服务器上(真正的)负载的突然增加可能具有与“机器DDoS”相同的特征。

–巴库留
17 Mar 27 '17 at 6:05

@Bakuriu从技术上讲,这不是DDoS。它可能具有相同的效果,但是DDoS通常是指旨在阻止用户访问网站的恶意攻击。

–米歇尔·约翰逊(Micheal Johnson)
17 Mar 27 '17在7:36

@Wealot这被称为工作证明系统。

–何三月
17 Mar 27 '17 at 18:20

@Bakuriu我们总是称其为斜线效果;)

–Wayne Werner
17 Mar 27 '17 at 21:12

#2 楼

只是添加我从经验中了解到的内容:Cloudflare阻止非图形浏览器(经过测试:链接,lynx),不是在第一页视图上,而是在第二页视图上。这些浏览器(大概)不会加载图像,至少不会显示图像,并且它们也不支持javascript。

我怎么知道?被破坏的图形环境所困扰,并在网上搜索答案……

#3 楼

这意味着页面所有者雇用了Cloudflare服务来保护其页面免受DoS攻击。是某种中间页面,用于检查连接,然后重定向并显示最终页面(如果通过了检查)。

它们检查连接的来源(IP),数据包的种类,数据包的大小,接收到的数据包的数量(速率),浏览器的用户代理等...是如何确定连接是否合法或不通过过滤器的方法。

#4 楼

“浏览器挑战”是做什么的?

JavaScript中的简单平庸计算。然后,它将UID设置为浏览器中的cookie。因此,下次您访问该网站时,它将检查Cookie是否存在以及该cookie是否未过期。如果cookie不存在或已过期,它将再次“挑战”您。

如何?随机的“秘密”数字,然后JavaScript进行数学运算并将表单提交给服务器。

这是缓解第7层DDoS攻击的最平庸的方法,因为只有真正的(ish)浏览器才能运行JavaScript并做数学。常规DDoS脚本(例如:loris loris无法运行JavaScript),并且由于服务器未收到计算,因此它仅返回403/503。