他をすべてロックダウンしていても、ボットはポート 22 に対するパスワード推測を決してやめません — 絶え間ない背景ノイズであり負荷です。fail2ban はログを監視し、ログイン失敗が多すぎる IP を自動でバンするので、攻撃者は数回試しただけで締め出され、それ以上推測を続けられなくなります。インストールは小さく、ログのスパムは大きく減ります。
1. fail2ban をインストール
sudo apt update && sudo apt install -y fail2ban
2. ローカル設定を作成
同梱の jail.conf を直接編集してはいけません — jail.local で上書きします:
sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
EOF
これにより、10 分以内に 5 回ログインに失敗した IP を 1 時間バンします。パスワードのタイプミスで自分が締め出されないよう、自分の IP を ignoreip に追加してください。
3. 起動して自動起動を有効化
sudo systemctl enable --now fail2ban
4. SSH jail を確認
sudo fail2ban-client status sshd
現在バンされている IP の数がわかります — 数分のうちに驚くほど多いことがよくあります。
バンの管理
sudo fail2ban-client set sshd unbanip 1.2.3.4 # lift a ban
sudo fail2ban-client status # list all jails
sudo systemctl reload fail2ban # apply config changes
正直な注意
- 自分の IP を
ignoreipに追加して、繰り返しのタイプミスで自分がバンされないようにしてください。もしバンされてしまったら、bantime が過ぎるのを待つか、プロバイダーのコンソールを使ってください — EQVPS はすべての VPS にコンソールを用意しています。 - fail2ban は SSH 鍵を置き換えるのではなく補完するものです。 鍵は推測が成功すること自体を止め、fail2ban はノイズを止め、他のサービスも守ります。
- 好みに応じて調整を:
bantimeを長くするとしつこい攻撃者への抑止になりますが、攻撃的すぎると正当な不安定な接続までバンしてしまうリスクがあります。
次のステップ
fail2ban は堅牢なサーバーの一層に過ぎません。SSH 鍵認証とUFW ファイアウォールを組み合わせ、何かをインターネットに公開する前に新規 VPS のセキュリティチェックリストを一通り確認してください。
コメント
まだコメントはありません。最初になりましょう。