土法炼钢兴趣小组的算法知识备份

【零信任安全架构】零信任迁移的工程策略:棕地改造、遗留系统适配与渐进式切流

文章导航

分类入口
architecturesecurity
标签入口
#zero-trust#migration#brownfield#legacy-system#sidecar#identity-bridging#gradual-cutover

目录

新成立的组织可以从头搭建零信任架构。但大多数有历史组织面临的是棕地(Brownfield)迁移——数百个遗留系统没有 mTLS 能力、几十个应用不支持 OIDC、几千台设备没有 TPM 或 MDM 管理。

前置阅读:BeyondCorp 六篇论文身份系统迁移与事故响应(IAM 系列)

一、棕地迁移的冰山模型

迁移前安全团队看到的是可见部分——“我们要在 12 个月内部署 mTLS 和微分段”。但在水面下隐藏着大多数人忽视的:

可见部分(经常被讨论): - 部署 Istio service mesh 为所有流量加密 - 配置微分段策略限制 blast radius - 替换 VPN 为 ZTNA

隐藏部分(经常被忽略): - 有 15 个 Java 1.6 的服务,不支持 TLS 1.2 - CI/CD 管道需要在构建环境中注入 sidecar - 有 3 个服器用的是自定义 TCP 协议,无法用标准 sidecar 代理 - 有 4 个业务部门使用独立的 IdP,身份不统一 - 开发、运维和安全团队需要进行跨团队的协调

二、遗留系统的四种升级策略

2.1 Sidecar 代理模式

在应用的 K8s Pod 或 VM 旁边注入一个代理(Envoy/NGINX),应用本身不感知 mTLS:

# Pod spec: 注入 Envoy sidecar
spec:
  containers:
    - name: app
      image: legacy-payment-service:1.0
      # 应用仍然监听 127.0.0.1:8080(无 TLS)
    - name: envoy-sidecar
      image: envoyproxy/envoy:v1.29
      # Envoy 处理所有入站 mTLS + 向应用转发明文
      # 出站 mTLS + 向目标发起 mTLS 连接

适用场景:应用本身没有 TLS 能力,但可以部署在 K8s 或支持 sidecar 的环境中。 不适用:非 HTTP 协议的自定义 TCP 应用。 成本:每个应用一个 sidecar,约 50MB 内存 + 0.1 CPU per sidecar。

2.2 反向代理包装

在遗留服务的前面放置一个 L7 反向代理(NGINX/Envoy),代理处理所有 mTLS/OIDC/策略,遗留服务不用改动:

外部请求 → 反向代理 (mTLS/TLS 终结 + OIDC 验证) → 遗留服务 (明文 HTTP)

适用场景:物理服务器上的遗留应用、大型的单体应用。 成本:需要配置和管理独立的反向代理实例。

2.3 身份桥接(Identity Bridging)

在旧认证系统(LDAP/Kerberos)和新身份系统(OIDC/SPIFFE)之间建立翻译桥:

OIDC Token → 身份桥接服务 → 转换为 Kerberos Ticket → 遗留服务验证

Google BeyondCorp 迁移中的最大挑战之一就是”所有应用必须支持 OIDC”是不现实的——最终 Google 用了身份桥接来处理遗留的基于 Kerberos 的应用。

适用场景:大量基于 LDAP/Kerberos 的企业内部应用。 成本:需要开发和维护桥接服务 + 旧协议的审计和安全加固。

2.4 协议适配器

对使用自定义 TCP 协议的遗留服务编写专用的协议适配器。没有通用方案——每个自定义协议都需要独立的适配层。

适用场景:少数高价值的遗留服务(< 10 个)。 成本:开发时间 1-3 人月 per 适配器。

如果有 50+ 个自定义协议的服务,这个方案不适用——应该首先考虑逐步替换这些服务,而不是为它们写适配器。

三、渐进式切流的工程控制

3.1 切流维度

切流不应该是”下周一 9 点全公司从 VPN 切到 ZTNA”——而是逐层推进:

3.2 可观测性驱动的推进

迁移进入下一阶段的条件不是”时间到了”,而是 “监控数据显示上一阶段的流量绝大多数已通过新路径”

Google BeyondCorp 迁移的关键指标: - VPN 上仍在传输的应用流量占所有应用流量的百分比——当这个百分比降到 5% 以下时,才考虑关闭 VPN - Helpdesk 工单中”VPN 连接问题”的比例——当这个比例降到 1% 以下时,说明用户已经习惯了新模型

四、迁移中的人力成本

零信任迁移不是安全团队自己的事——它涉及:

在迁移计划中,最被低估的成本不是许可证费用,而是应用团队理解 mTLS 和身份模型所需要的时间。如果安全团队只是提供”一个服务 mesh 的文档”而没有提供”你的具体应用需要在 YAML 里改什么”,迁移会在应用团队的无尽拖延中失败。


下一篇:零信任可观测性与 SIEM 集成

参考资料

  1. Spear, B. et al. (2017). “Migrating to BeyondCorp: Maintaining Productivity While Improving Security”. ;login:.
  2. Google. (2018). “BeyondCorp: Building a Healthy Fleet”. ;login:.
  3. NIST SP 1800-35. (2025). Implementing a Zero Trust Architecture.

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-06-13 · architecture / security

【身份与访问控制工程】IAM 全景:为什么这是高价值赛道

从 2020 年 SolarWinds 到 2024 年 Okta 支持系统泄露,身份基础设施的安全失败反复证明一件事:IAM 不是 IT 支撑系统,而是安全架构的承重墙。本文建立现代 IAM 的全景地图——从认证协议、令牌体系、权限模型到身份治理与平台选型,给出 5 个贯穿全系列的核心问题。

2026-06-17 · architecture / security

【身份与访问控制工程】服务身份:mTLS、SPIFFE/SPIRE 与 Workload Identity

前 9 篇讨论的都是'人'的身份——用户怎么登录、怎么验证。但微服务世界中,80% 的 API 调用是服务之间的。服务身份(Workload Identity)是整个 IAM 体系的另一半:mTLS 解决'传输层你是谁',SPIFFE/SPIRE 解决'在平台层你是谁且怎么证明',JWT Profile for OAuth 解决'我怎么拿到一个服务身份的 Token'。本文从这三条线拆解服务身份的工程实现。

2026-06-12 · architecture / security

【零信任安全架构】NIST SP 800-207 架构深度拆解:不只是 7 条原则

NIST SP 800-207 给了零信任最权威的定义,但大多数讨论只复述了 7 条原则。本文拆解 NIST 文档的完整架构模型:PEP、PDP、Policy Engine、Policy Administrator 的分工与交互协议、信任算法的三种模型、以及 NIST 有意留白留给实现者的工程决策。


By .