見出し画像

VPS利用にあたりやるべきこと(その1)(備忘録を兼ねて)

VPS(Virtual Private Server)は、柔軟な拡張が可能な仮想専用サーバーのことである。サーバー保守は借りた者がする必要があるものの、共用サーバーや専用サーバーよりはCPUやSSDの選択の自由度が高く、また安価で、OSも自分で選べるのが利点だ。
僕はマストドンサーバーはほぼVPSで立てている(一時期「さくらのレンタルサーバー」を利用したこともあったが、それはマストドン立ち上げスタートアップスクリプトがあったからである)。

さて、VPSは借りるだけでは安心はとてもできない。世界中から虎視眈々と乗っ取りを狙ってログイン試行が行われ続けるからである。(しばらく起動したままほったらかしにしていたVPSにログイン失敗ログが数万もたまっていたのにはゾッとした。)

ここでは自分の備忘録として、まずはVPSを利用するにあたりセキュリティを高める方法を記しておく。

「Tera Term」の最初の画面

私はVPSとの接続にターミナルソフト「Tera Term」を利用している。もうこれ以外のソフトを使えないほど慣れてしまっている。

さて、VPSを借りよう。
私は慣れている「ConoHaのVPS」(https://www.conoha.jp/vps/?btn_id=top--mainvisual_vps-top)を年額で借りているが、他にも「さくらのVPS」「Vultr」「カゴヤのVPS」など多くのサービスがあり、一長一短、価格も様々であって、これは皆さんに比較検討して選んでいただきたい。

VPSを借りてOSなどを選択し起動して、IPアドレスをTera Termの「ホスト」の欄に入力し、OKを押す。すると、「known hostsリストにない接続だ」と警告が必ず出るので、「既存の鍵を、新しい鍵で上書きする」にチェックを入れ、「続行」をクリックする。

チェックし忘れたが、「新しい鍵で上書きする」に必ずチェックを。

さて、rootでログインしよう。

最初のログイン画面


ユーザー名にroot、パスフレーズにVPSをセットアップした際のパスワードを入力すると、まっさらなVPSが出てくる。(私はOSにはマストドン推奨のUbuntuを入れている。バージョンは20.04。)

ここからが本番である。
まず、ユーザーを作る。(rootで作業すると何でもできてしまい危険なので)

即、ユーザーnoteのパスワードの設定を求められる。2回入力して間違いなければ、以下のメッセージが出る。(Phone numberなどは無視してEnterを押せば良い)

# adduser note


# passwd: all authentication tokens updated successfully.


さて、一旦ログアウトして、ユーザーnoteでログインできるか確かめる。
Tera Termのユーザー名にnote、パスワードはさっき設定したものを入力すればよい。無事ログインできたら成功である。

ユーザーでログインした図

rootだとプロンプトが#だったのが、ユーザーだと$に変わっていることに注意しよう。これはのちのち見間違えて失敗する初歩的なことである。

次は、パスワードログインの代わりにSSH接続を設定する。
Tera Termの「設定」→「SSH鍵設定」で公開鍵と秘密鍵を作る。

SSH鍵生成

「生成」をクリックすると鍵が生成され始める。そして「鍵のパスフレーズ」を要求される。
このパスフレーズは大変に重要なものなので、決して忘れてはならない。
そして、出来上がった公開鍵と秘密鍵と共に安全なところに保存する。できればUSBメモリー等にもバックアップした方が良い。

さて、noteユーザーでログインした状態で、公開鍵id_rsa.pubをTera Termの画面にドラッグ&ドロップする。一応、lsコマンドでちゃんと入っているか確認しておこう。
ここからは「公開鍵リスト」の作成に入る。

$ cd
$ mkdir .ssh
$ chmod 700 ./ssh
$ cat id_rsa.pub > .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm -f id_rsa.pub

これで公開鍵リストができた。安全のため最後の行ではid_rsa.pubを削除している。

ここで一旦ログアウトし、パスワードログインでなく秘密鍵でのログインができるかを確認する。

パスフレーズには(繰り返すがnoteのパスワードではなく)鍵を作った際のパスフレーズを入力、秘密鍵は先ほど作ったid_rsaを指定する。
「OK」をクリックしてログインできれば成功である。
これでランダムなパスワードアタックからはひとまず回避できる。
お疲れさまでした。

続きはのちほど近いうちに書く。