* iptables ログ [#pd15596a]
** 目的 [#w0c58407]
- INPUTポリシーをDROPにして、必要なポートのみ許可する。許可されないアクセスは全てロギングする。
- ログは独自のファイルに書き出して、ロテートする。
** ロギング [#d281569d]
*** logdropテーブルを作成する [#o3a83eb5]
iptables -N logdrop
iptables -A logdrop -j LOG --log-prefix "IPTABLES-LOG: " --log-level=info
iptables -A logdrop -j DROP
logdropテーブルはLOGした後にすぐにDROPする。
*** 最後のルールにlogdropを指定する [#z4acac30]
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j logdrop
iptables -P INPUT DROP
必要なポリシー・ルールを設定した後に、最後にlogdropを指定するルールを設定する。
** シスログの切り出し[#v79b8a71]
vi /etc/rsyslog.d/iptables.conf
:msg, contains, "IPTABLES-LOG:" -/var/log/iptables.log
& ~
/etc/rc.d/init.d/rsyslog restart
** ログロテート [#gff9c245]
vi /etc/logrotate.d/iptables
/var/log/iptables.log {
rotate 5
weekly
compress
missing ok
notifempty
}
** 参考 [#fa751f71]
- http://blog.shadypixel.com/log-iptables-messages-to-a-separate-file-with-rsyslog/
- http://www.atmarkit.co.jp/flinux/rensai/linuxtips/747logrotatecmd.html
- http://toastresearch.com/2011/04/09/packet-logging-with-iptables/