[ModSecurity] 特定のルールだけを適用するには

Mod Securityをオンにしてみたいのだけど、一度に全部適用すると偽判定される可能性があるので、特定のルールだけ適用してMod Securityをしばらくテスト運用してみる。

デフォルトでは、ルールは以下ディレクトリに格納されている。

  • modsecurity.d/*.conf
    – modsecurity_crs_10_config.conf
  • modsecurity.d/activated_rules/*.conf
    – 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
  • modsecurity.d/local_rules/*.conf
    – modsecurity_localrules.conf

この中から、分かりやすいところでSQLインジェクションだけ適用してテスト運用する。

ログをクリアしておく。

Apacheを再起動して設定を適用。

サイトが正しく表示されることを確認したら、テスト運用開始。