オフショアVPSでSSHを強化
パスワード認証を無効にし、キーを強制し、ポートを変更し、送信元IPを制限し、試行をレート制限します。
SSHはインターネット上で最も攻撃されるサービスです。ポート22のデフォルト設定のSSHは、1時間に数百回のブルートフォース試行を目撃します。強化には10分かかり、ノイズをゼロに減らします。
ステップ1: SSHキー認証のみ
/etc/ssh/sshd_config を編集します: code:PasswordAuthentication no PubkeyAuthentication yes ChallengeResponseAuthentication no KbdInteractiveAuthentication no
リロード: systemctl reload ssh。現在のセッションを閉じる前に、新しいターミナルでキーによるログインができることを確認してください。ロックアウトすると、レスキューコンソールでの起動が必要になります。
ステップ2:ポート22から移動
高い非標準ポート(例:22222)を選択します。sshd_configで: code:Port 22222
ファイアウォールを更新し(ufw allow 22222/tcp)、SSHをリロードしてから、ポート22を閉じます。
ステップ3: rootログインを無効化
sudoを持つ非rootユーザーを作成します: code:adduser deploy usermod -aG sudo deploy rsync -a ~/.ssh deploy@/home/deploy/ chown -R deploy:deploy /home/deploy/.ssh
次にsshd_configで: code:PermitRootLogin no
今後は、ssh deploy@HOSTでログインし、昇格したコマンドにはsudoを使用します。
ステップ4: fail2banでレート制限
インストールについては /kb/fail2ban-setup を参照してください。fail2banは /var/log/auth.log を監視し、N回の失敗後にIPを禁止します。
ステップ5:任意 — 送信元IPを制限する
既知のIP(自宅VPN、オフィス、踏み台ホスト)からのみSSHする場合は、送信元許可ルールを追加します: code:Match Address 1.2.3.4,5.6.7.8 AllowUsers deploy