如何禁用特定目录中的特定mod_security规则?

时间:2017-04-23 14:14:46

标签: mod-security2

我想禁用此规则:

[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?还是vhost文件?

Cuase似乎没什么用。

我正在使用apache2

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

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

1 个答案:

答案 0 :(得分:2)

在配置中定义规则之后应添加。因此,如果您要定义vhost(包括删除上述规则),然后在配置中加载ModSecurity规则,那么这将无效 - 它需要反过来。

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

此外,在LocationMatch中添加规则可能会导致问题。而且wp-admin就是你想要使用ModSecuritg来防范的页面,所以要仔细考虑你是否真的要关闭这些规则。有关更多信息,请参阅我对此问题的回答:Apache LocationMatch wildcard for ModSecurity on wordpress site

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

 SecRuleUpdateTargetById 981173 !ARGS:'customize_changeset_uuid'

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