web-dev-qa-db-ja.com

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

特定のディレクトリのみの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
10
dragonmantank

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

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

locationMatchの代わりに?

16
hdanniel

someサーバーおよびWebホストでは、.htaccessを介してModSecurityを無効にすることができますが、全体でのみ可能です(個別のルールではありません)。

これを特定の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
Simon East

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

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

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

2
SherloxFR