我正在开发一个 asp.net MVC Web 应用程序,客户要求我们尽最大努力使其尽可能地抵御拒绝服务攻击。他们担心该站点可能会收到恶意的大量请求,以减慢/关闭该站点。
我已经与产品负责人讨论过这个问题,因为它确实超出了实际 Web 应用程序的范围。我相信托管/网络团队有责任监控流量并响应恶意请求。
然而,他们坚持认为应用程序应该内置一些预防措施。不过,他们不想实施 CAPTCHA。
有人建议我们限制在给定时间范围内可以为会话发出的请求数量。我正在考虑做这样的事情 在 ASP.NET MVC 中实现请求限制的最佳方法?但是使用会话 ID 而不是客户端 IP,因为这会给来自公司防火墙后面的用户带来问题——他们的 IP 都是相同的。
他们还建议添加关闭站点某些区域的功能 - 建议管理员用户可以关闭数据库密集区域......但是这将通过 UI 进行控制,如果它受到 DOS 攻击,管理员肯定会无论如何,用户将无法访问它。
我的问题是,这样做真的值得吗?当然,真正的 DOS 攻击会更先进吗?
你有什么其他的建议?