apache mod_evasive与mpm_prefork设置工作

我试图find所有的信息,我可以在这个,我理解mod_evasive不工作时,服务器是在mpm_prefork模式(而不是工人)的问题。

但是,我能够通过降低部分工作来部分工作

StartServers MinSpareServers MaxSpareServers 

在configuration文件中。 所以我的问题是:如果我configurationmpm_prefork.conf

 StartServers 1 MinSpareServers 0 MaxSpareServers 0 MaxRequestWorkers 150 MaxConnectionsPerChild 0 

会基本上等于一个实例运行(就像“工人”),在这种情况下,mod_evasive仍然会运行,就好像服务器正在作为“工人”一样运行?

在这样的设置中是否有任何潜在的问题? (如很多合法请求没有被处理等)? 有没有其他选项可以满足我的基本要求(mod_security会有帮助吗?)

我知道这不是缓解攻击的最好方法,但我只是寻找自定义搜寻器的基本安全性,偶尔会使服务器每秒钟有数十个请求超载。

看起来像mod_evasive使用的计数器不在进程之间共享。 因此,每次mpm_prefork产生一个新的进程,计数器都回到0。

因此,使用mpm_prefork进行mod_evasive工作的一个方法是:

  • StartServers = MaxRequestWorkers = MaxSpareServers(因此所有进程在启动时创build,不会创build或终止新进程)
  • MaxConnectionsPerChild 0 (所以进程将不会被回收,但是这可能是内存泄漏的危险,所以你应该使用一个较大的值而不是0)
  • 将DOSPageCount和DOSSiteCount除以服务器进程的数量

这只是基于我可以在我自己的服务器上观察到的行为,应该仔细testing。