——————————————————–
iptables ****条件**** -j LOG
——————————————————–
「LOG」は、条件に合致するパケット情報をログ出力します。
条件に合致したログはdmesgコマンドで確認できるほか、syslogd経由で希望のファイルに保存することも出来ます。
「LOG」で処理されたパケットは次のルールに引き継がれますので、拒否(DROP or REJECT)する接続状況を
ログとして出力したい場合は、はじめにログを出力する設定を行い、続いて拒否(DROP or REJECT)する設定を
行なってください。
以下 man iptables より
LOG Turn on kernel logging of matching packets. When this option is set for a rule, the Linux kernel will print some information on all matching packets (like most IP header fields) via the kernel log (where it can be read with dmesg or syslogd(8)). This is a "non-terminating target", i.e. rule traversal continues at the next rule. So if you want to LOG the packets you refuse, use two separate rules with the same matching criteria, first using target LOG then DROP (or REJECT).
以下の例は、
・IPアドレス「xxx.ee.rr.ss」からWebサーバー(80番ポート)へのアクセスをログ出力
・IPアドレス「xxx.ee.rr.ss」からWebサーバー(80番ポート)へのアクセスを拒否(破棄)
する設定です。
iptables -A INPUT -p tcp --dport 80 -s xxx.ee.rr.ss -j LOG iptables -A INPUT -p tcp --dport 80 -s xxx.ee.rr.ss -j DROP
どこにログは出力されるのか
iptablesは、syslogdにログを渡す際に「このログはkernel logですよ」という情報を“ファシリティ”として渡します。
ファシリティとは、syslogdにログの出力元を識別する為のマークのようなもののことで、kernel log のファシリティは「kern」です。したがって、iptablesがsyslogdにログを渡すときには、このログはファシリティ「kern」のログですよという情報を渡していることになります。ファシリティ「kern」のログをsyslogdがどこに出力するのかはsyslogdの設定ファイル/etc/syslog.confから確認します。
実際にファシリティが「kern」のもの、またはファシリティが「*」のものがないか/etc/syslog.confから確認しましょう
# egrep '^kern|^*' /etc/syslog.conf kern.* /var/log/boot.log *.info;mail.none;authpriv.none;cron.none /var/log/messages *.emerg * #
これを見ると、kern.ファシリティは/var/log/boot.logに出力されることがわかります。
つまりは、この設定のままiptablesで「-j LOG」を使用すると、/var/log/boot.logに出力されます。
この設定を変更することも出来ますので、詳細はsyslog.confのマニュアルをご覧ください。
また、「LOG」には以下のオプションが存在します。
--log-levellevel syslogdに渡すファシリティのプライオリティを指定できます(例: -j LOG --log-level info) --log-prefixprefix ログ出力時に決まったプレフィックスを付与します(例: -j LOG --log-prefix IPTABLES) --log-tcp-sequence TCPシーケンスナンバーをログ出力します。 --log-tcp-options TCPパケットのヘッダから確認できるオプションを出力します。 --log-ip-options IPパケットヘッダにあるオプションを出力します。
以上
コメント
検索で目に付いたのでやってきましたよ。初心者には一番分かりやすい記事でした。
そこらへんさん
コメントありがとうございます!(^^)
お役に立てたようでよかったです!