我在DDoS下。 我能做什么? 已经解决了这种“规范问题”,但是我想我正在问一个可区别的变体,如下所述。 但请告知这个post是否不合适。
我得到的攻击来自各种不断变化的IP, 在最后几分钟内从66.135.63.82。 所有攻击都是针对我在我的网站上使用的cgi(我自己写的),但是除了我之外,其他任何人都不感兴趣(显然,黑客))。 攻击运行我的CGI与看起来愚蠢的?query_string,我添加了一个似乎是可靠地识别它们的qvalidate()函数,到目前为止。 而对于无效查询,我现在睡觉(15),然后发送一个〜25MB的页面给攻击者(只是为了表明我也可以烦人:)。 而且他们似乎在等待 – 而不是每秒多次的攻击,现在它们大约以15秒为间隔分布。
但是从长远来看,这个半定论看起来很愚蠢,最终也是无效的。 而且我每天都要花费很多时间检查一些东西,偶尔也会调整程序。 所以我问的是 – 什么我可以编码到我的cgi更好地处理这些攻击发生? 我手中的攻击,可以这么说,实时发生。 我有一个getenv(“REMOTE_ADDR”)的ip。 所以在这一点上,我可以做任何我想做的事情(除了发出他的声音,这是我真正想做的,但不知道如何编码:)。 什么是最好的事情? 谢谢。
编辑 – 感谢回复,伙计们。 我应该提到我的网站是在共享主机dreamhost.com,所以一些build议是无法给我的。 我正在等待来自isp的回复。 但是因为这是我自己的cgi目标,我希望这给了我一个机会做一些不可能的事情。
编辑 – @HBruijn为什么偏题? 在这个post的最顶端,我也给这个网站的“规范问题”链接也是这个话题。 然后我继续解释为什么我认为我在问这个(显然是在话题上)问题的“可区分的变体”。 此外,我最初发布了https://softwareengineering.stackexchange.com/questions/316052/how-to-best-deal-with-ddos-attack-against-your-my-site ,他们告诉我在这里发布。 去搞清楚:)
我首先使用fail2ban来观看Web服务器日志,任何时候它看到一个狡猾的命中,防火墙下一个小时的IP或沿着这些线路的东西。 但是,这依赖于对服务器的root访问权限来操纵防火墙。
有像cloudflare第三方服务,可以清理你的stream量才find你。 他们的服务范围从免费到昂贵。 查看选项,看看有没有什么用处符合你的预算。
您可能还想与您的托pipe服务提供商进行沟通,如果您的托pipe服务提供商不具有root访问权限,并且可能有一系列其他的ddos缓解选项,可以通过运行服务器和networking,我们通过订阅第三方ddos服务沿线,如果cloudflare。
不要打扰你的代码睡觉。 它比你更伤害你(如果它们并行发出请求,你会更快地耗尽内存)。 尽可能快地丢弃错误的连接。