惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
V
Visual Studio Blog
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
B
Blog
I
InfoQ
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
F
Fortinet All Blogs
H
Help Net Security
博客园 - Franky
宝玉的分享
宝玉的分享
博客园 - 司徒正美
C
Check Point Blog
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Jina AI
Jina AI
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家

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

国密算法与国密 TLS 系列索引 【系统架构设计】架构质量属性:不只是"高可用高性能" 【系统架构设计百科】告警策略:如何避免"狼来了" 【系统架构设计】CQRS:读写分离的架构哲学 【系统架构设计】空间架构:极端扩展场景的解法 【系统架构设计】微服务架构深度审视:优势、代价与适用边界 【系统架构设计】扩展性原理:水平、垂直与对角扩展 【系统架构设计】无状态设计:扩展的第一步也是最难的一步 【系统架构设计】缓存架构:从本地到分布式的多级缓存体系 【系统架构设计】管道与过滤器:Unix 哲学的架构表达 【系统架构设计】复杂性管理:架构的核心战场 【系统架构设计】消息队列架构:异步解耦的设计与陷阱 【系统架构设计】CDN 架构:全球加速的设计原理 【系统架构设计】连接池设计:被忽视的性能杀手 【系统架构设计】弹性设计模式:熔断器、舱壁与超时 【系统架构设计】高可用设计模式:冗余、故障转移与仲裁 【系统架构设计】容量规划:从拍脑袋到数据驱动 【系统架构设计】数据库扩展:分库分表的工程实践与替代方案 【系统架构设计】SLO 工程:可靠性的量化管理 【系统架构设计】性能建模:用数学思维分析系统瓶颈 【系统架构设计】混沌工程:主动验证系统的韧性 【系统架构设计】零拷贝与内存映射:数据搬运的极致优化 【系统架构设计】线程模型:从 thread-per-request 到协程 【系统架构设计】容灾架构:多活与灾备设计 【系统架构设计】数据库性能模式:索引、查询与连接管理 【系统架构设计】数据建模:从关系范式到文档模型的真实权衡 【系统架构设计】吞吐量优化:批处理、流水线与并发模型 【系统架构设计】流处理架构:从批处理到实时的范式迁移 【系统架构设计】搜索引擎架构:倒排索引之上的系统设计 【系统架构设计】时序数据架构:监控与 IoT 的存储设计
【零信任安全架构】零信任迁移的工程策略:棕地改造、遗留系...
Liao Tonglang · 2026-06-12 · via 土法炼钢兴趣小组的算法知识备份

新成立的组织可以从头搭建零信任架构。但大多数有历史组织面临的是棕地(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”——而是逐层推进:

  • 按用户群:先从安全团队自己开始(10 人),然后扩展到基础设施团队(50 人),再到全公司(500 人)
  • 按地理位置:先从北京办公网开始,再扩展到新加坡、伦敦
  • 按应用:先从低敏感应用(内部 Wiki)开始,再到中敏感(代码仓库),最后到高敏感(生产数据库)
  • 按设备类型:先覆盖公司配发的 macOS,再覆盖 Windows,最后处理 Linux 和 BYOD

3.2 可观测性驱动的推进

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

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

四、迁移中的人力成本

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

  • 每个应用团队:配置 mTLS sidecar、验证应用在 mTLS 下正常工作、更新 CI/CD
  • IT 团队:升级设备管理、部署设备姿态 agent、帮助用户做设备合规
  • 运维团队:部署和管理 SPIRE、Istio、策略引擎等新基础设施
  • 安全团队:制定微分段策略、配置 SIEM 规则、培训其他团队

在迁移计划中,最被低估的成本不是许可证费用,而是应用团队理解 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 有意留白留给实现者的工程决策。