ASP.NET Core如何通过限制请求大小来防止DDoS攻击?

问题描述 投票:1回答:1

我最近创建了一个API,该API允许上传视频和音频文件,并且在一个客户上传了大型视频并且出现此错误之前,它运行良好:

无法阅读申请表。超出了多部分主体的长度限制134217728。

[从许多帖子中可以明显看出,请求大小限制背后的理念是减少DDoS攻击的机会。 (如果我错了,请纠正我)。

但是,我自己上传了一个大型视频,并在本地PC和服务器上观看了带宽。我为此应用提供了VPS,并且可以通过选择“以太网”并查看发送和接收的图表来使用任务管理器的“性能”选项卡观看带宽。

重点是,当我上传文件时,我发现几分钟内流量很高,然后我看到了该错误。这意味着即使ASP.NET Core拒绝了请求,服务器的资源也会被消耗。

所以,我听不懂这部分。当实际占用带宽时,ASP.NET Core如何通过限制请求大小来减少DoS或DDoS攻击的机会?如果请求有效载荷/主体太大,甚至不占用带宽,则一种逻辑方法是从头开始丢弃multipart/form-data内容类型的请求。

asp.net-core-mvc ddos
1个回答
0
投票

Dotnet只能通过上传文件来了解文件的大小(在您的示例中消耗带宽)。

解决此问题的方法是set a smaller limit for the size of uploaded files

dotnet的工作方式,它将流式传输文件(一点一点地处理它)。一旦达到最大上传大小,它将返回错误。

您是对的,这不会阻止攻击者上传许多大文件-dotnet仍然必须上传/流传输它们,直到达到最大大小为止。减轻此类攻击的方法是通过其他手段-速率限制,IP阻塞,CDN处的DDoS保护等

© www.soinside.com 2019 - 2024. All rights reserved.