EQVPS

fail2ban を設定してブルートフォース攻撃をブロックする方法

サーバーへの絶え間ないパスワード推測を止める:fail2ban はログを監視し、ログイン失敗が多すぎる IP を自動でバンします。インストールし、SSH jail を有効化し、バンルールを調整する — 数コマンドで。

他をすべてロックダウンしていても、ボットはポート 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

正直な注意

次のステップ

fail2ban は堅牢なサーバーの一層に過ぎません。SSH 鍵認証UFW ファイアウォールを組み合わせ、何かをインターネットに公開する前に新規 VPS のセキュリティチェックリストを一通り確認してください。

よくある質問

fail2ban は実際に何をする?

ログファイル(SSH の auth log など)を監視し、同じ IP からの失敗の繰り返しを見つけます。IP がしきい値を超えると、一時的にファイアウォールでバンします。ポート 22 を一日中叩くボットは、数回試しただけでブロックされ、それ以上推測を続けられません。自動で継続的な防御です。

SSH 鍵を使っていても fail2ban は必要?

解決する問題が異なります。SSH 鍵は推測を事実上不可能にし、fail2ban は延々と続く試行のノイズと負荷を止め、公開している他のサービス(メール、Web ログインなど)も保護します。鍵のみの SSH ならリスクはすでに低いですが、fail2ban は安価な多層防御で、ログのスパムも減らします。

fail2ban に自分が誤ってバンされることはある?

あります。自分のパスワードを何度もタイプミスすれば、bantime の間バンされ、その後自動でアンバンされます。自分を締め出さないためには、自分の IP を設定の 'ignoreip' に追加してください。また、プロバイダーのコンソール(EQVPS には用意されています)があれば、常に戻ってこられます。

誰がバンされているか確認したり、IP のバンを解除するには?

'sudo fail2ban-client status sshd' で jail とバンされている IP を確認できます。バンを解除するには 'sudo fail2ban-client set sshd unbanip 1.2.3.4' を使います。信頼できる IP を恒久的に追加するには、ignoreip に入れてリロードしてください。

bantime、findtime、maxretry とは?

maxretry は許容される失敗回数、findtime はそれをカウントする時間枠、bantime はバンが続く長さです。例えば 10 分以内に 5 回失敗すると 1 時間のバンが発動します。しつこい攻撃者にはより長い bantime を設定してください。

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。