Raspberry Pi(Ubuntu Server)fail2ban設定|SSH・メールサーバー防御

raspberry pi 5 ubuntu 24.04lts

本記事では、Ubuntu Server(Raspberry Pi)にfail2banを導入し、不正アクセスを自動的にブロックする方法を解説します。


■ fail2banとは

fail2banはログを監視し、不正アクセス(ブルートフォース攻撃)を検知すると
自動的にIPアドレスをブロックするセキュリティツールです。


■ なぜ必要か(重要)

サーバー公開後は以下の攻撃が必ず来ます:

・SSH総当たり攻撃
・メールサーバー認証攻撃
・ボットによるスキャン

👉 対策しないと数分で攻撃されます


■ インストール

sudo apt update
sudo apt install fail2ban -y

■ サービス確認

sudo systemctl status fail2ban

■ 設定ファイル

sudo vi /etc/fail2ban/jail.local

※ jail.conf は編集しない(上書きされるため)


■ 基本設定(重要)

[DEFAULT]
bantime = 604800
findtime = 600
maxretry = 3
backend = systemd

■ 設定の意味

・bantime → 7日間ブロック
・findtime → 10分以内
・maxretry → 3回失敗でBAN


■ SSH保護

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s

■ メールサーバー保護(重要)

Postfix + Dovecotの場合:

[dovecot]
enabled = true
[postfix-sasl]
enabled = true

👉 メールサーバーは攻撃対象になりやすいので必須


■ fail2ban起動

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

■ 自動起動設定(重要)

fail2banは再起動後も有効にするため、
必ず自動起動設定を行います。

設定しない場合、再起動後に防御が無効になります。


■ 状態確認(重要)

sudo fail2ban-client status

■ jailごとの確認

sudo fail2ban-client status sshd

■ BANされたIP確認

sudo fail2ban-client status sshd

👉 Banned IP list に表示される


■ 手動でBAN

sudo fail2ban-client set sshd banip 1.2.3.4

■ 手動で解除

sudo fail2ban-client set sshd unbanip 1.2.3.4

■ よくあるトラブル

● BANされない

→ logpath設定ミス

● ログが読めない

→ backendがsystemdでない

● 自分がBANされた

→ 別端末から解除 or コンソール操作


■ 注意(重要)

fail2ban設定を誤ると自分自身がロックアウトされる可能性があります。


■ 本環境の設定例

・SSH:3回失敗で7日BAN
・メールサーバー:強め設定
・Fail2Ban + Firewall併用


■ 次の記事

次はファイアウォール設定(ufw / firewalld)を行います。

👉 ファイアウォール設定へ

コメント

タイトルとURLをコピーしました