华南-广州区域ECS实例SSH暴露面排查与加固实践

举报
yd_291746328 发表于 2026/10/28 12:13:02 2026/10/28
【摘要】 近期排查华南-广州区域ECS实例,发现SSH端口对全网开放、root密码登录开启,单日失败登录超2000次。本文记录安全组收敛、SSH配置加固、fail2ban自动封禁、端口偏移等加固方案与验证过程。

前言

近期在排查个人华南-广州区域的ECS实例时,发现安全组与SSH服务配置存在多处暴露面,单日失败登录尝试超过2000次。本文记录排查过程与加固方案,供有类似配置的同学参考。

一、风险排查

1.1 安全组入方向

登录控制台查看ECS关联安全组,发现入方向规则中存在一条:

协议: TCP  端口: 22  源地址: 0.0.0.0/0  策略: 允许

这意味着全网任意IP均可尝试连接SSH端口,是爆破攻击的主要入口。

1.2 SSH服务配置

登录实例检查/etc/ssh/sshd_config:

PermitRootLogin yes
PasswordAuthentication yes
MaxAuthTries 6

root远程登录+密码认证均开启,配合22端口全开,风险较高。

1.3 失败登录日志

统计最近24小时失败登录:

# journalctl -u sshd --since "24 hours ago" | grep -c Failed
2147

单日2147次失败尝试,来源IP集中在几个海外网段。

二、加固方案

2.1 收敛安全组(首选)

将22端口的源地址由0.0.0.0/0改为运维跳板机弹性公网IP/32。若没有跳板机,可考虑使用华为云堡垒机(CBH)统一运维入口,彻底关闭公网SSH。

2.2 SSH配置加固

# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
ClientAliveInterval 60
ClientAliveCountMax 2

改完后systemctl restart sshd重启服务。务必先确认密钥登录可用再重启,避免锁死自己。

2.3 fail2ban自动封禁

# yum install -y fail2ban
# systemctl enable --now fail2ban

默认策略:10分钟内5次失败登录,封禁来源IP 1小时。可按需调整/etc/fail2ban/jail.local。

2.4 端口偏移

将SSH监听端口改为非标准高位端口(如52022),降低被批量扫描命中的概率。配合~/.ssh/config管理多实例连接:

Host gz-ecs
  HostName xxx.xxx.xxx.xxx
  Port 52022
  User opsadmin
  IdentityFile ~/.ssh/gz_ecs_key

三、验证

加固完成后验证:

  • nmap -p22 <EIP> 应显示 filtered 或 closed
  • journalctl -u sshd --since "1 hour ago" 确认无异常失败登录
  • 使用密钥从指定IP登录正常,从其他IP连接被拒

四、小结

云服务器安全是一个持续过程,建议定期检查安全组规则、SSH配置和登录日志。本文方案已在个人测试实例验证,不影响业务运行。核心思路是:最小暴露面 + 密钥认证 + 自动封禁 + 日志监控。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。