「iptables ログを出力する」の版間の差分
提供: セキュリティ
| 行8: | 行8: | ||
== 概要 == | == 概要 == | ||
| + | [[iptables]] は、LOG ターゲットを使用し、ルールにマッチしたパケットの情報を [[syslog]] に出力できます。 | ||
| + | 標準では、ファシリティは kern 、プライオリティは warn で、 /var/log/messages のログファイルに出力されます。 | ||
| + | |||
| + | ログのオプションは、LOG ターゲットのあとに指定します。 | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | iptables COMMAND chain rule-specification -j LOG log_option | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | == ログオプション == | ||
| + | |||
| + | ;--log-level level: [[syslog]] のプライオリティを level に指定します。 | ||
| + | ;--log-prefix prefix: ログに出力メッセージのプレフィックス(prefix)を指定します。 | ||
== 使い方 == | == 使い方 == | ||
| 行27: | 行39: | ||
/var/log/messages には、次のような行がたくさん出力されます。 | /var/log/messages には、次のような行がたくさん出力されます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | 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 | + | 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 | ||
| + | </syntaxhighlight> | ||
| + | 1行が長いので、折り返しを入れてあります。 | ||
| + | |||
| + | === 不正なパケットをロギングしてブロックする === | ||
| + | |||
| + | 入力された不正パケットをロギングして、ブロックします。 | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | iptables -A INPUT -m state --state INVALID -j LOG | ||
| + | iptables -A INPUT -m state --state INVALID -j DROP | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | 出力された不正パケットをロギングして、ブロックします。 | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | iptables -A OUTPUT -m state --state INVALID -j LOG | ||
| + | iptables -A OUTPUT -m state --state INVALID -j DROP | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 行33: | 行64: | ||
* [[iptables]] | * [[iptables]] | ||
| + | * [[syslog]] | ||
2013年8月29日 (木) 23:12時点における版
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