インストール方法
Fail2Banは、ほとんどのLinuxディストリビューションで基本パッケージとして提供されています。以下のコマンドを使用して簡単にインストールできます。
Debian/Ubuntu
sudo apt-get update
sudo apt-get install fail2ban
CentOS/RHEL
sudo yum install epel-release
sudo yum install fail2ban
インストール後のFail2Banサービスの開始と有効化
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
インストール後にサービスを開始し、ブート時に自動的に実行されるように設定します。
主要設定ファイル
Fail2Banの核心設定は、`jail.conf`と`jail.local`ファイルで行われます。元のファイルである`jail.conf`は修正せず、`jail.local`ファイルを作成して設定を上書きすることがベストプラクティスです。
⚙️ 主要設定ファイルの場所
/etc/fail2ban/jail.conf
📝 ユーザー指定設定ファイル(推奨)
/etc/fail2ban/jail.local
`jail.conf`の設定を変更するには、このファイルを作成して必要な設定のみを追加します。この方法は、更新時に元のファイルが上書きされるのを防ぎます。
jail.localファイルの主要設定例
以下は、`jail.local`ファイルに頻繁に追加される設定オプションです。これらの設定を使用してFail2Banの動作を詳細に制御できます。
- [sshd]: sshdサービスに関する設定を開始します。
- enabled = true: このjail(監獄)を有効にします。
- port = ssh: sshポート(デフォルト22)を保護対象に指定します。
- maxretry = 5: 指定された時間(findtime)内にログイン失敗回数が5回を超えた場合、ブロックします。
- bantime = 10m: ブロックする時間(10分)を設定します。
- findtime = 10m: ログイン失敗回数を計算する時間(10分)を設定します。
主要コマンド
Fail2Banサービスの状態を確認したり、手動でIPをブロック/解除するために使用される主要なコマンドです。
Fail2Banサービスの状態確認
sudo systemctl status fail2ban
Fail2Banサービスが正常に実行されているか確認します。
Fail2Banログの確認
sudo journalctl -u fail2ban
Fail2BanがブロックしたIPリストなどの詳細な動作ログを確認します。
特定IPを手動でブロック
sudo fail2ban-client set sshd banip 1.2.3.4
指定されたIPアドレスを`sshd` jailで手動でブロックします。
特定IPの手動ブロック解除
sudo fail2ban-client set sshd unbanip 1.2.3.4
以前にブロックされたIPアドレスを`sshd` jailで手動でブロック解除します。
現在ブロックされているIPリストの表示
sudo fail2ban-client status sshd
`sshd` jailによって現在ブロックされているIPアドレスのリストを確認します。