- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Linux/ネットワーク/iptables/ログ へ行く。
iptables ログ
目的
- INPUTポリシーをDROPにして、必要なポートのみ許可する。許可されないアクセスは全てロギングする。
- ログは独自のファイルに書き出して、ロテートする。
ロギング
logdropチェーンを作成する
iptables -N logdrop iptables -A logdrop -j LOG --log-prefix "IPTABLES-LOG: " iptables -A logdrop -j DROP
logdropチェーンはLOGした後にすぐにDROPする。
最後のルールにlogdropを指定する
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を指定するルールを設定する。
参考:許可するアクセスをロギングする
iptables -N logaccept iptables -A logaccept -j LOG --log-prefix "IPTABLES-ACCEPT-LOG: " iptables -A logaccept -j accept
上のようなlogacceptチェーンを作って、これまで-j ACCEPTで許可していたルールを-j logacceptへ変更する。
参考:ログレベルの指定
- ログレベルはデフォルトではファシリティはkern、プライオリティwarn、ログファイルは/var/log/messages。ファシリティは変更できないが、プライオリティを変更する場合はオプションに"--log-level info"等と追加する。
- http://www.turbolinux.com/products/server/11s/user_guide/x9487.html#AEN9579
シスログの切り出し
vi /etc/rsyslog.d/iptables.conf
:msg, contains, "IPTABLES-LOG:" -/var/log/iptables.log & ~
/etc/rc.d/init.d/rsyslog restart
参考
- 複数のログに切り出す場合は以下のように設定を増やす。
:msg, contains, "IPTABLES-LOG:" -/var/log/iptables.drop.log & ~ :msg, contains, "IPTABLES-ACCEPT-LOG:" -/var/log/iptables.accept.log & ~
- http://www.rsyslog.com/doc/rsyslog_conf_filter.html
ログロテート
vi /etc/logrotate.d/iptables
/var/log/iptables.log { rotate 5 weekly compress missing ok notifempty service rsyslog reload 2> /dev/null || true }