VPSは契約直後が最も危険だ.初期パスワードのrootに対する自動攻撃は,公開した瞬間から始まる.本記事は契約後30分でやる初期設定を,コピペ手順で示す.

対象ははじめてVPSを触る個人開発者.読み終えたとき,あなたのサーバーは「最低限安全」なラインを越えている状態になります.

なぜ初期設定を急ぐべきか

インターネットに出た瞬間,22番ポートには総当たり攻撃が降り注ぐ.ログを見れば数分で外国からのログイン試行が並ぶのが当たり前だ.

初期設定はたった30分.この30分を惜しむと,乗っ取られて踏み台にされるという最悪の結果を招く.順番に潰していこう.

手順1:SSH鍵を作ってログインする

パスワード認証は総当たりに弱い.まず手元のPCでSSH鍵ペアを作り,公開鍵をサーバーに登録する.

手元PCで鍵を生成し公開鍵を送る

ssh-keygen -t ed25519 -C "your-name"
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@<サーバーIP>
ssh root@<サーバーIP>   # 鍵でログインできるか確認

手順2:作業用の一般ユーザーを作る

rootで日常作業をするのは危険だ.sudo権限を持つ一般ユーザーを作り,普段はそちらで作業する.

一般ユーザー作成とsudo付与

adduser deploy
usermod -aG sudo deploy        # Ubuntu/Debian系
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy

手順3:rootログインとパスワード認証を禁止する

鍵ログインを確認できたら,rootの直接ログインとパスワード認証を無効化する.攻撃面が一気に消える.

/etc/ssh/sshd_config を編集して再起動

PermitRootLogin no
PasswordAuthentication no
# 保存後
sudo systemctl restart ssh

手順4:ファイアウォールで必要なポートだけ開ける

原則すべて閉じ,必要なものだけ開けるのが鉄則だ.Webサーバーなら22(SSH)・80・443で足りる.

ufw で最小限のポートだけ許可

sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable

手順5:自動更新と時刻同期を有効にする

セキュリティ更新の取りこぼしは事故の元だ.自動更新を入れ,ログの整合性のために時刻同期も確認しておく.

無人セキュリティ更新を有効化

sudo apt update && sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
timedatectl   # 時刻同期がactiveか確認

補論:初期設定のしやすさは,VPSそのものの質に左右される

初期設定の手間は,OSテンプレートの新しさ・コントロールパネルの使いやすさ・スナップショット機能の有無で大きく変わる.古いOSしか選べないVPSは,最初から余計な苦労を背負う.

その点 高速NVMe・50種類以上のOSテンプレートに対応した国内VPS─シン・VPS─ は新しめのOSテンプレートが揃い,スナップショットで「設定前の状態」へ即座に戻せるため,初期設定を安心して試行錯誤できる.壊しても戻せる安心感は学習効率を大きく上げる.

公開時は独自ドメインをVPSのIPに向ける.取り扱い400種類以上のドメイン取得サービス─ムームードメイン─ で取得したドメインのDNSにAレコードを設定すれば,名前でアクセスできるようになる.

よくある質問

Q1:SSHのポートは22番から変えるべき?

鍵認証+rootログイン禁止が効いていれば必須ではない.ただし攻撃ログのノイズを減らす効果はあるので,余裕があれば変更しても良い.

Q2:fail2banは入れるべき?

鍵認証だけでも十分強いが,fail2banを入れると不審なアクセスを自動でブロックでき,ログも静かになる.次の一手として推奨だ.

Q3:設定を間違えてログインできなくなったら?

多くのVPSはコンソール(VNC)から直接ログインできる.さらにスナップショットがあれば設定前へ巻き戻せるので,事前に取っておくと安全だ.

まとめ ― 最初の30分が「安全なサーバー人生」を決める

SSH鍵・一般ユーザー・rootログイン禁止・ファイアウォール・自動更新.この5手順を踏むだけで,あなたのVPSは無差別攻撃に耐えられる最低ラインを越える.

完璧を目指す必要はない.まず今日この5手順を流すこと.それだけで,あなたは「設定できるエンジニア」の側に立っている.