連載
ステートフルパケットフィルタを使ったサービスの公開:習うより慣れろ! iptablesテンプレート集(1)(5/6 ページ)
初心者にとって、iptablesは設定が最も困難な機能の1つである。そこで、学習の第1歩としてテンプレートを自分の環境に合わせて修正することから始めよう。(編集部)
テンプレート4
HTTP接続のステートフル性を確認(テンプレート2の改良)
テンプレート4の想定環境
・外部からの接続パケットは基本的にすべて破棄
・内部からの接続パケットは基本的にすべて破棄
・ループバックアドレスに関してはすべて許可
・メンテナンスホストからのping、メンテナンスホストへのpingを許可
・メンテナンスホストからのssh(TCP 22)を許可
・サーバからメンテナンスホストへのsshは許可しない
・任意のサーバからのHTTP(TCP 80)を許可
・ただし接続の最初時にSYNで始まらない接続パケットは破棄
・サーバから外部のHTTPサーバに対してのHTTP接続は許可しない
HTTPサービスにおいても、テンプレート3と同様にパケットのステートフル性を確認します。
テンプレート4の解説
テンプレート3を参考に、テンプレート2を次のように修正します。
42 iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 43 iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -s $any -d $myhost --dport 80 -j ACCEPT 44 iptables -A OUTPUT -p tcp -s $myhost --sport 80 -d $any -j ACCEPT
Copyright © ITmedia, Inc. All Rights Reserved.