mod_security:具有相同ID的另一个规则

我在CentOS 6.5上安装了httpd 2.2.15(最less安装时没有cPanel)和modsecurity 2.8。 当我启动httpd我得到这个错误:

Starting httpd: Syntax error on line 23 of /etc/httpd/conf.d/modsecurity.conf: ModSecurity: Found another rule with the same id 

第23行是:

 "id:'200000',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML" 

我遇到类似的问题,而遵循教程 – http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/

我的httpd.conf文件已经包含了* .conf文件,教程中我明确地包含了modsecurity.conf文件。 结果,我所有的规则都是重复的,因为conf文件包含了两次。

根据您提供的信息,很难确切地说明重复的情况。 本质上,一个规则被包含两次,通常在modsecurity.conf文件中定义。 您可能包含此文件两次,或者您已将其内容复制到另一个apache conf文件。 要find问题,您需要search重复的规则。 这是一个可以做到的命令:

 find /etc/httpd -name '*.conf' -exec grep -H "'200000'" {} \; 

一旦你发现哪个其他文件包含规则(或者它的内部modsecurity.conf两次),你需要考虑一种方式来组织你的规则,这样规则不会被包含两次。 这些说明为使用OWASP ModSecurity核心规则集提供了良好的基础。

我正在使用类似的教程, http://idroot.net/tutorials/how-to-install-mod_security-apache-on-centos-6/ ,并有同样的问题。

我的安装问题是在CentOS上, /etc/httpd/conf/httpd.conf中的configuration文件是在第220行左右加载的:

 Include conf.d/*.conf 

然后教程让我在httpd.conf的末尾安装以下内容:

 <IfModule security2_module>   Include conf.d/modsecurity.conf </IfModule> 

哪一个是第二次加载modsecurity.conf。

我刚刚删除了底部的IfModule Include代码,它工作正常。

我遇到了和你一样的麻烦,我发现我已经包含了同样的文件。

我添加了自己的文件来configuration规则。 我已经添加了包含指令。 但是我不知道这个包含是自动完成的。 我删除了我的包含指令后,一切工作正常。