Firewallの設定(初心者がさくらのVPSを立ち上げるまで - その5)
Firewallの設定について
参考2サイトのFirewallの設定のページを見ておこう。
- #10 ファイアーウォールの設定をしよう | さくらのVPS入門 - プログラミングならドットインストール
- SSHの設定 | 初心者でもわかる!さくらVPS | Sakura VPS 設定マニュアル(ページの最後の方)
使わないポートは全部閉じておく
使わないポートは全部閉じておくべきなので、Sakura VPS 設定マニュアル で紹介されている設定例をさらに絞り込んでしまう。
また、あとでインストールするMySQLとRailsのポートの設定を追加するが、当面はこのサーバー内のプログラムからしか参照しないのでコメントアウトしてポートは開かないでおく。*1
MySQLやRailsを外部のサーバーから使う予定が全くなければ、そもそもこの二行を追加しておく必要はない。
脆弱性チェックソフトのOpenVASを使うためには、専用のポートを開かないといけないので、これも追加しておく。
IPv6用の設定
vim /etc/sysconfig/ip6tables
と打ち込んで、以下の設定を貼り付けて保存する。なお、自分で設定したSSH用のポート番号を忘れずに入れる。
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmpv6 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d ff02::fb -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #SSH, HTTP, HTTPS, Rails, MySQL -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport [自分で設定したSSHポート番号] -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp6-adm-prohibited COMMIT
IPv4用の設定
vim /etc/sysconfig/iptables
以下を貼り付ける。
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #SSH, HTTP, HTTPS, Rails, MySQL, OpenVAS -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport [自分で設定したSSHポート番号] -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9392 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
ちなみに、80 は HTTP、443 は HTTPS、3000はRails、3306はMySQL、9392はOpenVAS である。
設定の有効化とポートの確認
設定を有効にするため以下のコマンドを打つ
/etc/rc.d/init.d/ip6tables restart /etc/rc.d/init.d/iptables restart
開いているポートは、以下のコマンドで確認ができる。
iptables -L ip6tables -L
目次
一連の記事の目次は、以下のページにあります。
初心者がさくらのVPSを立ち上げるまで - その1
*1:同じサーバー内にあるプログラムがアクセスする分には、当然ポートは開かなくて良い。