特定のディレクトリのmodsecurityを無効にする


11

特定のディレクトリのみのmodsecurityを無効にする方法を教えてください。phpMyAdminで、ルールに基づいてmodsecurityのトリップが原因でエラーが発生します。次のファイルを設定しています。

# /etc/httpd/modsecurity.d/modsecurity_crs_15_customrules.conf
<LocationMatch "^/phpMA/">
    SecRuleEngine Off
</LocationMatch>

# /etc/httpd/modsecurity.d/modsecurity_crs_60.custom.conf
<LocationMatch '^/phpMA/*'>
    SecRuleRemoveById 950004
    SecRuleRemoveById 950005
    SecRuleRemoveById 950006
    SecRuleRemoveById 960010
    SecRuleRemoveById 960012
</LocationMatch>

最初のファイルを見つけると、それは無効になるはずですが、それでもトリップします。そのため、トリップしているルールIDを60ファイルに追加しようとしましたが、それでも問題があります。

CentOS 5.3で次のパッケージを実行しています。

  • mod_security-2.5.0-jason.2
  • httpd-2.2.8-jason.3
  • mod-php5-apache2-zend-ce-5.2.10-65

承認された答えは安全ではありません。参照してください:serverfault.com/a/766395/345813
SherloxFR

回答:


17

SecRuleEngine Offが機能する必要があります。SecRuleEngineをDirectory内に配置しようとしましたか?

<Directory /var/www/site/phpMA>
SecRuleEngine Off
</Directory>

LocationMatchの代わりに?


1
15ファイルに、まだmodsecurity_audit.logに巻き込まれていると同じエラーを取得してはと付け加えてみました
dragonmantank

/etc/httpd/conf.d/mod_security.confにmodsecurity_crs_15_customrules.confおよびmodsecurity_crs_60.custom.confファイルが含まれていますか(コメントされていません)?
hdanniel 2009

facepalmいいえ、そうではありませんでした。それはそれを大事にしました。
dragonmantank

3

上のいくつかのサーバやウェブホスト、それは経由無効のModSecurityすることも可能です.htaccessが、唯一の全体(ではない個別のルール)で。

これを特定のURLに制限するには、<If>以下のステートメントで正規表現を指定できます...

### DISABLE mod_security firewall
### Some rules are currently too strict and are blocking legitimate users
### We only disable it for URLs that contain the regex below
### The regex below should be placed between "m#" and "#" 
### (this syntax is required when the string contains forward slashes)
<IfModule mod_security.c>
  <If "%{REQUEST_URI} =~ m#/admin/#">
    SecFilterEngine Off
    SecFilterScanPOST Off
  </If>
</IfModule>

2

すべてのルールを無効にしないでください!! これは深刻なセキュリティ問題を引き起こす可能性があります!

modsecurityのログファイルを確認する必要があります

tail -f /var/log/apache2/modsec_audit.log

そして、phpmyadminインターフェースでエラーを再現する各ルールを1つずつ除外します。

次に、追加:

<Directory /path/to/phpmyadmin>
    <IfModule security2_module>
        SecRuleRemoveByTag "WEB_ATTACK/SQL_INJECTION"
        {And other rules you need to disable ...}
    </IfModule>
</Directory>

/etc/apache2/mods-enabled/modsecurity.conf

削除する必要があるタグは、このようなログファイルにあります。特定のフォルダーのルールの削除の詳細については、プロジェクトのGithub wikiを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.