Zac*_*ith 3 linux denial-of-service ddos
我有一个网站在过去一个月每天的同一时间都被 DDOS 攻击,在花了一个月的时间研究和查明错误后,我们制定了一个 bash 脚本,如果连接在一分钟内达到 80+ 最大连接然后IP被禁止并放入IPTABLES。
这两天效果很好,我觉得我终于解决了这个问题。
但是,唉,现在这个人正在发送多个 IP,每个 IP 上只有一个连接(在此处查看输出http://pastebin.com/7AJqBfJa)。这会导致站点瘫痪,就像一个 IP 每分钟发送 150 个连接时一样。
在防止 DDOS 方面,这当然是一个完全不同的球赛,我正在寻求大师和任何足够关心的人的帮助,以提供一些建议。在这一点上,我不知道如何解决这个问题,任何帮助将不胜感激。
正如 Niall 所提到的,mod_evasive 在这种情况下工作得非常好,我最近用它来阻止我在我的一个网站上遇到的一个非常相似的问题。在您没有在单个 IP 上收到大量连接但您确实看到服务器上出现不自然模式的情况下,它会有所帮助。
就我而言,我也在这里写过博客,我安装了 mod_evasive 并使用以下设置对其进行了配置:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 3
DOSSiteCount 100
DOSPageInterval 3
DOSSiteInterval 5
DOSBlockingPeriod 300
DOSLogDir "/var/log/httpd/modevasive/"
DOSEmailNotify your@emailaddress.com
</IfModule>
Run Code Online (Sandbox Code Playgroud)
基本上,如果单个IP在5秒内请求相同的资源(文件)3次;或在 5 秒内对任何文件进行 100 次点击;然后 Apache 将拒绝对该文件的进一步请求。
如果你想增强这个脚本;您可以在命中参数时触发系统命令。就我而言,我将此命令添加到上面的配置中:
DOSSystemCommand "/usr/bin/sudo /usr/sbin/csf -td %s 3600"
Run Code Online (Sandbox Code Playgroud)
这使我的防火墙CSF阻止了 IP 一个小时。你可以很容易地编写一个 iptables 脚本来做同样的事情,但 CSF 对我来说很容易。
无论如何,希望能帮助您解决 DDOS 攻击者!
| 归档时间: |
|
| 查看次数: |
701 次 |
| 最近记录: |