IMPOV::In My Point Of View

仕事、SEO、ウェブマーケティング、時事問題、健康、生き方などなど、書きたいことを勝手に書き倒しているブログです。とどのつまり「便所の落書き」

Firewallの設定(初心者がさくらのVPSを立ち上げるまで - その5)

Firewallの設定について

参考2サイトのFirewallの設定のページを見ておこう。

使わないポートは全部閉じておく

使わないポートは全部閉じておくべきなので、Sakura VPS 設定マニュアル で紹介されている設定例をさらに絞り込んでしまう。
また、あとでインストールするMySQLRailsのポートの設定を追加するが、当面はこのサーバー内のプログラムからしか参照しないのでコメントアウトしてポートは開かないでおく。*1

MySQLRailsを外部のサーバーから使う予定が全くなければ、そもそもこの二行を追加しておく必要はない。

脆弱性チェックソフトの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:同じサーバー内にあるプログラムがアクセスする分には、当然ポートは開かなくて良い。