
核心要点(TL;DR)
- SSH 暴力破解可通过登录审计与自动封禁有效阻断。
- AegisX 能实时分析日志并自动拉黑恶意 IP。
- 配置阈值建议:5 次失败封禁 1 小时。
- 配合密钥登录与端口修改可大幅提升安全性。
凌晨三点,服务器 CPU 飙升,登录日志里塞满了几万条来自全球各地的 SSH 失败记录——这是很多运维都经历过的噩梦。SSH 暴力破解不仅消耗资源,一旦被攻破,数据泄露、勒索加密接踵而至。手动封 IP 治标不治本,你需要一套自动化的登录审计与封禁方案。本文基于 AegisX,手把手带你配置实时监控与自动封禁,彻底告别 SSH 被爆破的烦恼。
一、SSH 暴力破解的典型特征与危害
攻击者通常使用字典工具(如 Hydra、Medusa)对 SSH 端口发起高频尝试。典型特征包括:
- 日志中大量
Failed password for root记录,来源 IP 分散且不断变化。 - 系统负载升高,
auth.log或secure文件迅速膨胀。 - 若使用弱密码,攻击者可能已成功登录并植入挖矿木马或后门。
危害不言而喻:服务器沦为肉鸡、数据被窃、业务中断。因此,实时登录审计与自动封禁是必备防线。
二、快速排查:你的 SSH 是否正在被爆破
登录服务器,执行以下命令确认攻击情况:
# 查看失败登录次数最多的 IP
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -20
# 查看成功登录记录(警惕异常 IP)
grep "Accepted password" /var/log/auth.log
如果输出中某个 IP 失败次数超过 100,或出现陌生 IP 的成功登录,说明你正在被攻击。此时应立即修改 SSH 端口、启用密钥登录,并部署自动封禁工具。
三、AegisX 安装与基础配置
AegisX 提供一键安装脚本,支持主流 Linux 发行版。以 Ubuntu 为例:
# 下载并安装
curl -fsSL https://get.aegisx.io | bash
# 启动服务
systemctl enable --now aegisx
安装完成后,编辑配置文件 /etc/aegisx/config.yaml,重点设置以下参数:
ssh:
enabled: true
log_path: /var/log/auth.log
max_retries: 5 # 失败 5 次触发封禁
ban_time: 3600 # 封禁 1 小时
find_time: 600 # 10 分钟内统计
trusted_ips:
- 203.0.113.10 # 你的办公 IP
- 198.51.100.0/24 # 可信网段
保存后重启服务:systemctl restart aegisx。AegisX 将开始实时分析 SSH 日志,并自动封禁恶意 IP。
四、验证自动封禁效果与日常审计
配置生效后,可通过以下方式验证:
- 查看 AegisX 状态:
aegisx status,确认运行正常。 - 模拟攻击:从另一台机器使用错误密码 SSH 登录 5 次,观察是否被加入封禁列表。
- 查看封禁列表:
aegisx banned list,应显示刚才的测试 IP。 - 审计报表:AegisX 提供每日登录审计摘要,可通过
aegisx report --daily查看。
若需解封误判 IP,执行 aegisx unban <IP>。建议每周审查一次封禁记录,调整阈值。
五、SSH 加固检查清单
自动封禁是最后一道防线,配合以下加固措施效果更佳:
| 措施 | 操作 | 作用 |
|---|---|---|
| 修改默认端口 | Port 2222 | 减少自动化扫描 |
| 禁用密码登录 | PasswordAuthentication no | 杜绝密码爆破 |
| 限制登录用户 | AllowUsers deploy | 缩小攻击面 |
| 启用双因素 | Google Authenticator | 增加认证强度 |
| 定期更新 | apt upgrade openssh-server | 修复已知漏洞 |
完成以上配置后,重启 SSH 服务:systemctl restart sshd。注意:修改端口后需更新防火墙规则。
六、行动建议:从今天起告别 SSH 爆破
不要再等被入侵后才补救。立即执行以下三步:
- 用
grep命令检查当前 SSH 日志,确认是否已被攻击。 - 安装并配置 AegisX,设置合理的封禁阈值与白名单。
- 对照检查清单,逐项加固 SSH 配置。
安全是一个持续的过程。AegisX 的登录审计与自动封禁能力,能帮你把 90% 的暴力破解挡在门外。动手配置,今晚就能睡个安稳觉。
常见问题(FAQ)
SSH 日志在哪里看?怎么确认是否被暴力破解?
SSH 登录日志通常位于 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(CentOS/RHEL)。使用 grep 'Failed password' /var/log/auth.log 可快速筛选失败记录。若短时间内出现大量来自不同 IP 的失败尝试,即可判定为暴力破解。
AegisX 和 Fail2ban 有什么区别?
AegisX 是新一代登录审计与自动封禁工具,相比 Fail2ban 提供更直观的实时监控面板和更灵活的封禁策略。它支持多服务日志分析、自动同步威胁情报,并可通过 Web 界面管理封禁列表,适合追求易用性与可视化运维的团队。
自动封禁会不会误封自己的 IP?
有可能。建议在配置时将自己的办公 IP 加入白名单。AegisX 支持 IP 白名单功能,可在配置文件中添加 trusted_ips 列表。同时设置合理的失败次数阈值(如 5 次)和封禁时长(如 1 小时),避免因输入错误导致自封。
除了自动封禁,还有哪些 SSH 加固措施?
建议同时启用密钥登录并禁用密码认证(PasswordAuthentication no),修改默认 22 端口,限制登录用户(AllowUsers),启用双因素认证。这些措施与 AegisX 自动封禁结合,能构建多层防御体系。
AegisX 封禁的 IP 会永久生效吗?
默认不会永久封禁。AegisX 支持设置封禁时长,如 3600 秒(1 小时),到期自动解封。对于反复攻击的 IP,可配置递增封禁策略或手动加入永久黑名单。建议定期审查封禁列表,避免误封。