我试图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工作的一个方法是:
MaxConnectionsPerChild 0 (所以进程将不会被回收,但是这可能是内存泄漏的危险,所以你应该使用一个较大的值而不是0) 这只是基于我可以在我自己的服务器上观察到的行为,应该仔细testing。