堡垒机替代公网SSH的落地步骤

1 人参与

我一直觉得,把服务器 SSH 端口直接暴露在公网上,就像在自家大门上贴了张纸条,写着“钥匙在门口花盆底下”。尤其是临时排查问题时,手一抖就在安全组里加了条 0.0.0.0/0 的规则,测试完又忘了删。结果呢,服务器日志里全是暴力破解的记录,看得人心惊肉跳。所以后来我痛下决心,把公网 SSH 彻底撤了,统一走堡垒机,今天就把这套落地步骤分享给你。

第一步,先把家底摸清楚。别急着改安全组,先登录服务器执行 ss -tulpn | grep LISTEN,看看当前到底有哪些端口在监听。这一步特别关键,你可能会发现有些服务你以为没开,其实一直在裸奔;或者安全组关了,但内部调用逻辑直接就断了。重点看高危服务监听在哪个 IP 上:如果只监听 127.0.0.1,那公网其实连不上,虚惊一场;要是监听 0.0.0.0,那就得重点盯防了。

第二步,遵循“先加白、后删宽”的原则调整安全组。我当时的操作顺序是:先新增一条精确白名单规则,源地址只填办公室的固定出口 IP,格式是 xxx.xxx.xxx.xxx/32;然后新开一个终端窗口测试连通性,确认能正常登录后,再回头删掉那条源地址为 0.0.0.0/0 的宽泛规则。这里有个小提醒,千万别在删规则之前把当前 SSH 会话断开,否则你可能把自己锁在门外。另外,实例内部的主机防火墙也别闲着,UFW 或 firewalld 都配上,算是双保险。

第三步,验证不能只看控制台。规则改完后,我从外部网络用 nc 命令探测了一下 22 端口,预期返回超时才算收敛成功。同时,在应用服务器上测了下到内网数据库的连通性,确保业务没被误伤。这一步能帮你发现很多隐藏问题,比如安全组确实关了,但应用配置里还写着公网 IP,结果连接超时。

最后,一定要留好逃生通道。每次改高危网络策略前,我都会确认云控制台的 VNC 能正常登录,这样就算 SSH 白名单填错了,也能通过网页终端进去救火。另外,安全组规则能克隆就克隆一份,万一出大问题,一分钟内把实例关联回旧安全组就能止血。从长远看,还是建议彻底告别公网直连的习惯,统一走堡垒机或 VPN 拨入内网,这才是治本的办法。

参与讨论

1 条评论
  • 安静的漩涡

    先加白后删宽这个顺序太重要了,之前我就是反过来搞的,直接把自己锁外面了

    回复