さくらVPSで環境構築 その4 iptableの設定

前回はログインユーザの作成でした。

今回はiptablesの設定になります。
iptablesは簡単にいってしまうと、ファイアウォールみたいなものです。
本格的にやろうとすると、とても奥が深く難しいのですが、
ここでは、最低限これだけやっておけば大丈夫という設定を紹介します。

まずはiptablesの設定ファイルがあるディレクトリへ移動
cd /etc/sysconfig
そして、iptablesの設定を確認
less iptables

おそらく、なにも設定されてないと思われますので、viコマンドで以下のように書き換えます。

vi iptables

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*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 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#SSH
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
#HTTP
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
#FTP
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT
#FTP
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
#PASV
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 50000:50030 -j ACCEPT
#SMTP
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
#POP3
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 110 -j ACCEPT
#IMAP
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 143 -j ACCEPT
#HTTPS
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
#OP25B
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 587 -j ACCEPT
#SMTP ssl
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 465 -j ACCEPT
#POP3s
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 995 -j ACCEPT
#IMAP4s
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 993 -j ACCEPT
#MySQL
-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 icmp-host-prohibited
COMMIT

使うと思われるポート番号をひと通り設定しておきます。
使わないと思われるポート番号があれば行の先頭を#にすることでコメントアウトすることができます。

またSSHのポート番号を22で設定していますが、このままだと、ログインアタックの標的になりますので
変えることをおすすめします。
ポート番号を変える方法はまた別途書く予定です。

これで保存したら、以下コマンドでsshを再起動しましょう。

service sshd restart

続いて反映されているか確認します。
iptables -L

こんな感じになっていればOKです。

Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all — anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all — anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all — anywhere anywhere
ACCEPT icmp — anywhere anywhere icmp any
ACCEPT esp — anywhere anywhere
ACCEPT ah — anywhere anywhere
ACCEPT udp — anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp — anywhere anywhere udp dpt:ipp
ACCEPT tcp — anywhere anywhere tcp dpt:ipp
ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ftp-data
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ftp
ACCEPT tcp — anywhere anywhere state NEW tcp dpts:50000:50030
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:smtp
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:pop3
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:imap
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:https
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:submission
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:smtps
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:pop3s
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:imaps
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:mysql
REJECT all — anywhere anywhere reject-with icmp-host-prohibited

これでiptablesの設定が完了です。

次の記事
さくらVPSで環境構築 その5 apacheのインストール

前の記事
さくらVPSで環境構築 その3 ログインユーザ作成