初動は「認証 → 更新 → 公開範囲」の順
Linux VPSでの具体的な手順(Ubuntu・Debianの一例)
1. SSH鍵でログインする
手元のパソコンで鍵ペアを作り、公開鍵だけをサーバーに登録します。秘密鍵はサーバーに置かず、パソコンの外に持ち出さないようにします。
ssh-keygen -t ed25519 ssh-copy-id ユーザー名@サーバーのIP
鍵でログインできると確認してから、パスワード認証を止めます。
2. rootで直接ログインしない
作業用ユーザーを作り、管理者権限(sudo)を持たせます。
adduser 作業用ユーザー名 usermod -aG sudo 作業用ユーザー名
作業用ユーザーで鍵ログインとsudoが使えると確認できたら、/etc/ssh/sshd_config で次を設定します。
PermitRootLogin no PasswordAuthentication no
sudo systemctl restart ssh
サービス名はOSにより ssh または sshd です。
3. ファイアウォールで開けるポートを絞る
Ubuntuで使われるufwの例です。SSHを許可してから有効にします(先に許可しないと、自分も接続できなくなります)。
sudo ufw allow OpenSSH sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
80・443は、Webサイトを公開するときだけ開けます。事業者のパネル側にも別のファイアウォールがある場合は、両方の設定を確認します。
4. 不審なログインを自動で止める(Fail2ban)
sudo apt update && sudo apt install fail2ban
インストールだけでSSHの保護が有効になるディストリビューションもあれば、設定が必要なものもあります。導入後は sudo fail2ban-client status で動作を確認してください。SSHのポート番号を変える方法もありますが、攻撃の「ついで」を減らす程度の効果で、鍵認証とファイアウォールの代わりにはなりません。
5. 更新を入れる
sudo apt update && sudo apt upgrade
更新の前にバックアップ(またはスナップショット)を取ります。カーネル更新のあとは再起動が必要な場合があります。
Windows VPSの場合
SSHの代わりにRDP(リモートデスクトップ)で接続します。Administratorの初期パスワードを強いものに変え、RDPの接続元IPを自分のIPに絞る(ファイアウォールの規則で制限する)のが基本です。
安全性は、設定より「戻せるか」で判断する
重要なのは設定を増やすことではなく、変更を記録し、失敗時に戻せる状態を作ることです。
保存用チェックリストに戻る →