Fail2ban をインストールしてブルートフォースアタックからサーバーを保護します。
- サーバー
- LXD ゲスト
- CPU
- 2コア
- メモリー
- 4GB
- OS
- Ubuntu Server 24.04 LTS 64Bit
apt パッケージ | バージョン |
---|---|
fail2ban | 1.0.2-3ubuntu0.1 |
コンテンツ
パッケージをインストール
以下のコマンドで Fail2ban をイストールします。
sudo apt update
sudo apt install fail2ban
インストール後に自動的にサービスが開始されます。
Fail2ban を設定
/etc/fail2ban/jail.conf に設定が記述されていますがこのファイルを直接編集せずに、 /etc/fail2ban/jail.local に変更したい値だけを記述します。
sudo vim /etc/fail2ban/jail.local
jail.local に以下の設定を追加して連続してログインに失敗した場合に徐々に bantime を伸ばすようにします。Fail2ban を有効にするサービスを指定します。(sshd) また、アクセス禁止が発生した場合にメールで通知をします。
[DEFAULT]
bantime.increment = true
# Send email notification
action = %(action_mwl)s
# Email recipient
destemail = foo@example.com
[sshd]
enabled = true
port = 2222 # ポートを変更している場合はポート番号を指定
/etc/fail2ban/action.d/sendmail-common.local を作成し sendmail-common.conf に記述されている設定を変更します。デフォルトではサービス開始時と終了時にもメール通知が送信されるため、アクセス禁止が行われた時のみに変更します。
sudo vim /etc/fail2ban/action.d/sendmail-common.local
以下を記述します。
[Definition]
actionstart =
actionstop =
以下のコマンドで Fail2ban を再起動します。
sudo systemctl restart fail2ban
アクセス禁止措置が行われることをテスト
存在しないユーザー名で SSH へログインする等してログインに続けて失敗します。
以下のコマンドでログインの失敗回数とアクセス禁止されたIPを確認できます。
sudo fail2ban-client status sshd