Linux 上有一套非常有名的軟體叫 Fail2ban ,可以用作防止暴力破解。可用它簡單地設定當一個 IP 在指定時間內,SSH 登入失敗次數超出指定次數,就會被封鎖多久。

環境:Ubuntu Server 20.04 (LTS)

若你見到 <橙色>,代表你需要轉換內容。

  1. 安裝
sudo apt-get install fail2ban -y
  1. 創建新的設定檔
sudo nano /etc/fail2ban/jail.d/jail.local
  1. 把以下的設定抄進去 (以下設定為10分鐘內(findtime),錯3次(maxretry),便鎖該 IP 10分鐘(bantime);bantime 改為 -1 為永久封鎖)
[sshd]
enabled = true
port = <22_or_your_customzied_port_number>
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 10m
bantime = 10m
  1. 重新啓動 fail2ban
sudo systemctl restart fail2ban
  1. 查看情況
sudo fail2ban-client status sshd

應該會看到類似的畫面,顯示有多少,哪些 IP 被封鎖:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     13331
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 0
   |- Total banned:     698
   `- Banned IP list:

Recommended Posts

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments