ConoHa VPS にroot以外のユーザを追加してみた!
WEBアプリケーションのデプロイ前に、VPS の設定を行う。その際、セキュリティを高めておくことは重要になるが、作業は忘れがちで毎回同じ内容を調べながらの作業になるため、備忘録も兼ねて残しておく。
はじめに
クライアントからVPSサーバーへの接続はSSH接続することが一般的である。その際に初期のユーザー"root"を用いることは多いが、LinuxOSにおけるrootユーザーは一般的に知られているため、このユーザーからの SSH接続を許可することはセキュリティの観点から賢明とは言えない。
よってセキュリティを高める場合には、下記を実施する。
- rootユーザー相当の権限をもった別ユーザーの追加
- rootユーザーからのアクセス禁止
更新 (2018.04.13)
ConoHa VPSに"Debian9"ベースのサーバーを構築して、WEBアプリをリリースする記事を新たに追加した。
そちらでSSH接続の設定に関して、新たにまとめた。
参照先:こちら
環境
- サーバー側: Debian 9.0 (64bit)
- クライアント側:Mac OSX High Sierra 10.13.2
Step.1 rootユーザー相当の権限をもった別ユーザーの追加
クライアント側のMacのターミナルを起動し、以下のコマンドを入力
$ ssh root@@{サーバーIPアドレス}
以下のメッセージが表示される。"yes"と入力
Are you sure you want to continue connecting (yes/no)?
rootパスワードを要求されるので、"ConoHa VPS"生成時にWEBコンソール上に設定したパスワードを入力。コンソールの表示が以下に切り替わると接続成功
[root@サーバーIPアドレス ~]#
以下コマンドを入力してユーザを新規追加
adduser [User名]
以下コマンドを入力して、パスワードの入力を求める画面が表示されるため、新規パスワードと確認のためのパスワードを再入力
passwd [User名]
以下のコマンドを使って、rootユーザーと同じ"sudo"グループに追加する。これによって、"sudo"コマンドが利用可能になる
usermod -G sudo [User名]
以下コマンドを入力して、パスワードの入力画面が表示される。パスワード入力後、「test」が表示されれば設定完了
sudo echo "test"
Step2. rootユーザーからのアクセス禁止
SSH の設定ファイルを編集して、下記設定を変更する。この結果、rootユーザーがssh接続でアクセスできなくなり、セキュリティ強度が高まる。
項目 | 変更前 | 変更後 |
---|---|---|
rootユーザのログイン無効化 | PermitRootLogin yes | PermitRootLogin no |
変更前(初期状態)は、先頭に"#"が付与されて設定自体が向こうになっている場合がある。この場合は、"#"を外してほしい。
ちなみに…この変更の実施+SSHサービスの再起動の後では、rootユーザーがSSH接続できなくなる。もし接続できる場合には、設定変更が完了していないことが考えられるので、内容を確認してほしい。スペルミスなども要注意。
SSHサービスの再起動
下記コマンドを実行して、SSHサービス (sshd) を再起動する。この結果、sshの設定変更が反映される。
$ sudo /etc/init.d/ssh restart
今回のサーバーOSは、Debianになるため上記になる。CentOSでは$ sudo systemctl start sshd.service
になる。