如果我在呈现我的 HTTP 响应时引入Thread.Sleep(x)
延迟,哪里x
会根据来自给定 IP 的请求率而改变:从请求率低时为零,如果请求一个接一个地跟随,则逐渐增加。
这是防止 DDOS 的可行解决方案吗?
弱点是什么?
不,它不能防止 DDOS 攻击。它可以防止 CPU 过载,但它仍然会在其休眠时占用线程,因此攻击者可以轻松占用 Web 服务器中所有分配的线程,使其无响应。它实际上使执行 DDOS 攻击变得更容易。
通过减少每秒可以进行的尝试次数,可以使用 Sleep 来防止蛮力攻击。(缺点当然是它对 DDOS 攻击更敏感。)
线程睡眠仅有助于防止密码攻击。您可以使用它们来防范:
除了这些用途之外,线程睡眠在安全方面没有太多应用。它们占用资源(连接或会话状态),因此对于防范 DoS 攻击毫无价值。
它绝对不能阻止 DDOS,因为您的应用程序前面的网络设备可能仍然不堪重负。
此外,“分布式拒绝服务”的分布式特性意味着您将获得来自许多不同 IP 的过多流量,而不是一个。
但无论如何,你在你的应用程序中所做的事情并没有绕过你的应用程序前面的任何东西,以免不堪重负。
DDoS 不能通过代码保护,它不仅仅是保护您的服务器,通常 DDoS 会伤害您的负载均衡器和防火墙(如果有的话),如果没有,DDoS 会伤害您的服务器。
DDoS 可以通过多个级别完成:UPD/TCP/HTTP 等...
保护自己免受 DDoS 攻击的最佳方法是使用反向代理,因此如果您访问您的站点,它不会显示真实 IP,很高兴我们现在可以免费使用 Cloud Flare。https://www.cloudflare.com/
我写了一篇关于 Cloud Flare 如何在我使用它们一年以来保护您的小文章,它们是迄今为止最好的和最便宜的。
http://www.yourwwwdesign.com/2012/07/23/best-practice-to-protect-your-site-from-ddos-for-free/
希望这可以帮助!如果您需要更多帮助,请随时与我联系。
不会。DDoS 是一种使用大量受感染机器攻击目标的攻击。这将防止像 DoSes 这样的小型攻击,但不能防止分布式攻击。通常,您的网络服务器会在可能产生任何影响之前崩溃。
如果您遇到很多问题,我会推荐 DDoS 保护服务或主机。