裝了新電腦,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 中 banaction 與 banaction_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 ipfail2ban-client set sshd banip 1.1.1.1
加入 sshd 的被 Ban ipfail2ban-client set sshd unbanip 1.1.1.1
解 ban sshd 的被 Ban ip