大型请求主体 DoS 攻击——这真的值得担心吗?

大型请求主体 DoS 攻击——这真的值得担心吗?

有人能解释为什么限制最大请求主体大小有助于防止 DoS 攻击吗?例如,ModSecurity 使用 SecRequestBodyNoFilesLimit 默认为 1MB。

我想知道为什么这如此重要,因为我认为通常 DoS 攻击(不一定是 DDoS 攻击)依赖于对攻击者来说便宜而对被攻击的服务器来说昂贵的东西。

例如,如果请求主体限制为 1MB 而不是 10MB,那么攻击者是不是会连续发出十个 1MB 请求,而不是在相同的时间内发出一个 10MB 请求(当然假设没有请求速率限制)?

这主要是因为应用程序级问题吗?这可能会导致非常大的请求体在拒绝服务方面产生乘数效应(即,这只是一个一般的预防措施,根据应用程序的不同,可能需要也可能不需要),还是我遗漏了什么而它总是有益的?

答案1

我认为通常 DoS 攻击(不一定是 DDoS 攻击)依赖于某种对于攻击者来说成本低而对于被攻击的服务器来说成本高昂的东西。

在大规模僵尸网络出现之前,情况就是如此。现在,对于攻击者来说,一切都很便宜,因为他们不需要支付任何带宽费用。

答案2

我认为这与 RAM 使用率 DoS 预防有关。如果最大请求主体大小为 100MB,则 100 个并发请求可能使用最多 10,000MB(100MB*100)的 RAM,而如果最大请求主体大小为 1MB,则总共仅使用 100MB(1MB*100)。这是假设 Web 服务器将请求主体缓冲在内存中,我认为除了文件上传之外,情况都是如此。

相关内容