さくらVPSにiptablesを設定した

さくらインターネットのVPSの環境設定メモシリーズ、今回はiptables設定編です。
セキュリティうんぬんかんぬんのために、ここはひとつSSHとHTTPのポートだけ開けとくように設定します。
ちなみにSSHは通常22番ポートなんですが10022番に変更しているんで、ここでは10022番(SSH)と80番(HTTP)を開ける設定をします。

ます、現在の設定を確認します。
# /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

あ、ちなみにコチラのブログを参考にさせてもらいました。
さくらの VPS の設定ダダ流し(ゆっくり...して...イッてネ!)

で、iptables 初期化用のスクリプトを作ります。参考にしたブログにならって「iptables-init.sh」ってファイル名にしときます。
#!/bin/sh

/sbin/iptables -F
/sbin/iptables -X

/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP

/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT

/sbin/iptables -A INPUT -s 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -j DROP

# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 10022 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

で、このスクリプトを実行します。
# sh iptables-init.sh

これでパケットフィルタの状態を確認すると、
# /sbin/iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  10.0.0.0/8           anywhere
DROP       all  --  172.16.0.0/12        anywhere
DROP       all  --  192.168.0.0/16       anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:10022
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTAB
LISHED
 
Chain FORWARD (policy DROP)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

ってなるはずです。
この設定がシステムリブート時でも有効になるように/etc/sysconfig/iptables に保存します。
# /sbin/iptables-save > /etc/sysconfig/iptables

そしてiptablesをリスタートして設定を有効にします。
# /etc/rc.d/init.d/iptables restart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]

よし、これで完了っと。