我现在正在使用阻止 ddos 攻击者的模块 apache2 Mod_evasive。
这是我正在使用的代码
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 3
DOSSiteCount 5
DOSPageInterval 2
DOSSiteInterval 1
DOSBlockingPeriod 30
#DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
DOSLogDir "/var/log/apache2/evasive20.log"
</IfModule>
我对自己进行了测试,我也被阻止了,它在 3 个(DOSPageCount)请求后给出了 Forbidden 消息,但这还不够。
因为仍然有流量带宽在进行。
所以我很想问是否有任何方法可以在 DOSSystemCommand 链接 UFW bash 脚本或普通命令
通过这种方式,我们可以删除该 IP,并且不会计算任何流量。
到目前为止,我尝试过,但不起作用。
DOSSystemCommand "su - root -c '/sbin/ufw -A ufw-before-input -s %s -j DROP'"
%s = 攻击者 ip