1Panel 面板启用 fail2ban 防范SSH 暴力破解登录服务器
前言
Fail2Ban 是一种用于防范恶意登录尝试和保护计算机系统安全的开源软件。它通过监视系统日志文件,识别恶意行为(如密码破解、SSH登录失败、HTTP访问拒绝等),并自动采取预先定义的响应措施来阻止攻击者。这些响应措施可以包括暂时禁止IP地址、添加防火墙规则等,从而防止攻击者继续对系统进行恶意活动。
Fail2Ban 的工作原理如下:
- 监视日志文件: Fail2Ban 定期检查系统日志文件,以侦测恶意行为的迹象。
- 分析日志: 它分析日志中的内容,寻找与预定义规则匹配的恶意行为模式。
- 采取措施: 一旦发现恶意行为,Fail2Ban 会采取预先配置的响应措施,如暂时禁止相关 IP 地址访问系统。
- 自动解禁: 在一段时间后,Fail2Ban 可以自动解除对被禁止的 IP 地址的封锁,以允许合法用户再次访问系统。
Fail2Ban 可以用于多种网络服务,包括 SSH、FTP、HTTP 等,提供了一种简单而有效的方式来增强系统安全性,防范恶意攻击。
环境配置
本文环境配置如下,请根据你服务器系统使用对应的安装命令。
- 系统版本: Debian 11
- 1panel 版本:v.1.9.6
- 编写日期:2024-02-11
从1panel 版本 v.1.9.0 开始,「工具箱」增加 Fail2Ban 管理功能,建议大家开启这个功能,为服务器提供一份安全屏障。
安装教程
使用 SSH 登入服务器
1、安装 Fail2ban
sudo apt-get install fail2ban
Debian 12 及以上的版本需要手动安装 rsyslog
sudo apt-get install rsyslog
2、启动 Fail2ban 服务
sudo systemctl start fail2ban
3、开机自启动
sudo systemctl enable fail2ban
4、查看 Fail2ban 服务状态
sudo systemctl status fail2ban
![1panel fail2ban](https://imgoss.gitzaai.com/2024-02-11/1707618206-632381-fail2ban-2024-02-11-09-58-34.png)
5、设置 Fail2ban
打开 1panel 面板,在「工具箱」的 Fail2Ban 管理页面,「监听 SSH 端口」 设置你SSH所用的端口。
附上常见的恶意SSH黑名单IP清单(不定期更新)
https://github.com/firehol/blocklist-ipsets/blob/master/blocklist_de_ssh.ipset
故障排除
- 如果选择的禁用方式为 -muliport,则在封禁时,只会禁用配置中的端口,如默认配置中的 22;
- 如果需要修改禁用方式,需要先判读对应服务是否正常可用;
- RedHat/CentOS 使用的是 Firewall 防火墙。
- Debian/Ubuntu使用的是 UFW 防火墙。
- 日志路径需要根据操作系统修改。
- RedHat/CentOS 日志为 /var/log/secure。
- Debian/Ubuntu 日志为 /var/log/auth.log
- Debian 从 12 开始弃用了 rsyslog,使用时需要先自行安装;
自此,本教程完毕,如需更高级使用方法,自行搜索相关教程。