Time4VPS を始め、OS をインストール、初期設定をした

格安 VPS として Time4VPS を使うことにした。

Cheap VPS hosting – Tier III DC & 99.98% uptime – Time4VPS
https://www.time4vps.com/

(1)会員登録する。

Cheap VPS hosting – Tier III DC & 99.98% uptime – Time4VPS
https://www.time4vps.com/

しかし、2018 年にすでに会員登録していたことに気付いた。

(2)サーバーを追加する。「New Order」から Linux VPS を選んだ。

「Linux 2」を選択。

・CPU: 1 x 2.60 GHz
・RAM: 2048 MB
・Storage: 20 GB
・Bandwidth: 2 TB
・Port speed: 100 Mbps
・Backups: Optional
・Virtualization: KVM

オプションとして「1 Gbps port speed ( 1.00 EUR Monthly )」を付けておいた。あとでよくよく考えると、標準で 100 Mbps port speed なんだから、動画配信をするわけでもないのにそんな速度はいらなかった。

Paypal での支払いがポップアップウィンドウが表示されずスムーズに進まなかったがなんとか注文完了。

Dashboard で該当の VPS の Status が Active になっていれば使用開始できる。同時にメールも届く。

(3)「Services」タブから該当のサービスで「Manage>Install OS」をクリック。

「Ubuntu 20.04 (64-bit)」を選択。とりあえず、「Use SSH key」と「Run init Script after OS install」のチェックは入れなかった。

「Are you sure you want to reinstall server?」で Yes を選択し、Install をクリック。

3分程でインストールが終了。Host、IP、Password が表示される。

(4)「Services>Connect via SSH」をクリック。

Username は root、Password は3で表示されたものでログインする。

(5)サーバーの時間が東ヨーロッパ時間(EEST)になっているので、日本に変更。

# sudo timedatectl set-timezone Asia/Tokyo

正しく日本時間になっていることを確認。

# date
Tue 04 May 2021 01:36:42 PM JST

(6)root のパスワードを複雑なものに変更する。

# passwd

(7)一般ユーザーを追加する。

# useradd [ユーザー名]

一般ユーザーのパスワードを設定。

# passwd [ユーザー名]

(8)sudo 設定。合わせて wheel グループを追加。

/etc/pam.d/su を編集。

# Uncomment this if you want wheel members to be able to
# su without a password.
# auth       sufficient pam_wheel.so trust

の下に以下を追加。

auth sufficient pam_wheel.so trust group=wheel

続けて、以下のコマンド。

# visudo

GNU nano が起動する。# Members of the admin group may gain root privileges に以下を追加。

%wheel ALL=(ALL) NOPASSWD:ALL

保存。一般ユーザーを wheel グループに追加。

# sudo addgroup wheel
# sudo usermod -aG wheel [ユーザー名]

/etc/pam.d/sshd を編集し、以下を追記、保存(これを記述しないと次にするログインで「ホームディレクトリがない」と表示されてしまう)。

# Create home directory automatically.
session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0022

一旦ログアウト。

# exit

「Connect」をクリックし、追加した一般ユーザーでログインできることを確認する。以下のコマンドでホームディレクトリが作成されていることを確認できる。

$ pwd
/home/[ユーザー名]

(9)アップデート。

$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt autoremove

(10)ファイアウォールの設定。デフォルトを拒否にし、SSH 用ポート(22)を許可した上で ufw を有効化する。

$ sudo ufw default deny
$ sudo ufw allow 22
$ sudo ufw enable
$ sudo ufw status

30 秒に6回ポート 22 にアクセスしてきた IP アドレスを一定期間制限するには以下。

$ sudo ufw limit 22
$ sudo ufw status

参考:
VPSを新規に借りた直後にすべきセキュリティ設定 | Time4VPSのまとめ
https://time4vps.ysklog.net/security.html

sudoコマンド – 一般ユーザーでroot権限コマンドを実行 – Ubuntuサーバー構築入門 – UbuntuでPerl Webシステム開発
https://www.ubuntu-perl-web.com/blog/20200406174004.html

Ubuntu にwheel ユーザーグループを追加する – 極上の人生
https://kawairi.jp/weblog/vita/2016040220277

sshで接続に成功した時にホームディレクトリを自動作成 – Humanity
https://tyru.hatenablog.com/entry/20120317/pam_sshd

Ubuntu のアップデート方法 – Qiita
https://qiita.com/masoo/items/8ebc51a6a9f32417d4a3

ufwをインストールして使ってみた – Qiita
https://qiita.com/_takeuchi_/items/2a1ee9b53c6a863bf844

第77回 Ubuntuのソフトウェアファイアウォール:ufwの利用(2):Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0077

UbuntuでSSHとSSHに関するファイアウォールの設定をする – Memento
https://yoshinorin.net/2016/10/17/ubuntu-ssh/

ufwで簡単firewall(ブルートフォース対策) – Qiita
https://qiita.com/forestsource/items/5f34080658251d74ab2c