因此,几天来我一直在尝试在我们的开发服务器上设置 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,但似乎在那里搞砸了(仍在尝试查明位置)
我真的不知道还有什么要检查或做什么,我能够相当快地在我的笔记本电脑上设置它并且没有问题。它只是在我们的实际服务器上搞砸了。
任何帮助,将不胜感激!