・契約するVPSサーバを決めよう
サーバ仮想化の種類を確認
KVM
今現在のVPSで主流のLinuxカーネル仮想化基盤
とりあえずKVMのVPSを選んでおけばいいと思う
OpenVZ
一時期格安VPSで人気だったサーバ仮想化ソフト
ディストリビューションの最新版への対応が遅い。
Hyper-V
Microsoftが提供するWindowsサーバ向け仮想化システム
代表的なKVMのVPSサーバ
お名前.com VPS
有名なVPS中では比較的安い料金
初期費用無料キャンペーンを常にやっている印象
代表的なOpenVZの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