跳到内容

第 8 卷 / 第 6 章 / 第 2 课

6.2 安全连接:VPN、工作负载身份与零信任 ​

VPN 建立加密隧道,零信任架构则改变访问决策:不因主体位于“公司内网”就自动信任。二者可以组合,但购买一个 VPN 或贴上 ZTNA 标签都不会自动实现细粒度授权。

隧道保护端点之间的传输 ​

Site-to-site VPN 连接网络,remote-access VPN 连接设备或用户。设计时要明确:

  • 谁认证隧道端点,密钥如何发放和撤销;
  • 哪些路由进入隧道,是否 split tunnel;
  • DNS 从哪里解析,IPv6 是否同样受控;
  • 隧道内是否仍执行资源级认证授权;
  • 终端失陷后能访问多大范围。

IPsec、WireGuard 和 TLS VPN 有不同协议与运维模型。WireGuard 使用较小协议面和现代固定原语,但只建立 peer 公钥与允许地址之间的隧道关系;用户生命周期、MFA、设备健康、DNS 和应用授权仍由外围系统处理。

长期静态 peer key 若直接承担临时员工的完整生命周期,很难及时收回访问。WireGuard peer key 本身没有证书式有效期;短期配置必须由外围控制器到期移除 peer 或撤销相应规则,并验证所有节点已生效。还需设备注册、丢失设备响应和日志关联能力。

零信任不授予基于位置的隐式信任 ​

NIST SP 800-207 的核心不是“永远不信任任何人”,而是对每次资源会话基于主体、设备、资源和上下文做显式决策:

text
subject identity + device posture + resource sensitivity + context
    → policy decision
    → narrowly scoped session
    → continuous telemetry and reevaluation

控制面通常包含 policy engine、policy administrator 和信息源,数据面由 gateway/agent/proxy 执行。身份提供者被攻破、设备状态过期或策略引擎故障时的行为都要预先设计。

“持续验证”不是每个数据包都弹 MFA,而是会话期间根据凭据有效期、设备合规、风险信号和资源变化重新评估,并能缩短或撤销访问。

应用与服务身份同样重要 ​

用户登录网关后,后端微服务之间若仍凭源 IP 全信任,攻击者可在内部横向移动。工作负载身份平台可以为服务发短期证书或 token,把服务名、环境和命名空间绑定到受验证的运行环境。

策略示例:

text
principal = spiffe://example/prod/checkout
action    = call
resource  = payments/authorize
conditions = signed workload + healthy node + current deployment

mTLS 验证证书与相应私钥持有证明,授权层仍要决定这个 workload 能对哪些租户调用哪些方法。这里的 conditions 是策略意图,并非可直接执行的 SPIFFE 配置;镜像签名是否受信、节点健康是否新鲜、当前部署是否获准,都要由可信验证结果支撑。Mesh 自动加密不等于自动最小权限。

对示例至少验证三条路径:checkout 的当前生产身份可调用授权接口;同名开发环境身份被拒绝;撤掉调用权限后,已有连接也在约定窗口内失去调用能力。身份字符串相似、证书仍未过期,都不能替代策略结论。

设备状态是信号,不是绝对真相 ​

补丁版本、磁盘加密、EDR 状态和设备证书可以影响访问,但终端 agent 报告可能过期、被绕过或因隐私策略不可用。高价值访问应组合受管设备身份、用户 phishing-resistant MFA、短期授权和服务端行为信号。

设备不合规时可按风险降级到只读、隔离修复门户或要求 step-up;但增加用户认证强度不会自动修补失陷终端,某些资源仍需拒绝。

迁移从资源与路径开始 ​

零信任改造不应先采购平台再找用途:

  1. 盘点高价值资源、主体和现有访问路径;
  2. 清理共享账户、长期凭据和过宽网络规则;
  3. 建立可靠身份、设备清单与日志关联;
  4. 为一个资源部署窄策略和 parallel observation;
  5. 验证故障、撤权和 break-glass;
  6. 再逐步缩小传统网络信任范围。

下一课加入检测与响应,从网络行为识别异常并限制 DDoS 的影响。

参考资料 ​

Built with VitePress | Software Systems Atlas