一次阿里云 ECS 异地登录误报排查与顺手加固

630 字
3 分钟
一次阿里云 ECS 异地登录误报排查与顺手加固

凌晨的告警#

某天凌晨,阿里云发来异地登录告警:来自 美国弗吉尼亚 的 IP 以 root 身份 SSH 登录了 8 次。

第一反应:密钥泄露了。

排查过程#

登录日志分析#

Terminal window
# 追踪特定 IP
grep 'xx.xx.xx.xx' /var/log/secure
# 爆破统计
grep 'Failed password' /var/log/secure | \
awk '{print $(NF-3)}' | sort | uniq -c | sort -rn
# 最近登录记录
last -20

发现模式重复#

为了验证,手动触发了一次 CI/CD 部署,服务器再次出现完全相同的连接模式:

对比项第一次(被报警)手动触发
连接 IP美国 Azure美国 Azure
连接次数8 次8 次
连接模式22 秒内多端口并发22 秒内多端口并发
部署结果-成功 ✅

模式完全一致——原来是 GitHub Actions 的 runner 跑在 Azure 基础设施上,SCP 上传时建立多个 SSH 并发连接(分片传输),被阿里云异地登录检测误报了。

顺手发现真实攻击#

在同一份日志中发现了来自另一个 IP 的 287 次 SSH 密码爆破尝试,持续 14 分钟,全部失败。

Terminal window
# 封禁爆破 IP
iptables -A INPUT -s xx.xx.xx.xx -j DROP

安全加固清单#

趁这个机会完成了一次完整的安全加固:

措施说明
关闭 SSH 密码登录PasswordAuthentication no,只允许密钥登录
安装 fail2ban5 次失败自动封禁 24 小时
更换 SSH 密钥旧密钥作废,更换新密钥对
更新 CI/CD Secrets替换为新私钥
封禁爆破 IPiptables DROP
解封 CI/CD IP确认为 GitHub Actions,从黑名单移除

后门排查#

确认是误报后,还是彻底检查了一遍系统:

  • 当前运行进程 → 无异常
  • systemd 服务 → 无新增服务
  • crontab / 定时任务 → 无后门
  • 系统用户 → 只有必要的系统用户
  • authorized_keys → 清理到只剩 2 个必要密钥
  • Docker 容器 → 无异常
  • 系统文件完整性(rpm -Va)→ 无篡改
  • 监听端口 → 仅 22(SSH) + 80(nginx)
  • /tmp、/dev/shm → 无可疑文件

总结#

虚惊一场——所谓的”攻击”是 GitHub Actions CI/CD 的正常 SCP 上传行为,因 runner 位于美国 Azure 区域被阿里云异地登录检测误报。但借着这次误报完成了一次系统安全加固,也算是有惊无险的收获。

建议:如果你也用 GitHub Actions 部署到国内云服务器,收到异地登录告警时先确认是不是 CI runner 的连接,别急着封 IP。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
一次阿里云 ECS 异地登录误报排查与顺手加固
https://www.sanyablog.cn/posts/aliyun-ecs-login-alert-investigation/
作者
Sanya
发布于
2026-07-15
许可协议
CC BY-NC-SA 4.0
随机文章随机推荐
Profile Image of the Author
Sanya
Hello, I'm Sanya.
公告
本博客为 Vibe Coding 试验田 —— 所有文章、功能、设计均由 AI 辅助编程完成。这里记录着我的探索与踩坑,欢迎一起交流。
分类
标签
站点统计
文章
11
分类
4
标签
41
总字数
12,441
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录

hi~请问有什么问题吗?