ConoHa PR

ConoHa の VPS を立ち上げた際にやること

このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。記事内に商品プロモーションを含む場合があります。

はじめに

この記事では ConoHa VPS を立ち上げてすぐにやるべきセキュリティ対策について解説します。

以下の 4 点について解説します。

  1. 一般ユーザの作成
  2. SSH 接続の設定
  3. root ユーザーの SSH 接続禁止
  4. ポート番号の変更
  5. ファイアウォールの設定

一般ユーザの作成

一般ユーザを作成します。

ここではユーザ名を [ユーザ名] とします。

お好きな名前に変更してください。

adduser [ユーザ名]

で作成します。

この後の SSH サーバの設定で root ユーザでの SSH 接続を禁止します。

そのため SSH 接続用のユーザを作成し sudo 権限もあわせて付与しておきます。

gpasswd -a [ユーザ名] sudo

SSH 接続の設定

root ディレクトリから .ssh 以下をコピーする

cp -r /root/.ssh /home/[ユーザ名]/.ssh

所有者を変更する.

chown -R [ユーザ名]:[ユーザ名] /home/[ユーザ名]/.ssh

権限を変更する.

chmod 700 /home/[ユーザ名]/.ssh
chmod 600 /home/[ユーザ名]/.ssh/authorized_keys

これで [ユーザ名] でログインできるようになります。

root ユーザーの SSH 接続禁止

root でログインできなくなるので、事前に先ほど作成した一般ユーザでログインできるかどうかを確かめてから実行してください。

初期設定では root ユーザでの SSH 接続が許可されています。

しかし root ユーザでログインされてしまうと一発でシステムが乗っ取られてしまいます。

なので root ユーザでは SSH 接続出来ないように設定を変更しておきます。

SSH サーバの設定を行うファイルは

/etc/ssh/sshd_config

です。なので、設定ファイルのバックアップを行ってから作業します。

sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_`date +%Y%m%d-%H%M%S`

そして、

/etc/ssh/sshd_config

を編集します。

編集は vi でも nano でも VSCode などのエディタでも問題ありません。

編集する箇所は

PermitRootLogin yes    # 変更前
PermitRootLogin no     # 変更後

です。

ポート番号の変更

次に ポート番号 22 から別の番号に変更します。

本記事では変更後のポート番号を 12345 とします。

先ほどと同様に

/etc/ssh/sshd_config

を編集します。

Port 22

とある部分に対して

Port 12345
# Port 22 不安であれば 12345 でログインできたことを確認してからコメントアウト

22 ポートでログインできなくなります。

なので、必ず以下のファイアウォールの設定をしてください。

ファイアウォールの設定

まず、現在のファイアウォールの状態を確認します。

ufw status numbered

22 番ポートが解放されていると思います。

このままだとファイアウォールによって 12345 番ポートでログインできません。

12345 番ポートを開きます。

ufw allow 12345/tcp

次に、22 番ポートを閉じます。

不安であれば 12345 でログインできたことを確認してから実行してください。

以下の手順で 22 番ポートを閉じます。

ufw status numbered 

で 22 番ポートの番号を確認。

設定されていた OpenSSH のルールの番号を削除します。

1 番の場合

ufw delete 1

IPv4 と IPv6 の両方が表示されている場合、同様の手順で IPv6 用のルールも削除してください。

このサーバを web サーバとして使用する場合は、このタイミングで 80、443 のポート番号を解放してもいいと思います。

ufw allow 80/tcp
ufw allow 443/tcp

最後に

ufw status numbered​

と実行して

ufw status numbered

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 12345/tcp                  ALLOW IN    Anywhere                  
[ 2] 80/tcp                     ALLOW IN    Anywhere                  
[ 3] 443/tcp                    ALLOW IN    Anywhere                  
[ 4] 12345/tcp (v6)             ALLOW IN    Anywhere (v6)             
[ 5] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 6] 443/tcp (v6)               ALLOW IN    Anywhere (v6)             

となっていれば OK です。

設定が完了したら SSH サーバを再起動してください。

systemctl restart sshd

設定が完了したらファイアウォールも再起動してください。

sudo ufw reload

ここまでの作業が完了したらサーバの再起動を行います。

sudo reboot

おわりに

最後に一般ユーザでログインすることを確認できれば OK です。

またパスワードログインが不可能なこと。

root でログインが不可能なこと。

も確認できれば尚いいと思います。

以上参考になれば嬉しいです。