2

我想禁用此规则:

[file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "159"] [id "981173"] [rev "2"] [msg "Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded"] [data "Matched Data: - found within ARGS:customize_changeset_uuid: a507417f-75f3-434e-ac8c-90b21b3b164d"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"]

对于目录

/var/www/romanpastu/wp-admin

异常应该去哪里?在我的 .htaccess 中?还是虚拟主机文件?

因为似乎没有任何工作。

我在用着apache2

我尝试在我的virtualhost文件中添加以下内容。但是,它仍然无法正常工作

<LocationMatch "/wp-admin/update.php">
    <IfModule security2_module>
        SecRuleRemoveById 981173
    </IfModule>
</LocationMatch>
<LocationMatch "/wp-admin/customize.php">
    <IfModule security2_module>
        SecRuleRemoveById 981173
    </IfModule>
</LocationMatch>
4

1 回答 1

3

它应该在您的配置中定义规则之后添加。因此,如果您正在定义您的虚拟主机(包括删除上述规则),然后稍后在您的配置中加载您的 ModSecurity 规则,那么这将不起作用 - 它需要反过来。

此外,除非 ModSecurity 是使用--enable-htaccess-config设置编译的(默认情况下不是),否则您无法更改 htaccess 文件中的 ModSecurity 规则。

此外,在 LocationMatch 中放置规则可能会导致问题。而且 wp-admin 正是您想要使用 ModSecuritg 来保护的那种页面,因此请仔细考虑您是否真的想关闭这些规则。另请参阅我对这个问题的回答以获取更多信息:Apache LocationMatch wildcard for ModSecurity on wordpress site

因此,我建议使用以下内容仅针对导致您出现问题的参数关闭此规则:

 SecRuleUpdateTargetById 981173 !ARGS:'customize_changeset_uuid'

请注意,如果任何其他参数导致问题,您可能需要添加类似的异常。

于 2017-04-23T17:29:54.513 回答