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

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

我在 CentOS 6.5 上安装了 httpd 2.2.15(最小安装,无 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"

答案1

我在按照教程操作时遇到了类似的问题 -http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/

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

答案2

根据您提供的信息,很难确切地说出重复发生的位置。本质上,一个规则被包含两次,而该规则通常在文件中定义modsecurity.conf。您可能包含此文件两次,或者您已将其内容复制到另一个 apache conf 文件中。要找到问题,您需要搜索重复的规则。以下是执行此操作的命令:

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

一旦您发现哪个其他文件包含该规则(或者可能在里面modsecurity.conf两次),您就需要想办法组织您的规则,以便规则不会被包含两次。这些说明为使用 OWASP ModSecurity 核心规则集提供良好的基础。

答案3

遇到了类似的问题https://www.tecmint.com/install-modsecurity-with-apache-on-debian-ubuntu/我自己使用 Debian 11。

在指南中需要编辑的地方,/etc/apache2/mods-enabled/security2.conf请确保它包含以下几行:

IncludeOptional /etc/modsecurity/*.conf
Include /etc/modsecurity/rules/*.conf

确保您也像这样注释最后一行,否则它将加载规则两次:

#IncludeOptional /usr/share/modsecurity-crs/*.load

答案4

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

我添加了自己的文件来配置规则。我还添加了 Include 指令。但我不知道这个包含是自动完成的。删除 Include 指令后,一切都正常了。

相关内容