跳到内容

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 不适合直接映射大量临时员工。应有设备注册、短期配置、撤销、丢失设备响应和日志关联能力。

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

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 能调用哪个方法和租户。Mesh 自动加密不等于自动最小权限。

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

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

设备不合规时可以降级到只读、隔离修复门户或要求 step-up,而不是只有全放与全拒两种结果。

迁移从资源与路径开始

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

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

下一课加入检测与响应:有控制仍会被绕过,需要从网络行为识别异常并限制 DDoS 故障半径。

参考资料

Built with VitePress | Software Systems Atlas