我在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规则。 我已经添加了包含指令。 但是我不知道这个包含是自动完成的。 我删除了我的包含指令后,一切工作正常。