security関連が最近騒がしいこともあって、なんとなく、当サーバーに mod_security を install してみようかと思い立った。
下記をサラッと yum install 。
mod_security_crs-2.2.6-3.el6.noarch
mod_security-2.7.3-3.el6.x86_64
すると、下記のルールが /etc/httpd/modsecurity.d/activated_rules/ に配備される。
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
/etc/httpd/conf.d/mod_security.conf にて、「SecRuleEngine DetectionOnly」に変更し、「SecDebugLog」をcomment-outする。
/etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf にて、「SecDefaultAction “phase:1,deny,nolog,auditlog"」に変更し、error_logに出力しないようにする。
この状態でApacheを再起動して、 mod_securityを有効にすると、スゴイ勢いでDETECTされまくる。ほぼ全て偽陽性。使えるようにするためには、Ruleの除外を、かなり頑張らないといけないようだ。。。orz..
さらには、この検出ログをGUIで閲覧可能にするWebアプリ「AuditConsole」と、mod_securityの検出ログをAuditConsoleに連携する mlogc-2.7.3-3.el6.x86_64 を install してみたのだが…。
mlogc による検出ログの連携がうまくいかないなぁ…。AuditConsoleのリソース消費(processor,memory)が異常に高くなったりする。AuditConsole.warを配置して、初期設定するだけで、Tomcat/conf/ にいろいろファイルを勝手に作るのも少し気に入らない。
ということで、一旦、いろいろ断念。