1

我有多个启用了Modsecurity的虚拟主机。我想为多个虚拟主机分配多个OWASP 规则(来自 base_rules 文件夹),例如 SQL 注入。我已将它们包含在我的虚拟主机文件中,但是当我重新加载 apache 时收到以下消息:

ModSecurity: Found another rule with the same id Action '-t' failed. 

The Apache error log may have more information.

如何在不更改每个规则的 ID 的情况下将这些基本规则包含在多个虚拟主机中?该服务器旨在代理许多虚拟主机,因此更改每个规则和每个主机的 ID 需要手动完成大量工作。

4

2 回答 2

2

包括 VHOST 级别的规则就可以了。
导致错误的配置:

IncludeOptional folder_to_rules/modsecurity_crs_41_xss_attacks.conf
<VirtualHost *:80>
    ServerName example.com
    SecRuleEngine On

</VirtualHost>

解决方案:

<VirtualHost *:80>
    ServerName example.com
    SecRuleEngine On
    IncludeOptional folder_to_rules/modsecurity_crs_41_xss_attacks.conf
</VirtualHost>
于 2016-02-23T15:17:47.203 回答
1

将它们包含在服务器级别而不是虚拟主机级别。

如果某些虚拟主机不需要它们,则可以编写 ModSecurity 规则以根据传入的主机标头排除部分或全部规则。

于 2016-02-22T20:18:38.297 回答