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

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