T2.microです。
AmazonLinuxにModSecurityをインストールした際のメモを記載します。

環境

OS

AmazonLinux
・amzn-ami-hvm-2015.03.0.x86_64-gp2

web

Apache
・httpd-2.2.29-1.5.amzn1.x86_64

WAF

mod_security
・mod_security-2.8.0-5.27.amzn1.x86_64
・mod_security_crs-2.2.8-2.5.amzn1.noarch

 

注意点

1.ルールの適用については必ずテスト環境で導入試験を行うこと

これはWAF導入の際はもちろんのこと、
WAF自体とルールのアップデートを行う際にも必ず実施する。

2.性能面での考慮

適用するルールが増えるとその分レスポンスが遅くなることに注意する。

 

導入

ModSecurity本体をインストールする

 #yum install mod_security

OWASP Core Rule Set(セキュリティールール)をインストールする

#yum install mod_security_crs

Apacheを再起動する

/etc/init.d/httpd restart

 

設定ファイルを修正

● /etc/httpd/conf.d/mod_security.conf

<IfModule mod_security2.c>
    # Default recommended configuration
    SecRuleEngine On #On → DetectionOnly

DetectionOnly にすることで攻撃を検知しても
アクションを行わずにログに出力するのみとなる。

 

● /etc/httpd/conf.d/mod_security.conf

# Include modsecurity.d/activated_rules/*.conf
Include modsecurity.d/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf

たとえばSQLインジェクションのルールのみを使用する場合は上記のように、
Include modsecurity.d/activated_rules/*.confをコメントアウトし、
modsecurity_crs_41_sql_injection_attacks.confのみをIncludeする。

 

ログの確認

デフォルトでは以下のファイルにログが出力される。
(ログの出力先は/etc/httpd/conf.d/mod_security.confに書いてある)

/var/log/httpd/modsec_audit.log
正常なリクエストが攻撃と判定されている可能性があるかを事前に確認しましょう。

 

参考

http://dev.classmethod.jp/cloud/ec2-wafweb-application-firewall/
http://dev.classmethod.jp/cloud/aws/ec2-amazon-linux-waf-modsecurity-install/
http://j-caw.co.jp/blog/?p=1331

TOP