华为云 ECS 安全组加固实战:把 22 端口从公网收回来
【摘要】 很多事故不是被攻破,而是自己把门敞着。本文复盘一次 ECS 安全组加固:如何系统排查高危开放端口、如何在不断业务的前提下收紧 22 端口,以及加固后的验证方法。
华为云 ECS 安全组加固实战:把 22 端口从公网收回来
一、起因:一次例行巡检发现的隐患
上个月做 ECS 巡检时,脚本报出一条 CRIT 项:安全组入方向存在 0.0.0.0/0 放通的 22 端口。查了一下,这台机器是三个月前为了临时调试开的,调完就忘了收。
这不是个例。安全组是 ECS 的第一道门,但正因为「配一次就不动」,很容易积累出历史遗留的宽口径规则。
二、先排查,再动手
加固最忌讳上来就直接删规则。正确顺序是先看清现状:
- 列出所有安全组入方向规则,标出源为
0.0.0.0/0或::/0的项 - 对照业务,判断哪些端口真的需要对公网开放(通常只有 80/443)
- 对 22 端口,先确认是否已有替代通道
我这边的情况:22 对全网开放,但业务上完全不需要公网 SSH,日常运维可以从跳板机进。
三、收紧 22 端口的正确姿势
关键原则:先建新通道,再关旧通道,避免把自己锁在门外。
1. 先在安全组增加一条规则,只放通跳板机的固定 IP 到 22 端口
2. 用跳板机实测 SSH 可达,确认没问题
3. 再删除原来那条 0.0.0.0/0 放通 22 的规则
4. 保留一条应急规则(临时授权你的当前公网 IP),用完立即回收
顺序反了就是事故:先删后测,一旦跳板机不通,远程就再也进不去了。
四、加固后的验证
改完不能只看控制台显示,要做真实连通性验证:
- 从非授权 IP 尝试 SSH,应被拒绝(超时或 connection refused)
- 从跳板机尝试 SSH,应正常登录
- 用云监控或安全组日志确认没有异常连接尝试被放行
我这边验证通过。额外做了一件事:给安全组规则加了描述字段,写明「为何开放、何时可回收」,方便下一个接手的人判断。
五、可复用的检查清单
- 定期导出安全组规则,人工过一遍高危端口
- 所有临时开放的规则,落地时就写清回收时间
- 22/3389 这类管理端口,默认不放公网
- 高危规则纳入巡检脚本,自动告警
六、小结
安全组加固的成本极低,但收益是「避免一次可能致命的入侵」。核心就两条:先排查后动手,先建通道后关通道。把这两条做成习惯,比事后补救省事得多。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)