さくらのVPS導入手順 6.iptablesの利用準備

コンソールの日本語化

ここまですべて英語の状態で操作をしてきましたが、ここでひとまずコンソールを日本語化する作業をしておきます
以下のコマンドを実行して、設定ファイルを編集します

$ sudo vi /etc/sysconfig/i18n
[sudo] password for hogehoge:

初期状態ではこのような記述になっていると思いますので、

LANG="C"
SYSFONT="latarcyrheb-sun16"

1行目を以下のように書き換えてください

LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

今までは以下のような表示だったものが、

$ ls -l
total 0

上記作業後に改めてログインしなおすことによって、下記のように表示が変更されていればOKです

$ ls -l
合計 0

なお、sudoコマンド実行時に以下のようにパスワードを聞かれるケースがある
紛らわしいので、これ以降の説明の際には以下の表示はすべて省略する

[sudo] password for hogehoge:

ファイアウォールの状態の確認

次に、作成されたサーバーには様々なところから攻撃を受ける可能性があるため、iptablesを利用してファイアウォールを定義してやります
まずはiptablesコマンドをsudoを使ってして実行し、現在の状態を確認してみます

$ sudo 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では初期状態ではすべての通信が許可されている、そのままでは非常にリスクの高い状態ですので、ここの設定までは最初に一気にやっておきたいところです

定義ファイルの記述

早速定義ファイルを編集してみましょう
以下のコマンドを実行します

$ sudo vi /etc/sysconfig/iptables

さくらのVPSの初期状態ではファイルが無いので、新規ファイルの編集になります
以下のように記述します
なお、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 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(-dportの後ろのXXXXXは自分が設定したSSHのポート番号に変更)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport XXXXX -j ACCEPT
#
# HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# HTTPS 不要なら消す
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#
# メール受信用 POP3(110),IMAP4(143),IMAP4S(993)POP3S(995)
# 必要なものだけ先頭の#を取る
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT
#
# メール送信用 SMTP(25),SMTPS(465),OP25B(587)
# 必要なものだけ先頭の#を取る
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT
#
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

定義ファイルの適用

では、iptablesのサービスを再起動して、設定を適用してみましょう
以下のように、すべてがOKになれば成功です

$ sudo service iptables restart
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
iptables: ファイアウォールルールを適用中:                  [  OK  ]

もし、失敗が出るようなら、特に見た目間違っていなさそうでも、余計な半角スペースなどあるとエラーになりますので、そのあたりにも注意して確認してみてください
改行のみの空行に見えるところに空白文字があったりして嵌ることもありますので、上記の例ではあえて空白行に#マークをつけています

では改めてiptablesコマンドで設定内容を確認してみましょう
以下のような感じで、ファイアウォールの定義が追加されているはずです

$ sudo iptables -L
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:XXXXX
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:https
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

次は さくらのVPS導入手順 7.Apacheの利用準備

はじめに戻る さくらのVPS導入手順 0.はじめに

↓↓↓ブログランキングに参加しています↓↓↓

にほんブログ村 IT技術ブログへ

↑↑↑応援よろしくお願いします↑↑↑

■ AD ■

コメントを残す

メールアドレスが公開されることはありません。