ServersMan@VPS は、パケットフィルタリングルールでログ出力するように設定しても iptables ログが出力されません。調べてみたところ、kernel ログが出力されないように /etc/rc.d/init.d/syslog の設定が変更されているためでした。今回は、ServersMan@VPS におけるkernel ログの出力方法について紹介します。
スポンサーリンク
kernel ログの出力設定
/etc/rc.d/init.d/syslog を修正します。
$ sudo vi /etc/rc.d/init.d/syslog
41行目付近
修正前: passed klogd skipped #daemon klogd $KLOGD_OPTIONS
↓
修正後: daemon klogd $KLOGD_OPTIONS
48行目付近
修正前: passed klogd skipped #killproc klogd
↓
修正後: killproc klogd
syslog を再起動して変更内容を反映させます。
$ sudo /etc/init.d/syslog restart
Shutting down kernel logger: [FAILED]
Shutting down system logger:[OK ]
Starting system logger: [OK ]
Starting kernel logger: [OK ]
これで、/var/log/messages に iptables のログが出力されます。
iptables ログの出力設定
出力先
/var/log/messages が、iptables のログで埋め尽くされるのが嫌なので /var/log/iptables に出力されるように変更します。/etc/syslog.conf ファイルを修正することで可能です。
3行目付近
修正前: kern.* /dev/console
↓
修正後: kern.info /var/log/iptables
ローテート
ログファイルの巨大化を避けるためローテートの設定を行う。
1行目付近の末尾手前に「/var/log/iptables」を追記する。
修正前: /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
↓
修正後: /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/iptables {