4、网络隔离:VPC与安全组设计、堡垒机架构、跳板机策略

说到远程运维,我最怕什么?

怕的是运维人员直接暴露在公网上。你想想看,一个22端口挂在公网,每天被各种扫描器问候,心里能踏实吗?

所以网络隔离这件事,说白了就是给云上资产建几道墙。我习惯把这道墙分成三层:网络边界隔离、主机访问控制、运维通道收敛。今天咱们就聊聊这三层怎么落地。

4.1 VPC设计:你的云上私有领地

VPC(虚拟私有云)是云上隔离的基础。我个人习惯,每个环境至少一个VPC,生产环境绝不跟测试混在一起。

核心原则:最小互通原则。默认拒绝所有流量,只开放必要的通路。

举个例子,我去年帮一家金融客户做架构评审,发现他们把生产库和开发环境放在同一个VPC里。我问为什么?答曰「方便」。嗯,方便是方便了,但一旦开发环境被攻破,生产数据就裸奔了。

一个合理的VPC设计长这样:

  • 生产VPC:严格隔离,仅开放业务端口和运维通道
  • 测试VPC:模拟生产环境,但数据脱敏
  • 开发VPC:自由度最高,但禁止访问生产资源
  • 管理VPC:专门放堡垒机、跳板机,作为运维入口

这里有个坑——VPC对等连接。我曾经见过一个团队,为了省事把十几个VPC全部对等连接起来,结果整个网络拓扑变成了一张蜘蛛网,流量路径根本理不清。后来出了安全问题,排查了三天才找到入口。

避坑指南:VPC对等连接要克制。能用Transit Gateway(云企业网)就用它,至少路由是可控的。

4.2 安全组:你的第一道防线

安全组,说白了就是云上的iptables。但很多人把它当摆设——直接放行0.0.0.0/0,然后说「没事,我们还有防火墙」。

我建议的安全组设计原则:

  1. 最小化放行:只开放业务必须的端口,比如Web服务器只放80/443
  2. 源地址限制:管理端口(SSH/RDP)只允许堡垒机IP访问
  3. 分层设计:应用层、数据层、缓存层各自独立安全组
  4. 拒绝所有出站:除非业务需要,否则默认禁止出站流量

我记得有一次应急响应,客户说服务器被入侵了。我上去一看,安全组里赫然写着「0.0.0.0/0:22 - 允许」。攻击者就是从公网直接SSH进来的。你说这能怪谁?

小技巧:安全组规则写完后,用「模拟访问」功能测试一遍。很多云平台都支持这个功能,别省这一步。

4.3 堡垒机架构:运维的唯一入口

堡垒机是什么?就是所有运维操作的唯一入口。没有堡垒机,运维人员直接SSH到服务器,你根本不知道谁在什么时候干了什么。

我参与过的一个项目,堡垒机架构是这样的:

用户 → 堡垒机(公网入口) → 跳板机(内网代理) → 目标服务器
        ↑
    身份认证(LDAP + MFA)
        ↑
    操作审计(录屏 + 命令记录)

这里有个关键点:堡垒机本身不能有公网IP。你想想看,如果堡垒机暴露在公网上,那它不就成了最大的攻击目标?

正确的做法是:

  • 堡垒机部署在管理VPC中,通过弹性公网IP(EIP)+ 白名单的方式对外暴露
  • 白名单只放行运维人员的办公出口IP
  • 堡垒机自身开启双因素认证(密码 + 动态令牌)
我曾经踩过的坑:有一次堡垒机硬盘满了,导致操作日志写不进去。结果出了安全事件,想查日志发现全是空的。从那以后,我强制要求堡垒机的日志存储必须独立挂载,并且设置磁盘告警。

4.4 跳板机策略:内网的最后一道门

跳板机和堡垒机有什么区别?

堡垒机是入口控制,跳板机是内网代理。说白了,堡垒机管「谁能进来」,跳板机管「进来后能去哪」。

我设计的跳板机策略通常包含这几层:

层级 作用 示例
第一层 公网入口 堡垒机(公网IP + 白名单)
第二层 内网代理 跳板机(仅内网IP,无公网)
第三层 目标服务器 仅允许跳板机IP访问22端口

跳板机本身要做什么安全加固?

  • 禁用密码登录:只允许密钥认证
  • 限制登录用户:创建专用运维账号,禁止root直接登录
  • 命令白名单:只允许执行特定命令(如ssh、scp、rsync)
  • 会话超时:闲置5分钟自动断开

嗯,这里要注意——跳板机的密钥管理。我见过有人把跳板机的私钥放在共享目录里,结果所有人都能拿到。正确的做法是使用密钥管理服务(KMS)或者SSH Agent Forwarding,私钥永远不落地。

一句话总结:堡垒机管「谁」,跳板机管「去哪」,安全组管「怎么去」。三层配合,才能做到真正的网络隔离。

4.5 整体架构图

下面这张图是我常用的网络隔离架构,你可以参考一下:

互联网 管理VPC 堡垒机 公网入口 + 白名单 跳板机 内网代理 + 密钥认证 生产VPC 应用服务器 安全组:仅80/443 数据库 安全组:仅3306 测试VPC 测试环境(数据脱敏) 开发VPC 开发环境(禁止访问生产) 安全组策略 • 管理端口仅允许堡垒机IP • 业务端口仅允许LB/网关 • 出站流量默认拒绝 • 安全组之间互相隔离 图:云平台网络隔离架构图 堡垒机 → 跳板机 → 目标服务器,三层隔离确保运维安全 互联网 ← 隔离层 → 内网

这张图里,互联网只能触达堡垒机,堡垒机再通过跳板机访问内网资源。每个VPC之间通过安全组和网络ACL做隔离。说白了,攻击者想打到数据库,得先过三关:公网白名单、堡垒机认证、跳板机代理。每一关都够他喝一壶的。

最后说一句:网络隔离不是一劳永逸的事。我建议每季度做一次安全组审计,看看有没有「漏网之鱼」。另外,堡垒机的日志要定期归档,至少保留180天——这是合规要求,也是事后追溯的救命稻草。

好了,网络隔离这块就聊到这儿。记住一句话:能不放公网就别放,能加一层就别省。云上的安全,很多时候就是多一道墙的事。