【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に出力されます。