mod_evasive 不会阻止导致 DoS 的 IP,但它会将 IP 记录在/tmp
目录中。它生成到此目录的文件被命名dos-XXX.XXX.XXX.XXX
(XXX.XXX.XXX.XXX
作为 IP)。操作系统是 FreeBSD。
已阅读 mod_evasive 不能很好地与 mpm_prefork_module 一起使用,因为它使用线程而不是进程。这没有被使用,但 mpm_event_module 是(不是 mpm_worker_module)。不确定这是不是问题?
以下是在以下位置创建的 mod_evasive 配置文件的内容/usr/local/etc/apache24/Includes/mod_evasive.conf
:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSPageInterval 1
DOSSiteCount 50
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify example@example.com
</IfModule>
还读过 mod_evasive 使用 iptables,但正在使用 ipfw。同样,我不确定这是否是问题所在?
还注意到sudo
在网上找到的一些示例中(特别是在使用 mod_evasive 时)赋予 Apache 特权的趋势DOSSystemCommand
。我不打算授予 Apachesudo
特权,但尝试使用DOSSystemCommand
withsudo
特权向 ipfw 添加拒绝指令:
DOSSystemCommand "sudo ipfw add 00010 deny ip from %s to any"
这也没有好结局。任何帮助表示赞赏,谢谢。