【LIVA】【Ubuntu server14.04】iptablesのログを個別ファイルに出力
iptablesの設定でログを出力できますが、これらは「/var/log/kern.log」に出力されるので、必要なログだけを抜粋できるようにします。
1.出力設定ファイルを作る
$sudo vi /etc/rsyslog.d/iptables.conf
:msg,contains,"DROP" /var/log/iptables/DROP.log
:msg~から続く記載をします。""で括った文字列がkern.logにあれば、それを/var/log/iptables/DROP.logに抽出します。
"DROP"という文字列は普通はkern.logされませんが、iptablesの設定で
/sbin/iptables -A xxx -j LOG --log-prefix "DROP: "
/sbin/iptables -A xxx -j DROP
というようにしておけば、DROPする前に「DROP:」という単語を先頭に含んでkern.logに情報を吐き出します。
ちなみに
$sudo view /etc/rsyslog.conf
$IncludeConfig /etc/rsyslog.d/*.conf というのが、ファイルの最後に記載されているかと思います。
この記載があることで、rsyslog実行時に/etc/rsyslog.d/配下のconfファイルを自動で読み込んでくれます。
2.出力先ログファイルの作成
ubuntuを使用している場合、出力先のログファイル(今回はDROP.log)を先に作っておきます。自動では作られないため注意。
$sudo mkdir /var/log/iptables
$sudo touch /var/log/iptables/DROP.log
$sudo chown syslog /var/log/iptables/DROP.log
$sudo chgrp adm /var/log/iptables/DROP.log
作成と同時にkern.logと同じユーザ、グループに変更します。
3.rsyslogの再起動
$ sudo service rsyslog restart
rsyslog stop/waiting
rsyslog start/running, process xxxxx
rsyslog後から自動で"DROP"を含むログ情報がDROP.logに出力されます。