有没有关于 mod-evasive 的适当文档?

有没有关于 mod-evasive 的适当文档?

mod_evasive20是我 httpd 服务器上加载的模块之一。我读到过关于它可以阻止 DOS 攻击的好文章,想在我的本地主机上试用一下。搜索 mod_evasive 会出现博客文章作者简要描述了它的功能。

除此之外,我似乎找不到关于Apache 模块站点。我想知道它是否是 Apache 认可的模块,因为其网站上没有提及它。

我的文件夹mod_evasive.conf中有一个文件/etc/http/conf.d,其中包含以下几行:

LoadModule evasive20_module modules/mod_evasive20.so
<IfModule mod_evasive20.c>
 DOSHashTableSize    3097
 DOSPageCount        2
 DOSSiteCount        50
 DOSPageInterval     1
 DOSSiteInterval     1
 DOSBlockingPeriod   10
</IfModule> 

我从设置中了解到,如果我在一秒钟的间隔内单击刷新或发送表单超过两次,apache 将发出一个403 error并禁止我访问网站 10 秒钟。但这并没有发生在我的本地主机上。我想知道原因。谢谢。

答案1

Apache 模块站点仅列出随 Apache 官方源代码提供的模块。第三方模块(如 mod_evasive)未列出。每个第三方模块的文档通常由其作者完成,有时文档过于简短甚至缺失。

对于 mod_evasive 来说,也许文档太简短了,因为模块真的很简单,README 文件解释了最重要的细节,选项有“有用的”名称,并且通常默认值对大多数人来说都很好。

至于您在尝试从 localhost 触发 mod_evasive 时没有被阻止的原因,可能是浏览器缓存、过滤代理或其他原因。您可以尝试从控制台使用 wget(或 curl,或类似工具):

while true ; do { wget --output-document=x.txt --no-proxy --no-cache http://localhost ; } ; done

(要停止,只需在控制台中按 Ctrl-C)

通常输出将是类似的(获得 200 或 404 响应):

--2012-07-11 07:29:00--  http://localhost/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

然后当 mod_evasive 触发时,您将收到类似 403 个响应:

--2012-07-11 07:29:00--  http://localhost/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2012-07-11 07:29:00 ERROR 403: Forbidden.

相关内容