XAMPP に ModSecurity(WAF)を導入する手順メモ
ちょっと前に WAF の実験のために Linux に ModSecurity(WAF) を導入したのだが、せっかくなので Windows の XAMPP にも ModSecurity を導入してみた。
XAMPP への ModSecurity 導入手順
必要なファイル群のダウンロード
・ModSecurity
本体(というかモジュール)。
・OWASP ModSecurity Core Rule Set (CRS)
CRS ってのは WAF のルールを記述したファイル群のこと。
・unicode.mapping
フォルダ作成
あらかじめ以下のフォルダを作っておく。
- /xampp/apache/conf/modsecurity/
- /xampp/apache/conf/modsecurity/rules/
ファイルの設置
ダウンロードしたファイルを解凍して以下のように配置。
(libcurl.dll は必須ではない気もすっけど、まぁいいか)
ファイル | 配置するフォルダ | 備考 |
---|---|---|
libcurl.dll | /xampp/apache/bin/ | |
yajl.dll | ||
modsecurity.conf | /xampp/apache/bin/ | modsecurity.conf-recommended をリネーム |
unicode.mapping | ||
crs-setup.conf.conf | /xampp/apache/conf/modsecurity/ | crs-setup.conf.example をリネーム |
rules フォルダ内の conf / data ファイル全部 |
/xampp/apache/conf/modsecurity/rules/ | |
mod_security2.so | /xampp/apache/modules/ |
httpd.conf
/xampp/apache/conf/httpd.conf に以下を追記
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
Include conf/modsecurity.conf
Include conf/modsecurity/crs-setup.conf
Include conf/modsecurity/rules/*.conf
</IfModule>
modsecurity.conf
modsecurity.conf 内の記述を以下のように変更
#SecRuleEngine DetectionOnly
SecRuleEngine On
#SecRequestBodyAccess On
SecRequestBodyAccess Off
#SecAuditLog /var/log/modsec_audit.log
SecAuditLog logs/modsec_audit.log
XAMPP の Apache 再起動
XAMPP の Apache を再起動して、Apache が正常に起動することを確認。
以上で ModSecurity の導入完了。
これで不正なアクセスに対しては 403 Forbidden になる。
/xampp/apache/logs/modsec_audit.log にログが記録されるので、いろいろ試してみると良い。
ディスカッション
コメント一覧
まだ、コメントがありません