mod security 2的某些规则会导致apache在重启时挂起



所以我已经尝试在我们的开发服务器上设置mod安全设置了几天了,并且在某些规则下,它会导致apache在重新启动时挂起。

导致它挂起的规则示例:

SecRule REQUEST_HEADERS:Content-Type "text/xml" 
     "id:'200000',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML"

(顺便说一下,此规则来自modsecurity.conf-recommended

)

一个规则的例子,如果没有其他规则使它挂起,则工作:

SecRule ARGS "../" "t:normalisePathWin,id:99999,severity:2,msg:'Drive Access',phase:1,deny,status:400"

我们的服务器设置如下:

Debian 6 "Squeeze"
Apache 2.2.22 (Binary install located in /usr/local/apache2)
Mod security 2.7.2 (located in /usr/local/modsecurity)

我已经确保所有的依赖关系都安装在正确的版本(libxml2, mod_unique_id等…)

日志中没有显示任何内容,屏幕上也没有任何错误,它只是挂起并且实际上没有重新启动

修改modsecurity.c和mod_security2.c来打印信息,我可以看到它在c应用程序中得到pfn_register,但似乎在那里搞砸了(仍在尝试确定位置)

我真的不知道还有什么要检查或做的,我能在我的笔记本电脑上设置得相当快,没有问题。它只是在我们的实际服务器上搞砸了。

任何帮助将不胜感激!

于是我像个疯子一样搜索了一下(在我提交问题之前,我不想让自己听起来像个疯子,但你知道我的意思),我找到了答案。或者至少到目前为止它看起来是工作的,我可以重新启动apache而不会挂起

配置mod安全性时使用此命令:

。/configure——enable-pcre-study =没有

我真诚地希望这能帮助别人在未来,因为这已经把我逼疯了在过去的几天。

最新更新