mod_securityのログをrsyslogで転送してみた話
初めに
mod_securityのログをrsyslogで転送する方法です。
検索してもあまり出てこなかったのでメモ程度に書いておきます。
mod_securityのインストールと設定、syslogの設定はできていることを前提とします。
環境
- CentOS 7.5.1804 64bit Minimal
- mod_security.x86_64 0:2.9.2-1
- mod_security_crs.noarch 0:2.2.9-1
- Apache/2.4.6
設定-mod_security
WAFの話とかインストール方法とかは省略します。
コンフィグファイルを編集しloggerにログを渡すような設定をします。
vi /etc/httpd/conf.d/mod_security.conf
#変更前 SecAuditLog /var/log/httpd/modsec_audit.log #変更後 SecAuditLog "|/usr/bin/logger -p local1.info -t mod_security"
syslogにはlocal0~7までの比較的自由に使えるファシリティがあるので、今回はlocal1に設定しています。
これでsyslogにログを渡すことができます。
設定-syslog
syslogにログを渡せるようになったので、rsyslogでログを転送する設定を行います。
vi /etc/rsyslog.conf
#追記(local7がデフォで設定されてるので、その前くらいがわかりやすい?) local1.* @@[宛先ホスト]
@@の後に書いた宛先ホストの設定に従ってログが収集されるはずです。