本节摘要:VPN(虚拟专用网络)通过加密隧道把外部设备"接回"内网,其信任模型是一旦接入即全信;零信任(Zero Trust)干脆取消"内外"之别,要求每次访问都做身份、设备与上下文的实时判定。本节鉴定两种架构的信任模型、各自的失效场景与迁移路径。承接 5.2 节的加密标准件,本节是第 5 章收口,也是"边界移动"主线的终点,通往第 6 章的运营与治理。
先公平地评价 VPN。它要解决的问题真实存在:远程办公者需要访问内网资源,而公网不可信。它的解法也漂亮:建一条加密隧道,把远处的设备"虚拟地"搬进内网——连上 VPN,你的设备在逻辑上就站在了办公室里,内网资源触手可及。
裂缝就藏在这句"触手可及"里。VPN 的信任模型是网络位置即身份:过了隧道,你就是内网自己人,内网资源按位置放行。这个模型成立的前提是"内网是干净的"——而 2.4 节的 APT 横移、4.2 节的权限膨胀、2.2 节的内网 ARP 欺骗,桩桩件件都在拆这个前提。更直接的裂缝有两条:一是设备失陷直通内网——一台被植入木马的家用电脑连上 VPN,木马跟着进了内网;二是隧道即放大器——VPN 账号一旦被撞库或钓鱼(它只有一个密码或一个证书),攻击者拿到的不是某个应用,是整个内网。
近年多起重大事件的初始突破就是一条被偷的 VPN 凭据。鉴定结论于是清晰:VPN 的加密技术无可指摘,它的信任模型过时了。
零信任不是一款产品,是一套架构原则。业界通行的表述收敛为三条:
把三条原则翻译成判定公式:一次访问能否放行,取决于身份是谁(认证)+ 从什么设备发起(设备 posture)+ 什么上下文(时间、地点、行为基线)+ 要访问什么(应用级授权),四个变量实时打分。对比 VPN 的单变量模型(在不在隧道里),零信任把判定从"门禁卡"升级成了"每次进门都要人脸加工牌加访客登记"。

零信任迁移不是换产品,是换判定点。 常见的失败路径是买一套零信任网关却保留旧的宽权限模型——判定点前移了,判定依据还是老一套。正确的起步顺序:先把应用收敛到统一入口(身份代理),再把 4.2 节的 IAM 与设备管理数据接进策略引擎,最后逐应用切片收权。三步里没有一步是"买盒子"。
VPN 不会一夜消失,先瘦身。 现实的迁移策略是把 VPN 从"全网通道"瘦身为"少数运维场景的通道":大部分日常应用先切到零信任入口,VPN 只留给需要网络层连通的运维场景,并叠加设备证书校验。存量架构都是逐步换轨的,"先立后破"比"一夜切换"安全得多。
⚠️ 常见坑:把零信任理解成"更严的登录"。多因素登录只是判定变量之一;零信任的本体是每次请求的上下文判定与应用级切片。只做了前者、没做后者的方案,攻击者登录成功后看到的仍是"整个内网"——等于给小偷发了张贵宾卡。
💡 关键直觉:评估自己离零信任有多远,只需要一个问题——一个普通员工的账号今天泄露了,攻击者两小时内能触达多少应用?答案是"全部",那无论你买没买零信任产品,你的架构都还是边界模型。
真要动手迁零信任,先选路线。业界两条主流路线的取舍如下:
| 维度 | 应用代理路线 | 网络隧道路线 |
|---|---|---|
| 接入形态 | 反向代理逐应用发布 | 软件定义 perimeter 加隧道 |
| 用户视角 | 浏览器直达应用,无感 | 类 VPN 客户端,但按应用放行 |
| 横向隔离 | 天然隔离(只见已发布应用) | 依赖策略颗粒度 |
| 改造成本 | 逐应用接入,周期长 | 一次部署,策略治理重 |
| 适用场景 | SaaS 化与 Web 应用为主 | 大量非 Web 的内部系统 |
两条路线不是信仰之争:Web 资产多选代理路线,老系统多选隧道路线过渡,多数组织最终是混合体。真正决定成败的不是路线,是三个绕不开的现实问题。**第一,设备数据从哪来。**判定公式里的"设备是否可信"需要终端管理(合规基线、加密状态、补丁水平)的数据源——没有终端管理体系的组织,零信任判定天生缺一条腿,往往要先补管理再谈判定。**第二,判定失败的用户体验。**策略收紧后总有人被误拦,没有兜底通道(带审批的临时豁免、清晰的失败提示与申诉入口),业务部门的反弹会终结整个项目。**第三,存量系统的切片顺序。**先切谁?答案是用访问日志说话——把三十天的访问矩阵拉出来,先切"接入方少、价值高"的应用立标杆,最后啃"人人都要用"的公共系统。
把三个问题答完,迁移方案才算落地。5.3 节正文的两句话仍然适用:先立后破,VPN 瘦身留存。零信任不是一次切换,是把"每次判定"的思想沿着访问矩阵逐步铺开的过程——铺到哪算哪,但方向不能反。
零信任宣讲会上总有几条高频反对意见,提前把回应备好。
**"我们的内网很干净,没必要。"**回应:内网的"干净"是假设不是事实——横向移动类事件的入口往往不是内网本身,而是"带病接入"的终端与凭据。零信任防的不是内网里的人,是"进来之后随便走"的模式。
**"用户体验会变差。"**回应:做对了反而变好。统一应用入口免掉多套登录,设备合规一次检查处处可用;真正变差的是误拦——所以 5.3 节把"判定失败的兜底通道"列为成败三问之一。体验问题的本质是策略质量问题,不是范式问题。
**"老系统没法接。"**回应:不需要老系统"理解"零信任。应用代理路线把老系统包在代理后面,判定发生在代理层;实在只能网络连通的老系统,用隧道路线的细粒度策略圈起来。迁移的第一批标杆永远选"愿意配合的应用",而不是"最难的系统"。
三条回应的底层逻辑是同一句:零信任的阻力几乎都来自"一步到位"的错误预期。把它拆成访问矩阵上的一格一格,每格都小到可以试错,反对意见自然会随着每格的成功而消散。
零信任策略收紧后,误拦不可避免;兜底设计的质量决定项目的生死。四条兜底逐条备齐:
| 兜底项 | 设计要点 |
|---|---|
| 失败提示 | 明说缺什么(设备不合规/位置异常), 给申诉入口, 不许只报"拒绝" |
| 临时豁免 | 带审批、带时限、到期自动收回, 豁免全程留痕 |
| 离线降级 | 判定服务不可达时的策略(默认放行或默认拒绝要预先定义并演练) |
| 帮助通道 | 一个直达的服务台队列, 专处理"被零信任拦住"类工单 |
四条里第三条最容易被忘:判定服务自己宕机时系统怎么走?默认放行等于零信任整体失效,默认拒绝可能业务全停——这个抉择必须提前定义并纳入演练,而不是故障日临场翻硬币。兜底设计做完,回看 5.3 节的成败三问,答案里就都有了底。