安裝方法
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 地址列表。