我已经使用中的说明在ubuntu 12.04 LTS上安装了mod_evasive
我的mod_evasive.conf看起来像:
<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSLogDir /var/log/mod_evasive
DOSEmailNotify root@localhost
DOSSystemCommand "sudo /root/scripts/ban_ip.sh %s"
</ifmodule>
DOSEmailNotify和DOSSystemCommand似乎都不起作用。
如果我运行test.pl,mod evasive附带的测试脚本,我将获得成功的连接,然后403被禁止,因此模块将获取多个连接并禁止进一步的连接。
但是,不会发送任何电子邮件,也不会执行DOSSystemCommand。我尝试过将DOSSystemCommand更改为简单的东西,比如向文件发送日期,但这似乎也不起作用。
奇怪的是,99%的时候什么都不起作用,1%的时候我会收到一封电子邮件,DOSSystemCommand会运行。但他们似乎没有任何模式。
我知道他们是类似的错误报告https://bugs.launchpad.net/ubuntu/+source/libapache mod evasive/+bug/605679,这建议制作一个simlink,我已经尝试过了,但没有效果。
有人在UBUNTU 12.04 LTS上拥有Mod_Evasive工作权限吗?
编辑:我发现问题了。符号链接确实修复了这个错误。
Mod_evasive在/var/log/Mod_evasive中保留了一个被禁止的ip列表。如果我完全清除这个列表并运行测试脚本,机器就会被禁止,并发送一封电子邮件。一旦IP被禁止,即使mod_evasive DOS攻击间隔到期,IP重新攻击服务器,您也不会收到任何进一步的电子邮件。
大多数情况下,它应该可以工作——在ubuntu-12.04 LTS上,只有一个为mod_evasive指定的电子邮件错误,可以通过创建符号链接来修复。请查看下面的链接,它肯定会解决问题。它还提到了如何修复电子邮件错误。
http://www.thefanclub.co.za/how-to/how-install-apache2-modsecurity-and-modevasive-ubuntu-1204-lts-server
如果你对DOS/DDOS的预防感兴趣,我也一直在使用OSSEC,这是一个很好的方法,它不仅可以防止http、apache的DOS/DDOS,还可以防止其他协议的DOS/DDOS。
谢谢&当做Alok Thaker