VPSを契約してサーバを構築する環境を整えよう

・契約するVPSサーバを決めよう

サーバ仮想化の種類を確認

KVM
今現在のVPSで主流のLinuxカーネル仮想化基盤
とりあえずKVMのVPSを選んでおけばいいと思う
OpenVZ
一時期格安VPSで人気だったサーバ仮想化ソフト
ディストリビューションの最新版への対応が遅い。
Hyper-V
Microsoftが提供するWindowsサーバ向け仮想化システム

代表的なKVMのVPSサーバ

さくらのVPS
さくらVPS
サポートが手厚い

お名前.com VPS
お名前VPS
有名なVPS中では比較的安い料金
初期費用無料キャンペーンを常にやっている印象

代表的なOpenVZのVPSサーバ

ServerMans@VPS
ServerMans@VPS
初期費用が無料で、料金が安い
 
 

・利用するOSを決めよう

日本語での検索人気度の推移(2016/07/29日現在)

日本語圏トレンド

日本語ではcentOSのほうが検索されています。

英語での検索人気度の推移(2016/07/29日現在)

英語圏トレンド

英語圏ではUbuntuの圧勝です。

このデータを見れば、日本ではcentOS,英語圏ではUbuntuをサーバに利用する人が多い事がわかります。

利用者の多さ=公開されている情報の多さ
と考えると、centOSは日本語の情報、Ubuntuは英語の情報が多い事になります。

なので、日本語しか読めない人は、まずはCentOSから。
英語も読めるという方は、Ubuntuで初めてみる事をオススメします!
 
 

・SSHのセキュリティ設定(CentOS)

Rootアカウントでのリモートログインを禁止する

後からrootログインを禁止させるので、まず最初にsudoコマンドを利用できるユーザを作成しましょう

# useradd [ユーザ名]
# passwd [ユーザ名]

でユーザを作成します。

# usermod -G wheel [ユーザ名]

でsudoグループに作成ユーザを追加します。

~/usr/local/sbin/visudoのファイルの以下の部分を編集し、wheelユーザのみをsudo可能にします

#%wheel ALL=(ALL)   ALL
 ↓ 変更
%wheel ALL=(ALL)   ALL

~/etc/ssh/sshd_configのファイルの以下の部分を編集し、Rootでのリモートログインを禁止します

PermitRootLogin yes
 ↓ 変更
PermitRootLogin no

以下のコマンドを実行し、sshdを再起動します

# service sshd restart ← CentOS 5,6
# systemctl restart sshd ← CentOS 7

これでRootアカウントでのリモートログインが出来なくなりました。
今後は最初に作成したアカウントでログインして下さい。

リモート接続のポートをデフォルトの22番から変更する

sshのポートをデフォルトの22番のままにしておくとアタックされるので、
~/etc/ssh/sshd_configのファイルの以下の部分を編集し、接続ポートを変更します

Port 22
 ↓ 変更
Port ○○ ← ○○は1024以上の数字を入れる

Well-Knownポートを避ける為に1024番以降のポートを利用します。

sshdを再起動します

# service sshd restart ← CentOS 5,6
# systemctl restart sshd ← CentOS 7

これでssh接続ポートが変更されたので、アタックの数が減ると思います。

設定したポートでリモートアクセス出来るように、ファイアウォールでssh接続用ポートを解放します

[CentOS 7]
以下のコマンドでポートを解放します

# firewall-cmd –add-port=○○/tcp –zone=public –permanent ← ○○は先程変更した接続ポートの番号です

今まで利用していた22番ポートを塞ぐには以下のコマンドを実行します

# firewall-cmd –remove-service=ssh –zone=public –permanent

設定の再読み込みをして変更を反映させます

# firewall-cmd –reload

以下のコマンドで設定を確認し、servicesの行からsshが削除されていて、portsの行に変更した接続ポートの番号が表示されていれば、設定が成功しています

# firewall-cmd –list-all

[CentOS 5,6]
以下のコマンドでポートを解放します

# iptables -A INPUT -p tcp -m tcp –dport ○○ -j ACCEPT ← ○○は先程変更した接続ポートの番号

今まで利用していた22番ポートを塞ぐには以下のコマンドを実行します

# iptables -A INPUT -p tcp -m tcp –dport 22 -j DROP

変更を設定ファイルに保存します

# service iptables save

以下のコマンドで設定ファイルに変更が保存されているか確認します

# cat /etc/sysconfig/iptables

先程の2つのコマンドからiptablesを抜いた文字列が見つかれば、無事に変更が保存されています。

ファイアウォールを再起動します

# service iptables restart

以上でファイアウォールでのsshポート変更の設定は終了です!

 
その他にもログイン方式をパスワードから公開鍵認証に変更することなどで、より安全性を高めることができます。

手軽な料金のVPSを利用して、色々触って遊んでみましょう!

 
参考にさせていただいたサイト
UbuntuとCentOSどっちがいいの?正しいサーバOSの選び方 – lamichの日記 – 海外でイラスト制作を行う社長のブログ
VPS 借りたら、せめてこれくらいはやっとけというセキュリティ設定 | dogmap.jp

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です