[速记 ]fail2ban 保护服务器
环境
Ubuntu
安装
sudo apt install fail2ban
sudo systemctl status fail2ban
# 或 sudo fail2ban-client ping
配置文件夹:/etc/fail2ban/
日志:/var/log/fail2ban.log
被禁止的 IP 保存在:/var/lib/fail2ban/fail2ban.sqlite3
参考配置:/etc/fail2ban/jail.conf
复制一份为 /etc/fail2ban/jail.local
白名单
防火墙更改
iptables 改为 ufw
# /etc/fail2ban/jail.local
banaction = ufw
banaction_allports = ufw
开启防火墙
sudo ufw allow 22/tcp
sudo ufw enable
测试 SSH
在没有被加入白名单的 IP 中尝试登陆 SSH,默认 5 次。
被封后,查看:
sudo fail2ban-client status sshd
测试 Nginx
开启频率限制
需要 Nginx 那边配置了频率限制
/etc/fail2ban/jail.d 里面添加
[nginx-limit-req]
enabled = true
重启 fail2ban
在没有被加入白名单的 IP 中尝试访问网站,使用 ab 进行测试
被封后,查看:
sudo fail2ban-client status nginx-limit-req
其他
# 解封某个 IP
fail2ban-client set ssh unbanip 192.168.1.115
# 解封所有 IP
fail2ban-client set ssh unbanip 192.168.1.115
systemctl restart fail2ban
# 测试规则
failregex
# 查看规则有什么 Action
sudo fail2ban-client get sshd actions
参考
本作品采用《CC 协议》,转载必须注明作者和本文链接