広告

ブログランキング・にほんブログ村へ
にほんブログ村

検索

カレンダー

2011年4月
« 3月   5月 »
 123
45678910
11121314151617
18192021222324
252627282930  

カテゴリー

最近のコメント

リンク

CentOS 5.6 iptablesのログ出力を行う

投稿者:yasu 更新日時:2011年4月15日 15時02分33秒
カテゴリCentOS, Linux, 自宅サーバー

iptablesで破棄されたアクセスのログを取ろうと思います。
ログファイルを別ファイルに出力してかつ毎週ローテーションしようと思います。

iptablesの設定

破棄されるアクセスのログを取りますので、最後のREJECTする前の行にログ出力の設定を追加します。

# iptablesの設定ファイルを変更します
[root@centos ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
~ 中略 ~
# ファイアーウォールのログを出力します
-A RH-Firewall-1-INPUT -j LOG --log-level debug --log-prefix ‘[iptables]:’
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

[:]キー、[w]キー、[q]キーを順に押下して内容を保存しviエディタを終了します

# iptablesサービスを再起動します
[root@centos ~]# /etc/rc.d/init.d/iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

syslogの設定

iptablesのログ出力先を指定します。

# syslogの設定ファイルを変更します
[root@centos ~]# vi /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# iptablesのログ出力先を指定します
kern.debug /var/log/iptables.log

# Log anything (except mail) of level info or higher.
# Don’t log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* -/var/log/maillog

# Log cron stuff
cron.* /var/log/cron

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log

# iptables log

[:]キー、[w]キー、[q]キーを順に押下して内容を保存しviエディタを終了します

# syslogサービスを再起動します
[root@centos log]# /etc/rc.d/init.d/syslog restart
カーネルロガーを停止中: [ OK ]
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]
カーネルロガーを起動中: [ OK ]

ログローテーションの設定

iptablesのログのローテーション設定を行います。

[root@centos ~]# vi /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/iptables.log {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

[:]キー、[w]キー、[q]キーを順に押下して内容を保存しviエディタを終了します

以上で設定は終了です。
しばらくして出力した/var/log/iptables.logを見てみると

Apr 15 02:00:39 centos kernel: ‘[iptables]:’IN=eth0 OUT= MAC=00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:00 SRC=114.166.97.239 DST=192.168.0.xx LEN=516 TOS=0×00 PREC=0×00 TTL=53 ID=14481 PROTO=TCP SPT=65019 DPT=80 WINDOW=65535 RES=0×00 ACK PSH URGP=0
Apr 15 10:56:35 centos kernel: ‘[iptables]:’IN=eth0 OUT= MAC=00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:00 SRC=58.4.67.21 DST=192.168.0.xx LEN=40 TOS=0×00 PREC=0×00 TTL=54 ID=33035 PROTO=TCP SPT=62597 DPT=80 WINDOW=16614 RES=0×00 RST URGP=0
Apr 15 10:56:39 centos kernel: ‘[iptables]:’IN=eth0 OUT= MAC=00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:00 SRC=58.4.67.21 DST=192.168.0.xx LEN=40 TOS=0×00 PREC=0×00 TTL=54 ID=43980 PROTO=TCP SPT=58552 DPT=80 WINDOW=16412 RES=0×00 RST URGP=0
Apr 15 12:27:21 centos kernel: ‘[iptables]:’IN=eth0 OUT= MAC=000:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:00 SRC=180.11.99.99 DST=192.168.0.xx LEN=743 TOS=0×00 PREC=0×00 TTL=117 ID=17774 PROTO=TCP SPT=62767 DPT=80 WINDOW=66 RES=0×00 ACK PSH URGP=0
Apr 15 13:14:43 centos kernel: ‘[iptables]:’IN=eth0 OUT= MAC=00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:00 SRC=218.42.83.100 DST=192.168.0.xx LEN=40

こんなアクセスがあった事がわかります。


“CentOS 5.6 iptablesのログ出力を行う”にコメントはありません

コメントする