fail2ban 筆記

Posted by summer on September 16, 2023

裝了新電腦,SSH 怕被爆破,選 fail2ban

環境 ubuntu 22.04 server minimized

Fail2ban 安裝

sudo apt install fail2ban

另外因為是 minimized 版本 ,需要手動裝 ufw 與 rsyslog

sudo apt install ufw rsyslog

Fail2ban 設定

目前只需要 SSH ,進入 /etc/fail2ban/jail.d 更改預設檔,加入以下參數

1
2
3
4
5
6
7
[sshd]
enabled = true
bantime = 10y
bantime.increment = true
bantime.maxtime = 100y
findtime = 10m
maxretry = 3

十分鐘內錯誤嘗試 3 次 Ban ip 10 年

預設的 filter 沒必要更改,但 fail2ban 的 action 預設是 iptables,而我使用的是 UFW

如果要變動,那請修改 filter.d 內的同名文件

幸好 fail2ban 有 UFW 的預設 action 範本,將 jail.conf 中 banactionbanaction_allports 改為 ufw 即可

最後將 fail2ban 啟用 sudo systemctl enable fail2ban

Fail2ban-client

用 fail2ban-client 能查看 fail2ban 的狀態與加入設定

  • fail2ban-client status 查看 fail2ban 狀態
  • fail2ban-client status sshd 查看 sshd 狀態
  • fail2ban-client get sshd banip 查看 sshd 的被 Ban ip
  • fail2ban-client set sshd banip 1.1.1.1 加入 sshd 的被 Ban ip
  • fail2ban-client set sshd unbanip 1.1.1.1解 ban sshd 的被 Ban ip