iptables のログ出力とその抑止

1.INPUT をログ出力する場合

# iptables -A INPUT -j LOG


2.特定の送信元からの INPUT をログ出力する場合

# iptables -A INPUT -s 192.168.11.19 -j LOG


3.特定の送信元からの INPUT 除外してログ出力する場合

# iptables -A INPUT ! -s 192.168.11.19 -j LOG


ただし、除外する際に複数の送信元を指定することは実質不可能。

以下のように、複数の送信元を指定しても、最初に除外を指定した送信元は
次の除外の指定のルールによって出力されてしまう。

# iptables -A INPUT ! -s 192.168.11.3 -j LOG --log-prefix rule1 ★192.168.11.3 以外のログを出力
# iptables -A INPUT ! -s 192.168.11.18 -j LOG --log-prefix rule2 ★192.168.11.18 以外のログを出力 (要するに上記で除外した 192.168.11.18 もこのルールによって出力される)

以下のように出力される。

Sep 28 15:22:23 HTTP01 kernel: rule1IN=eth2 OUT= MAC=00:0c:29:12:2c:22:00:0c:29:52:84:4b:08:00 SRC=192.168.11.18 DST=192.168.11.19 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=60165 SEQ=2199
Sep 28 15:22:23 HTTP01 kernel: rule2IN=eth2 OUT= MAC=00:0c:29:12:2c:22:e8:40:f2:a6:ff:35:08:00 SRC=192.168.11.3 DST=192.168.11.19 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=30837 DF PROTO=TCP SPT=53817 DPT=22 WINDOW=16425 RES=0x00 ACK URGP=0


ちなみに、送信元は以下のように複数指定可能。

# iptables -A INPUT --src 192.168.11.3,192.168.11.19 -j LOG
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
LOG        all  --  192.168.11.3         anywhere            LOG level warning
LOG        all  --  192.168.11.19        anywhere            LOG level warning

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


除外する場合は以下のように複数指定不可能。
もっとも、仮に、指定出来ても当初記載したように複数行になってしまうと考えられるので実質意味なし。
※指定のコマンドが 1 回になる程度の意味しかない。

# iptables -A INPUT ! --src 192.168.11.3,192.168.11.19 -j LOG
iptables v1.4.7: ! not allowed with multiple source or destination IP addresses
Try `iptables -h' or 'iptables --help' for more information.
#


このため、複数の送信元からのログを除外したい場合は、rsyslog の機能を使用した方がよい。
/etc/rsyslog.conf に以下と追加して rsyslog を再起動。

#### RULES ####
if $msg contains 'SRC=192.168.11.3' or $msg contains 'SRC=192.168.11.18' then            ~★追加
# Log all kernel messages to the console.


※rsyslog の参考
http://www.geocities.jp/yasasikukaitou/rsyslog-filter.html
http://www.usupi.org/sysad/208.html