TOP云物理服务器特惠,CPU可选双路E5-2660(32核)、双路E5-2680v2(40核)、双路E5-2696/98 V4(88核)、双路Gold 6138(80核)、双路Platinum 8173(112核);
内存从32G-128G可选,带宽有单线、多线独享20M-200M,价格低至368元。
购买链接:https://c.topyun.vip/cart?fid=1&gid=236
在云服务器运维中,SSH服务作为远程管理的核心入口,常成为恶意攻击者的目标。暴力破解、频繁扫描等行为不仅消耗服务器资源,更可能危及系统安全。通过fail2ban工具结合自定义监狱规则,可实现SSH黑名单IP的自动识别与封禁,大幅提升安全性。本文将详细介绍fail2ban的配置方法、自定义规则技巧,并推荐一款适合此场景的TOP云物理服务器,助力您构建更安全的云环境。
一、fail2ban简介与核心功能
fail2ban是一款开源的入侵防御工具,通过监控系统日志(如/var/log/auth.log、/var/log/secure)检测恶意行为(如暴力破解、端口扫描),并自动将触发规则的IP加入防火墙黑名单,阻止其进一步访问。其核心优势包括:
- 自动化防御:实时监控日志,无需人工干预即可封禁恶意IP。
- 灵活规则配置:支持自定义触发条件、封禁时间和封禁方式。
- 多服务支持:不仅限于SSH,还可保护FTP、SMTP、WordPress等应用。
- 低资源占用:轻量级设计,对服务器性能影响极小。
二、fail2ban基础配置步骤
1. 安装fail2ban
在Ubuntu/Debian或CentOS/RHEL系统上执行以下命令:
# Ubuntu/Debian
sudo apt update
sudo apt install fail2ban
# CentOS/RHEL
sudo yum install epel-release
sudo yum install fail2ban
2. 启动并设置开机自启
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
3. 配置默认规则
fail2ban的默认配置文件位于/etc/fail2ban/jail.conf,但直接修改此文件可能被更新覆盖。建议创建自定义配置文件/etc/fail2ban/jail.local,并覆盖默认设置:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
在jail.local中,启用SSH监狱并调整参数(示例):
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log # Ubuntu/Debian
# logpath = /var/log/secure # CentOS/RHEL
maxretry = 3 # 允许最大尝试次数
bantime = 86400 # 封禁时间(秒,24小时)
findtime = 3600 # 监控时间窗口(秒,1小时内)
4. 重启fail2ban生效
sudo systemctl restart fail2ban
三、自定义监狱规则:精细化防御
1. 针对特定攻击模式的规则
场景:攻击者使用慢速暴力破解(如每分钟尝试1次密码),绕过默认的findtime限制。
解决方案:创建自定义过滤规则,检测低频但持续的尝试行为。
步骤:
- 编辑或创建过滤规则文件(如
/etc/fail2ban/filter.d/sshd-slow.conf):Ini[Definition] failregex = ^%(__prefix_line)sFailed password for (invalid user )?[<HOST>] from <HOST> port \d* ssh2\s*$ ignoreregex = - 在
jail.local中添加自定义监狱:Ini[sshd-slow] enabled = true port = ssh filter = sshd-slow logpath = /var/log/auth.log maxretry = 10 # 允许10次尝试(低频) bantime = 172800 # 封禁48小时 findtime = 86400 # 监控24小时窗口
2. 封禁频繁扫描的IP
场景:攻击者扫描服务器端口,寻找潜在漏洞。
解决方案:监控sshd日志中的Connection refused或Did not receive identification错误,封禁频繁扫描的IP。
步骤:
- 创建过滤规则文件(如
/etc/fail2ban/filter.d/sshd-scan.conf):Ini[Definition] failregex = ^%(__prefix_line)sDid not receive identification string from <HOST>\s*$ ^%(__prefix_line)sConnection refused by <HOST>\s*$ ignoreregex = - 在
jail.local中添加监狱:Ini[sshd-scan] enabled = true port = ssh filter = sshd-scan logpath = /var/log/auth.log maxretry = 5 # 允许5次扫描 bantime = 43200 # 封禁12小时 findtime = 3600 # 监控1小时窗口
3. 结合IP白名单
场景:需允许特定IP(如办公网络、监控系统)无限制访问SSH。
&em�;解决方案:在jail.local中添加ignoreip参数,排除白名单IP:
[DEFAULT]
ignoreip = 192.168.1.0/24 10.0.0.1 123.123.123.123 # 示例IP
四、TOP云物理服务器:安全运维的理想选择
在实施fail2ban自动化防御时,服务器的性能和稳定性至关重要。TOP云物理服务器提供多种高性能配置,满足您对安全与效率的双重需求:
- 强大的CPU选项:从双路E5-2660(32核)到双路Platinum 8173(112核),确保日志监控和规则匹配的高效处理,即使面对大量攻击也能快速响应。
- 充足的内存:内存从32G到128G可选,支持多线程日志分析和复杂规则计算,避免因资源不足导致防御失效。
- 稳定的网络带宽:提供单线、多线独享20M-200M带宽,确保SSH连接和日志传输的稳定性,减少因网络波动引发的误封。
- 高性价比:价格低至368元,让您以更低的成本享受高品质的云服务,轻松构建安全的服务器环境。
立即选购,为您的云服务器安全加码!
点击这里,了解更多并购买TOP云物理服务器
五、高级技巧与优化
1. 邮件通知与日志记录
配置fail2ban在封禁IP时发送邮件通知,并记录详细日志:
- 安装邮件工具(如
mailutils或sendmail):Bashsudo apt install mailutils # Ubuntu/Debian sudo yum install sendmail # CentOS/RHEL - 在
jail.local的[DEFAULT]段中添加:Inidestemail = admin@example.com sender = fail2ban@example.com action = %(action_mwl)s # 封禁并发送邮件+日志
2. 动态调整封禁时间
根据攻击频率动态延长封禁时间(如首次封禁1小时,重复封禁24小时):
- 创建自定义动作文件(如
/etc/fail2ban/action.d/iptables-multiport-dynamic.conf),修改bantime为变量:Iniactionstart = iptables -N fail2ban-<name> iptables -A fail2ban-<name> -j RETURN iptables -I <chain> -p <protocol> --dport <port> -j fail2ban-<name> actionstop = iptables -D <chain> -p <protocol> --dport <port> -j fail2ban-<name> iptables -F fail2ban-<name> iptables -X fail2ban-<name> actioncheck = iptables -n -L <chain> | grep -q "fail2ban-<name>[ \t]" actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP echo "[Definition] bantime = <bantime>" > /tmp/fail2ban-<name>-<ip>.conf # 结合脚本动态读取bantime actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
3. 集成Cloudflare/AWS Shield
将fail2ban封禁的IP同步至Cloudflare防火墙或AWS Shield,实现全球流量拦截(需API支持)。
六、总结与展望
通过fail2ban的自定义监狱规则,您可构建灵活、高效的SSH黑名单自动封禁机制,显著提升云服务器的安全性。结合TOP云物理服务器的高性能配置,您的防御体系将更加稳固。未来,随着攻击手段的不断演变,fail2ban的规则优化和自动化响应将成为安全运维的核心方向。立即行动,为您的服务器穿上“防弹衣”吧!




