最安VPSでマルチドメインサイト構築(WebArena 環境構築:SSH/セキュリティ設定)

ここでは、WebArenaで作成したインスタンスに、 ローカルPC端末から SSHで接続します。SSH接続後に、インスタンスのセキュリティ設定を実施します。

WebARENA(VPSクラウド)

インスタンスの作成については、以下の記事を参考にしてください。

最安VPSでマルチドメインサイト構築(WebArena 環境構築:インスタンス設定)

また、SSHの接続のために以下の情報が必要になります。上記記事を参考に、あらかじめ取得をお願いします。

  • 【SSH使用情報①】 キーペア作成時にダウンロードしたpemファイル
  • 【SSH使用情報②】 作成したインスタンスのIPアドレス
  • 【SSH使用情報③】 ubuntuユーザ(rootユーザ)のパスワード

SSH接続

TeraTermがなくても、PowerShellでもssh接続ができます。 もちろんTeraTermでも問題ありません。

参考:PowerShellでSSHクライアントを使う(Windows 10ネイティブ版)

まず、ローカル端末のユーザのsshフォルダに移動し、ダウンロードしたpemファイルを配置します。

私がダウンロードした際は、ファイル名は「ssh-j*****.pem」でした。

ここで1つハマりポイントですが、接続のユーザ名は「root」ではなく「ubuntu」になります。

ssh ubuntu@[ipアドレス] -i [ダウンロードしたpemファイル]

接続に成功すれば、以下のメッセージが表示されます。

 PS C:\Users\*******\.ssh> ssh ubuntu@***.***.***.*** -i .\ssh-j*******.pem
 Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64)

Documentation:  https://help.ubuntu.com
Management:     https://landscape.canonical.com
Support:        https://ubuntu.com/advantage System information as of Sun May 19 14:45:11 JST 2019 System load:                    0.08
 Usage of /:                     25.3% of 19.56GB
 Memory usage:                   41%
 Swap usage:                     1%
 Processes:                      99
 Users logged in:                1
 IP address for ens3:            ***.***.***.***
 IP address for docker0:         172.17.0.1
 IP address for br-739c7d708685: 172.18.0.1
Ubuntu's Kubernetes 1.14 distributions can bypass Docker and use containerd
 directly, see https://bit.ly/ubuntu-containerd or try it now with snap install microk8s --classic
Canonical Livepatch is available for installation.
Reduce system reboots and improve kernel security. Activate at:
  https://ubuntu.com/livepatch 
 
230 packages can be updated.
107 updates are security updates. 
 
Last login: Sun May 12 22:33:05 2019 from ***.***.***.***
ubuntu@*********:~$ 

インスタンスのセキュリティ設定

ここからはセキュリティの設定をします。設定にあたっては以下のサイトを参考にさせて頂きました。

以下の順番で設定を進めていきます。

  1. VPSのOSをアップデートする
  2. sshの設定ファイルを変更
    1. rootユーザーでのログインを禁止する
    2. パスワードでログインできなくする(鍵認証)
    3. ポートを閉じて(変更して)侵入経路をふさぐ

VPSのOSをアップデートする

ubuntuはdebian系ですので、apt-getになります。

# apt-get update 
# apt-get upgrade 

rootユーザーでのログインを禁止する

先に新しいユーザを追加します。(rootでのログインを禁止すると誰も入れなくなってしまいます。)

ここでコマンドに注意です。 「useradd」コマンドではホームディレクトリが作成されないので、Ubuntuではユーザー追加時は「adduser」コマンドを使うとパスワード発行からホームディレクトリ作製まで対話式に進むので、そのコマンドを利用してユーザーを作成します

# adduser USER_NAME
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully 

作成したユーザに、sudoの実行権限を付与します。sudoはスーパーユーザの実行権限が必要なコマンド時に使用するコマンドです。

# usermod -aG sudo USER_NAME 

新たに追加したユーザが、SSH接続できるようにします。そのためにssh鍵を作成し、サーバに公開鍵を配置します。

ssh-keygen

公開鍵の配置はscpコマンドで行います。先ほど作成した新規ユーザのホームに.sshが作成されていなければ、事前に作成します。

mkdir /home/追加ユーザ名/.ssh

作成した公開鍵を転送します。ここはubuntuユーザで実行します。

scp -i .\ssh-j********.pem .\ id_rsa_*******.pub ubuntu@IPアドレス:/home/新ユーザ名/.ssh

公開鍵をサーバに登録します。手順としては、新たにauthorized_keysファイルを作成し、そこに転送した公開鍵を転記します。

cd /home/新ユーザ/.ssh
sudo touch authorized_keys
chown 新ユーザ名:新ユーザ名 authorized_keys 
cat ras_********.pub  authorized_keys 

ここまでできたら、新しいユーザでSSH接続します。 Ubuntuユーザでログインしたときと同じメッセージが画面に表示されるはずです。

ssh 新しいユーザ名@[ipアドレス] -i [作成した秘密鍵]

SSHの設定ファイル 変更

  • SSH接続のポート番号を変更する
  • rootユーザーでのログインを禁止する
  • パスワードでログインできなくする(鍵認証)

sshの設定ファイルを変更することで、以下の対応を行います。

sudo vim /etc/ssh/sshd_config

以下を追記します。
変更後のポート番号には10001~65535の番号の間で入力するのがおすすめ。例えば[29112]みたいな。

#Port 22 ←コメントアウト
Port 29112 ←追記

PermitRootLogin no  ←コメントを外す

#PasswordAuthentication yes ←コメントアウト
PasswordAuthentication no  ←追記

sshdを再起動します。

sudo systemctl restart sshd 

先ほど変更したポート番号を、セキュリティグループのルールに追記します。

再度SSH接続して、以下のエラーがでればOKです。また変更後のポート番号でログインできることを確認します。

PS C:\Users\****.ssh> ssh ubuntu@***.***.***.*** -i .\ssh-*******.pem
 ssh: connect to host ***.***.***.*** port 22: Connection refused

 
PS C:\Users\****.ssh> ssh ubuntu@***.***.***.*** -i .\ssh-*******.pem -p 29***
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64)
 Documentation:  https://help.ubuntu.com
 Management:     https://landscape.canonical.com
 Support:        https://ubuntu.com/advantage
 System information as of Sun May 19 17:06:53 JST 2019
 System load:                    0.05
 Usage of /:                     25.3% of 19.56GB
 Memory usage:                   40%
 Swap usage:                     1%
 Processes:                      97
 Users logged in:                1
 IP address for ens3:            ***.***.***.***
 IP address for docker0:         172.17.0.1
 IP address for br-739c7d708685: 172.18.0.1
 Ubuntu's Kubernetes 1.14 distributions can bypass Docker and use containerd
 directly, see https://bit.ly/ubuntu-containerd or try it now with
 snap install microk8s --classic
 Canonical Livepatch is available for installation.
 Reduce system reboots and improve kernel security. Activate at:
  https://ubuntu.com/livepatch 
 230 packages can be updated.
 107 updates are security updates.

以上が、 WebArenaVPSのインスタンスへのSSH接続と、セキュリティ設定になります。次回はGit環境を構築します。

まとめ記事に戻る:最安VPSでマルチドメインサイト構築(WebArena + Docker + Let’s Encrypt)

タグ: ,

About: ken


コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください