Как отключить определенное правило mod_security в определенном каталоге?

Я хочу отключить это правило:

[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?

Потому что ничего не работает.

Я использую 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>

person romanturbo    schedule 23.04.2017    source источник


Ответы (1)


Его следует добавить после определения правила в вашей конфигурации. Поэтому, если вы определяете свой виртуальный хост (включая удаление вышеуказанного правила), а затем загружаете свои правила ModSecurity позже в свою конфигурацию, это не сработает - должно быть наоборот.

Кроме того, если ModSecurity не был скомпилирован с параметром --enable-htaccess-config (что не установлено по умолчанию), вы не можете изменять правила ModSecurity в файлах htaccess.

Кроме того, размещение правил в LocationMatch может вызвать проблемы. Кроме того, wp-admin — это именно та страница, от которой вы хотите использовать ModSecuritg для защиты, поэтому внимательно подумайте, действительно ли вы хотите отключить эти правила. См. также мой ответ на этот вопрос для получения дополнительной информации: Apache Подстановочный знак LocationMatch для ModSecurity на сайте wordpress.

Поэтому я бы предложил вместо этого использовать следующее, чтобы отключить это правило только для этого аргумента, который вызывает у вас проблемы:

 SecRuleUpdateTargetById 981173 !ARGS:'customize_changeset_uuid'

Обратите внимание, что вам может понадобиться добавить подобные исключения, если какие-либо другие аргументы вызывают проблемы.

person Barry Pollard    schedule 23.04.2017
comment
У меня не было возможности проверить это, так как, наконец, я переустановил все, и оно внезапно заработало. Но спасибо за ответ - person romanturbo; 24.04.2017