Amazon LightSailからNTT-PC WebARENA Indigo VPSに移動②:初期セットアップ
ぼく「国内で安いのはNTT WebARENA Indigoかぁ。」
ぼく「Indigo、OSサポート、AlmaもRockyも無いんだね。Ubuntu LTS 20.04が一番サポート長いから使ってみるか」
VPSプランの選択
- 選んだプラン: 月額1,399円1時間当たり2.2円
- OS: Ubuntu 20.04 LTS
- メモリ: 4GB
- CPU: 4vCPU
- SSD: 80GB
- NW: 500Mbps上限
インスタンスを作成
1. 暫定でSSHの鍵ペアをWebコンソールで作る(後で吹き飛ばす)
1. インスタンスを作成(同時にグローバルIPアドレスが付与される)
1. 鍵ペアを手元の端末の.ssh/id_rsaにでもコピーしてからSSHで乗り込む:
ssh -l ubuntu <IP>
不必要なアカウントを消し去り、rootに対する公開鍵認証でしかログインできないようにする
sudo su
passwd #Webコンソールから入る為に設定
userdel ubuntu
rm -rf /home/ubuntu
(/root/.ssh/*を適当なファイルにするかssh-keygen、authorized_keysに公開鍵を保存)
その他細かい初期セットアップ
#ホスト名関連
vi /etc/hostname
vi /etc/hosts
#swap作成関連
fallocate -l 4G /swap
chmod 600 /swap
mkswap /swap
swapon /swap
cp /etc/fstab /etc/fstab.bak
vi /etc/fstab #以下を追記
/swap swap swap defaults 0 0
#ローカライズ関連
apt-get install language-pack-ja
update-locale LANG=ja_JP.UTF-8
timedatectl set-timezone Asia/Tokyo
#アップデート
apt-get -y update
apt-get -y upgrade
#再起動
reboot
#swapの確認
free -h
#localeの確認
locale
パーソナルファイアウォールの有効化
#ufwファイアウォールの設定(一旦SSHのみ許可)
ufw allow ssh
ufw enable
#fail2banの設定(ufwによる管理)
vi /etc/fail2ban/jail.conf #以下に変更
banaction = ufw
banaction_allports = ufw
systemctl enable fail2ban
systemctl restart fail2ban
#適当にSSHでパスワードアタックしてufw statusにREJECT載ってきたらOK
個人的VPSサーバ設計思想
- VPSは大抵の標準でswap領域が無いが、せっかくSSDなのでメモリと同レベルのswapを用意しておく。
- 一般ユーザは消す。rootでなんでもやって、やらかしたときはVPSを作り直せば良い。
- パスワードは絶対わからないレベルのものをrootに与える(SSHは公開鍵認証。緊急時にWebコンソール使えりゃそれでいい)。
- パスワードアタックしてくるやつは大抵敵なので、たとえ公開鍵認証しか許可してなくても、fail2banで通信を拒否する。