我们有奇怪的情况,我们已经在Ubuntu 14上配置了带有apache 2.4的mod_evasive。我们在白名单中添加了google bot IP(我们在白名单中维护了很长的内部和外部IP列表)。但谷歌IP仍然被mod_evasive阻止。
我们检查了mod_evasive功能,它工作正常(我们已经通过在白名单中添加IP来测试Apache基准测试工具)。以下是配置,原来IP-66.249.66.5是子网66.249.64.0/19的一部分,但我们已经添加了24和32子网
<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 8
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 3
DOSBlockingPeriod 600
DOSLogDir /var/log/mod_evasive
DOSEmailNotify abc@abc.com
DOSWhitelist 66.249.66.5 66.249.0.0/16 66.249.64.0/19
</ifmodule>
root@ip-10:~# apachectl -M | grep -i ev
evasive20_module (shared)
答案 0 :(得分:6)
基于https://www.linode.com/docs/websites/apache-tips-and-tricks/modevasive-on-apache,您应该使用通配符而不是子网划分。例如,以下内容(这与您的子网划分不完全相同):
DOSWhitelist 66.249.*.*
答案 1 :(得分:0)
有时您需要阻止/ 17或/ 19,而通配符在这种情况下不起作用。如果mod_evasive能够真正处理网络子网规范,那就太好了。