iptables ログを出力する

提供: セキュリティ
2014年2月20日 (木) 18:27時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

iptables は、通信ログをロギングすることができます。

概要

iptables は、LOG ターゲットを使用し、ルールにマッチしたパケットの情報を syslog に出力できます。 標準では、ファシリティは kern 、プライオリティは warn で、 /var/log/messages のログファイルに出力されます。

ログのオプションは、LOG ターゲットのあとに指定します。

iptables COMMAND chain rule-specification -j LOG log_option

ログオプション

--log-level level
syslog のプライオリティを level に指定します。
--log-prefix prefix
ログに出力メッセージのプレフィックス(prefix)を指定します。

使い方

ログを出力する

以下は、TCP の入力をすべてログをとる例です。

sudo iptables -A INPUT -p tcp -j LOG

デフォルトでは、ログは、/var/log/messages に出力されます。

ほかのホストからアクセスをしてみます。

nmap -sS IPアドレス 22

/var/log/messages には、次のような行がたくさん出力されます。

Aug 11 23:33:31 u1 kernel: IN=eth1 OUT= MAC=マックアドレス
	SRC=アクセス元IPアドレス DST=ターゲットのIPアドレス
	LEN=44 TOS=0x00 PREC=0x00 TTL=38
	ID=53412 PROTO=TCP SPT=64558 DPT=8007
	WINDOW=1024 RES=0x00 SYN URGP=0

1行が長いので、折り返しを入れてあります。

不正なパケットをロギングしてブロックする

入力された不正パケットをロギングして、ブロックします。

iptables -A INPUT -m state --state INVALID -j LOG
iptables -A INPUT -m state --state INVALID -j DROP

出力された不正パケットをロギングして、ブロックします。

iptables -A OUTPUT -m state --state INVALID -j LOG
iptables -A OUTPUT -m state --state INVALID -j DROP

関連項目




スポンサーリンク