mod_securityとAuditConsoleを使ってみる
OSSなWAFがどんなものか気になったのでmod_securityとAuditConsoleを使ってみた。
また、両者の連携のためにmlogcが必要なため、併せて入れる。
おおむねこちらの記事を参考にした。
AuditConsoleを設定 - あるシステム管理者の日常
差分としては、AuditConsoleをyumにてインストールしたことくらい。
ちなみに、Javaのバージョンは特に意識しなくても問題なかった。
(1.8系のJavaが依存パッケージとしてインストールされていた)
mod_security
AuditConsole
AuditConsoleはtomcatで動くmod_securityのログの監視用Webインターフェースである。
mod_securityのコンソールはAuditConsoleとWAF-FLEの2種類あるようであるが、
今回はAuditConsoleを動かしてみる。WAF-FLEもそのうち試してみたい。
install / setup
こちらもyumで入れる。
標準のリポジトリには入っていないため、jwallのリポジトリを追加する。
手順はjwallのUser Guideに記載してある。
サービス開始前に
/etc/default/auditconsoleに
JAVA_HOMEを追記する。
JAVA_HOMEの確認は
readlink $(which java)
で出来る。
(設定時はbin/javaを除く。例えば、/usr/lib/jvm/java-1.6.0-openjdk)
ポート番号を変えたい場合にはここの設定で変えておく(デフォルトでは8080と8443)。
# systemctl start auditconsole
http://localhost:8080にアクセスして初期設定をする。
設定内容を変更する必要は特になかった。
mlogc
ソースからコンパイルする。
mod_securityのソースに含まれているのでダウンロードして、
./configure
make
する。
mlogcだけ欲しいのでmake installはしない。
mlogc.con及びmod_security.confを設定する。
なお、iusのリポジトリであればyumでインストールできるが、httpdもiusのものを入れる必要があるため、今回は却下。
エラー対応
mlogc-error.logに
Invalid entry (failed to match regex)
が出て、ログが正常にAuditConsoleに連携しない事象が発生。
mod_security.conにて
SecAuditLogType Serial
になっているのが原因であった。
SerialをConcurrentに変更して解消。