Ubuntu雲服務器fail2ban防禦

查看ssh暴破

sudo grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

看看結果,這些人啊,可怕!
在這裏插入圖片描述

使用fail2ban

  • 安裝
sudo apt-get update
sudo apt-get install fail2ban
  • 配置fail2ban
sudo vim /etc/fail2ban/jail.local

具體內容

[DEFAULT]
# 默認全局配置
# 忽略的IP,可以添加自己的IP地址
ignoreip = 127.0.0.1/8
# 客戶端被禁止時長(秒),24 hour
bantime = 86400
# 客戶端主機被禁止允許失敗的次數
maxretry = 5
# 查找失敗次數的時長(秒)10 min
findtime = 600
#日誌修改檢測機制
backend = auto
 
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
# 優先級高於全局配置
maxretry = 3
  • 重啓fail2ban服務,開機自啓
# 開啓服務
sudo systemctl start fail2ban
# 重啓服務
sudo systemctl restart fail2ban
# 開機自啓
sudo systemctl enable fail2ban
  • 檢查iptables
# 查看iptables,找到f2b-sshd規則下可以看到被ban的ip地址
sudo iptables -L -n

在這裏插入圖片描述

  • 常用命令
# 查看狀態
sudo fail2ban-client status
sudo fail2ban-client status sshd
# 解除被禁ip地址
sudo fail2ban-client set sshd unbanip xxx.xxx.xxx.xxx

查看狀態
在這裏插入圖片描述

  • 檢測fail2ban日誌文件
tail -f /var/log/fail2ban.log

在這裏插入圖片描述

使用iptables

  • 禁止ip地址
# 禁止某個ip
iptables -I INPUT -s 103.10.60.98 -j DROP
# 禁止ip地址段
iptables -I INPUT -s 222.186.0.0/16 -j DROP
  • 解除ip禁止
# 解禁某個ip
iptables -D INPUT -s 103.10.60.98 -j DROP
# 解禁ip地址段
iptables -D INPUT -s 222.186.0.0/16 -j DROP
  • 查看iptables狀態
# 查看iptables,在chain input下可以看到被禁的ip
sudo iptables -L -n

在這裏插入圖片描述

References

[1] https://blog.csdn.net/weixin_43507959/article/details/102763985
[2] https://blog.csdn.net/qq_43431158/article/details/104252506
[3] https://www.cnblogs.com/grimm/p/5841905.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章