• 追加された行はこの色です。
  • 削除された行はこの色です。
* iptables ログ [#pd15596a]

** 目的 [#w0c58407]
- INPUTポリシーをDROPにして、必要なポートのみ許可する。許可されないアクセスは全てロギングする。
- ログは独自のファイルに書き出して、ロテートする。

** ロギング [#d281569d]
 iptables -A INPUT -j LOG --log-prefix "IPTABLES_INPUT_LOG: " --log-level=info
*** logdropチェーンを作成する [#o3a83eb5]
 iptables -N logdrop
 iptables -A logdrop -j LOG --log-prefix "IPTABLES-LOG: "
 iptables -A logdrop -j DROP
logdropチェーンはLOGした後にすぐにDROPする。

*** 最後のルールにlogdropを指定する [#z4acac30]
 iptables -A INPUT -i lo -j ACCEPT
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 iptables -A INPUT -j logdrop
 iptables -P INPUT DROP

必要なポリシー・ルールを設定した後に、最後にlogdropを指定するルールを設定する。

*** 参考:許可するアクセスをロギングする [#k53c80d7]
 iptables -N logaccept
 iptables -A logaccept -j LOG --log-prefix "IPTABLES-ACCEPT-LOG: "
 iptables -A logaccept -j accept
上のようなlogacceptチェーンを作って、これまで-j ACCEPTで許可していたルールを-j logacceptへ変更する。

*** 参考:ログレベルの指定 [#n1b5e8e8]
- ログレベルはデフォルトではファシリティはkern、プライオリティwarn、ログファイルは/var/log/messages。ファシリティは変更できないが、プライオリティを変更する場合はオプションに"--log-level info"等と追加する。
- http://www.turbolinux.com/products/server/11s/user_guide/x9487.html#AEN9579

** シスログの切り出し[#v79b8a71]

 vi /etc/rsyslog.d/iptables.conf

 :msg, contains, "IPTABLES_INPUT_LOG" -/var/log/iptables.log
 :msg, contains, "IPTABLES-LOG:" -/var/log/iptables.log
 & ~

 /etc/rc.d/init.d/rsyslog restart

*** 参考 [#o06f6d74]
- 複数のログに切り出す場合は以下のように設定を増やす。
 :msg, contains, "IPTABLES-LOG:" -/var/log/iptables.drop.log
 & ~
 :msg, contains, "IPTABLES-ACCEPT-LOG:" -/var/log/iptables.accept.log
 & ~
- http://www.rsyslog.com/doc/rsyslog_conf_filter.html
- 「&」は前の行とつなぐという意味、「~」は前の行のコマンドでフィルターされたログを破棄するという意味。
** ログロテート [#gff9c245]
 vi /etc/logrotate.d/iptables

 /var/log/iptables.log {
   rotate 5
   weekly
   compress
   missing ok
   notifempty
   service rsyslog reload 2> /dev/null || true
 }

** 参考 [#fa751f71]
- http://blog.shadypixel.com/log-iptables-messages-to-a-separate-file-with-rsyslog/
- http://www.atmarkit.co.jp/flinux/rensai/linuxtips/747logrotatecmd.html
- http://toastresearch.com/2011/04/09/packet-logging-with-iptables/

*** アクセスをACCEPTした接続をログする [#vb909ba4]
http://stackoverflow.com/questions/21771684/iptables-log-and-drop-in-one-rule


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS