雖然 Nginx、WordPress 已設定了一些防護,SSH 也採用憑證,但每天被 try 還是不免擔心,就多加 Fail2ban 防 SSH 暴力破解吧。

以下簡單設置,做完才想到記錄下來,所以可能有漏什麼,之後有加其他防護再來補

$ sudo yum install -y fail2ban
$ sudo systemctl enable fail2ban
$ sudo vim /etc/fail2ban/jail.conf

[sshd]
enabled = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
// 1d 1天
findtime = 1d
// 嘗試連線3次
maxretry = 3
// 封鎖2週。基本單位是秒。d表示日、w表示周,其他得再查查
bantime = 2w

$ sudo systemctl start fail2ban
查看狀態:
$ sudo fail2ban-client status sshd (拿掉sshd則是看目前設定了哪些服務需要防護)
解除 IP 144.172.79.8
$ sudo fail2ban-client set sshd unbanip 144.172.79.8