測試環境
- CentOS 7
1.安裝 Fail2ban
CentOS 7
sudo yum install -y fail2ban
2.執行 Fail2ban
sudo systemctl start fail2ban
3.開機啟動 Fail2ban
systemctl enable fail2ban
4.新增設定檔
預設路徑
/etc/fail2ban/jail.local
檔案內容
[ssh-iptables]
#名稱
enabled = true
# 啟用 SSH
filter = sshd
#規則的名稱,必須位於filter.d目錄裡面,sshd 是 fail2ban 内置 ssh 規則
logpath = /var/log/secure
# Log 檔的位置
findtime = 600
#統計時間範圍,在此範圍內滿足條件封鎖
maxretry = 3
# 登入失敗幾次封鎖
bantime = 3600
# 封鎖的時間,單位:秒,3600=1小時
其他參數
- port:對應端口
- action:採取行動
5.重啟服務
sudo systemctl restart fail2ban
6. 確認服務狀態
sudo fail2ban-client status
如下圖
其他常用指令
#查看被規則目前狀態,其中sshd為名稱
fail2ban-client status sshd
#刪除被 Ban IP , 自行替換規則名稱(sshd) 及 IP(XX.XX.XX.XX)
fail2ban-client set sshd unbanip XX.XX.XX.XX
#查看 fail2ban 日志
tail /var/log/fail2ban.log
#默认配置
vim /etc/fail2ban/jail.conf
#fail2ban 設定檔
/etc/fail2ban/fail2ban.conf
#阻擋文件設定檔
/etc/fail2ban/jail.conf
#阻擋條件規則(正規表示示)
/etc/fail2ban/filter.d