さくらのVPSは初期状態だとポートが開きまくりらしい。
とりあえず「SSH」「http」「https」だけ開けておき,あとは閉じる。
SSHのポート番号はデフォルトの22から変えた。
現在の設定の確認。
$ sudo /sbin/iptables -L
「/sbin」にパスが通ってなかったので「iptables」だけだと実行できなかった。
一々打つのが面倒な場合はパスを通しておく(以下パスは通ってるものとする)。
コマンド詳細はこことかこことかで。
設定のコマンド群はシェルスクリプトとして保存しておく。
最終的にこんな感じになった。
iptables-init.sh
#!/bin/sh iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -s 10.0.0.0/8 -j DROP iptables -A INPUT -s 127.16.0.0/12 -j DROP iptables -A INPUT -s 192.168.0.0/16 -j DROP iptables -A INPUT -m state --state NEW -p tcp --dport {port_num} -j ACCEPT # {port_num}はSSHのポート番号 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
このままだと再起動したときに設定がリセットするので再起動時にも反映するようにする。
設定ファイルの書き出し。
$ su # iptables-save > /etc/sysconfig/iptables
iptablesを再起動して実際に設定が反映されるかチェック。
# /etc/rc.d/init.d/iptables restart # iptables -L
設定が表示されたらOK。