服务器一秒钟被攻击70次?5行命令让暴力破解者束手无策
一、你的服务器正在被"扫射"
2025年4月,某企业Linux服务器管理员发现CPU占用率突然飙升至99%,登录后竟发现系统被植入挖矿程序。溯源日志显示,攻击者通过SSH暴力破解成功入侵——每天有超过500万次境外IP尝试登录服务器(数据来源:安天城市侧安保报告2025)。更惊人的是,专业密码破解设备每秒可尝试7.25万亿次密码组合(IBM安全研究2025),弱密码服务器撑不过3分钟就会沦陷。

图1:Hydra工具破解SSH密码的实时记录,红框处显示成功猜解到密码"com.1234"(来源:腾讯云开发者社区)
二、5行命令搭建"数字保安"
Fail2ban就像服务器的智能保安,通过监控日志自动拉黑反复敲门的"可疑人员"。在Ubuntu/Debian系统中,只需以下步骤:
# 1. 更新并安装工具
sudo apt update && sudo apt install fail2ban -y
# 2. 复制默认配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 3. 启用SSH防护(按Ctrl+O保存,Ctrl+X退出)
sudo nano /etc/fail2ban/jail.local
# 4. 启动服务
sudo systemctl start fail2ban
# 5. 设置开机自启
sudo systemctl enable fail2ban
图2:MobaXterm终端中配置fail2ban的实际操作界面
三、保安如何判断"坏人"?
打开jail.local文件后,关键参数设置如下:
- maxretry = 3:3次密码错误即拉黑
- bantime = 3600:封禁1小时(可设-1永久封禁)
- findtime = 600:10分钟内触发阈值才处罚

图3:Fail2ban通过iptables封禁IP的工作流程图
四、防护效果立竿见影
配置完成后,通过日志可查看拦截记录:
# 查看被封禁的IP
sudo fail2ban-client status sshd
# 查看防火墙规则
sudo iptables -L | grep f2b-sshd某服务器启用后,24小时内拦截来自19个国家的217次攻击,其中越南IP103.237.***.***尝试破解达632次(来源:QY在线工具网2025年8月SSH攻击列表)。

图4:iptables.log中记录的被封禁IP信息
五、进阶防护技巧
- 自定义端口:修改port = 2222避开默认22端口
- 白名单设置:在ignoreip添加办公网络IP
- 邮件告警:配置action = sendmail-whois实时通知
注意:Cisco Talos在2024年10月报告称,34%的攻击利用了OpenSSH漏洞(CVE-2024-6387),建议同时升级OpenSSH至9.8p1以上版本。
(本文案例与技术细节均来自公开报告,工具配置已通过Ubuntu 22.04实测验证)