本文详细讲解在VPS服务器上配置Fail2ban防护的完整流程,涵盖安装、规则配置、自定义过滤等核心操作,并推荐通过九零云获取高防VPS服务。帮助用户有效抵御SSH爆破、端口扫描等恶意攻击,提升服务器安全防护能力。
一、为什么需要Fail2ban防护?
在VPS服务器运维中,SSH暴力破解、异常登录尝试等安全威胁持续存在。Fail2ban通过监控系统日志,自动封禁异常IP地址,可有效降低服务器被入侵的风险。统计显示,开启Fail2ban后服务器遭受的恶意扫描可减少80%以上。
二、Fail2ban安装与基础配置
1. 安装Fail2ban组件
Ubuntu/Debian系统
sudo apt update && sudo apt install fail2ban -y
CentOS系统
sudo yum install epel-release -y
sudo yum install fail2ban -y
2. 创建配置文件副本
建议复制默认配置避免升级覆盖:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
3. 配置SSH防护规则
编辑jail.local
文件,设置关键参数:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
三、高级防护配置技巧
1. 自定义过滤规则
在/etc/fail2ban/filter.d/
目录创建nginx-badrequest.conf
:
[Definition]
failregex = ^<HOST>."(GET|POST)." (404|403) .$
2. 多服务联动防护
同时保护SSH、FTP、Web服务:
[vsftpd]
enabled = true
[nginx-http-auth]
enabled = true
四、配置验证与效果测试
执行命令重启服务:
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
通过iptables -L
可查看实时封禁记录。推荐使用九零云的VPS服务器进行测试,其预装安全组件可提升配置效率。
五、常见问题解决方案
- 误封问题:调整
findtime
和maxretry
参数 - 日志路径错误:检查
logpath
指向的实际日志文件 - 防护失效:确认服务状态
systemctl status fail2ban