首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOS MVC:防止ASP.NET站点上的拒绝服务攻击的好方法是什么?

DOS MVC:防止ASP.NET站点上的拒绝服务攻击的好方法是什么?
EN

Stack Overflow用户
提问于 2009-06-01 06:42:16
回答 2查看 6.5K关注 0票数 1

我正在寻找一种既好又便宜的方法来防止我的ASP.NET MVC站点上的拒绝服务攻击。

我一直在考虑一种解决方案,它拦截HttpHandler,然后计算缓存对象中的请求,关键字类似于"RequestCount_IpAddressOfRequestClient“,但这似乎会产生疯狂的开销。

任何想法都将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-01 07:11:56

您可能会考虑尝试限制请求。通过IP和/或cookie识别用户,并将请求限制在(比方说)每两秒1个。人类不会注意到,但这会大大减慢机器人的速度。

这在应用程序级别有所帮助(保护您的应用程序/数据库),但这并不是一个完整的解决方案,因为网络级别的点击率仍然很高。

作为前线防御,我可能会依赖于硬件。许多ISP提供一些保护,例如:http://www.softlayer.com/facilities_network_n2.html

票数 5
EN

Stack Overflow用户

发布于 2019-05-10 18:02:03

这是一个非常古老的问题,但我希望这个参考对其他人有所帮助。

现在我们使用'API Protector .NET‘(https://apiprotector.net)来保护我们的API免受DoS和DDoS攻击。

它是一个与MVC、WebApi和.NetCore兼容的库,它为我们提供了非常好的结果,无论是在simplicity中,但从根本上来说,都是在that中有了这个库,你就可以用一行代码,以一种非常特殊的方式来保护你的API的每个函数。

如API Protector .NET官网所述:

如果您将您的应用编程接口限制为每个IP或每个用户只能有N个请求,这就足够了,因为这N个请求可以不断地影响相同的特定繁重功能,从而严重降低整个服务的速度。

API的每个函数必须以特定方式进行限制,具体取决于该函数对服务器的正常使用频率和处理成本,否则将无法保护您的API。

接口保护器.NET可以让您轻松地保护您的.NET接口的每个函数免受DoS和DDoS攻击,以一种简单、声明和可维护的方式。

唯一的缺点是它花费了5美元,但它以非常低的价格给了我们想要的东西,不像WebApiThrottle库,尽管它是我尝试的第一个选择(因为它是免费的),但当我们想要以特定的方式保护不同的功能时,它最终是不切实际的,不可维护的(正如所解释的,这对于有效的保护至关重要)。

接口保护器.NET允许组合不同的保护(按ip、按用户、按角色、一般等),使用单行来装饰每个功能,这使得易于实现和维护。有关详细说明,请阅读:https://apiprotector.net/how-it-works

一个有趣的轶事是,以前,当我们还在使用WebApiThrottle保护我们的API时,我们做了一些模拟DDoS攻击的测试,有来自不同主机的许多并行请求,并且出于某种原因(我认为这是由于与线程同步有关的原因),突然有请求进入函数,后来由于服务器已经超载,节流开始了。这一点,加上困难的可维护性,并没有给我们太多的信心来提供可靠的保护,这就是为什么我们最终尝试了这个工作良好的替代方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/933756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档