10月 29

mod_security2 で Core Rule Set に入っている base_rules ディレクトリにあるすべての設定を使ってみると、結構問題がある

せっかく mod_security2 と Core Rule Set をセットアップしたので、slowDoS攻撃以外にも
いろんな攻撃から防衛できるようにしようと欲張りたくのが人情というものです。

(しかし、試した結果、結構難があることがわかりました)

「base_rules」というディレクトリが Core Rule Set に入っています。
base」ってことは日本では「基本」であり「土台」ってことになります。
さぞかし安定していてそのまま使えて便利なのかな?と思ってしまいますね。
むしろ使わないと負けみたいな雰囲気です。

base_rules ディレクトリには以下のファイルが入っていました。

modsecurity_35_bad_robots.data
modsecurity_35_scanners.data
modsecurity_40_generic_attacks.data
modsecurity_41_sql_injection_attacks.data
modsecurity_50_outbound.data
modsecurity_50_outbound_malware.data
modsecurity_crs_20_protocol_violations.conf
modsecurity_crs_21_protocol_anomalies.conf
modsecurity_crs_23_request_limits.conf
modsecurity_crs_30_http_policy.conf
modsecurity_crs_35_bad_robots.conf
modsecurity_crs_40_generic_attacks.conf
modsecurity_crs_41_sql_injection_attacks.conf
modsecurity_crs_41_xss_attacks.conf
modsecurity_crs_42_tight_security.conf
modsecurity_crs_45_trojans.conf
modsecurity_crs_47_common_exceptions.conf
modsecurity_crs_48_local_exceptions.conf.example
modsecurity_crs_49_inbound_blocking.conf
modsecurity_crs_50_outbound.conf
modsecurity_crs_59_outbound_blocking.conf
modsecurity_crs_60_correlation.conf

これらをコピーして使用できるようにします(ディレクトリ配置が前に書いた記事の通りになっていることが前提)。

cp crs/base_rules/* crs/activated_rules/
service httpd restart

 

よしこれで、前より安全なサーバになったぞ!

 

 

 

 

 

 

 

 

あの頃は僕もそう信じていました。が、しかし

  • Mediawikiが動作しない
  • WordPressが動作しない
  • Windowsマシンに入れてあるRSSリーダまでもがエラーを出している

えー、なんで…って感じです。

 

 

当方の環境では、以下の設定ファイルを除外することで、問題を解消することができました。

  • WordPress で投稿の編集画面が開けない問題により modsecurity_crs_45_trojans.conf を撤去
  • WordPress で管理画面からプラグインの設定編集が行えなくなる問題により modsecurity_crs_60_correlation.conf, modsecurity_crs_50_outbound.conf を撤去

 

 

  • Mediawiki へログインできなくなっている問題により modsecurity_crs_41_sql_injection_attacks.conf を撤去
  • Mediawiki に投稿ができなくなっている問題により modsecurity_crs_20_protocol_violations.conf, modsecurity_crs_40_generic_attacks.conf, modsecurity_crs_41_xss_attacks.conf を撤去

 

結局、base_rulesに含まれる 15 の設定のうち、8個の利用を停止することになりました…。

 

 

以上のように、crsを盲目的に使用すると、痛い目に遭うことがわかりました。

もしかしたら、きちんとconfファイルの中を読んで、適切な設定にすれば使えるのかもしれませんが、
とりあえずコピーだけして使おうとすると、あたりまえの機能が割と使えなくなってしまうので、注意しましょうね、という話でした。

コメントを残す

Your email address will not be published.