一、零信任概述:从起源到核心原则
1.1 零信任的起源——为什么传统边界失效了?
零信任这个概念,最早是 2010 年由 Forrester 的分析师 John Kindervag 提出来的。但说实话,真正让它火起来的,是 2014 年 Google 那篇 BeyondCorp 论文。
我当年刚看到 BeyondCorp 的时候,第一反应是:这玩意儿能落地吗?Google 说他们不再依赖 VPN,所有员工直接通过互联网访问内部应用。听起来很疯狂,对吧?
但仔细想想,传统边界安全模型确实出了问题。你想想看,以前我们把防火墙一立,内网就是安全的。可现在的企业呢?员工用手机、笔记本到处跑,SaaS 应用满天飞,数据在云端和本地之间来回穿梭。那个「内网安全」的假设,早就站不住脚了。
我在 2018 年帮一家金融客户做安全评估时,发现他们的核心数据库居然可以通过内网任意 IP 访问。我问运维:「你们不怕内网横向移动吗?」他说:「内网都是自己人,没事。」结果呢?三个月后,一台测试服务器被攻破,攻击者顺着内网摸到了生产库。这就是典型的「边界信任」带来的灾难。
核心认知:零信任不是某个产品,而是一种安全思维转变。它默认网络环境是「敌对」的,无论请求来自内网还是外网。
1.2 核心原则——「永不信任,始终验证」
零信任的核心原则,说白了就八个字:永不信任,始终验证。
但这句话到底什么意思?我拆解成三个层面来讲:
- 不再有隐式信任——IP 地址、网络位置、设备归属,这些都不能作为信任依据。
- 每次访问都要验证——不是登录时验证一次就完事,而是每次请求都要重新评估。
- 最小权限原则——只给刚好够用的权限,多了不给。
嗯,这里要注意一个常见的误解。很多人以为零信任就是「多因素认证 + VPN 替代品」。其实远不止这些。零信任是一套完整的架构,涵盖身份、设备、网络、应用、数据五个维度。
我曾经遇到一个客户,他们上了 MFA,换了零信任网关,觉得万事大吉。结果呢?内部员工依然可以随意访问所有服务器。我问他们:「你们做了动态访问控制吗?」对方一脸茫然。这就是典型的「只做了表面功夫」。
我的建议:零信任落地要分三步走——先摸清资产和身份,再建立持续验证机制,最后实现动态授权。别想一口吃成胖子。
1.3 与传统边界安全的区别
传统安全模型是什么?就是「城堡+护城河」模式。你在城堡里就是安全的,护城河(防火墙)挡住外面的敌人。但问题是,一旦有人翻过城墙,城堡内部就完全不设防了。
零信任正好相反。它假设城墙已经破了,每个房间都要上锁,每个走廊都要查身份证。我画了一张对比图,你看一眼就明白了:
你看,左边传统模型,攻击者只要突破防火墙,内网所有资源随便逛。右边零信任模型,每个资源前面都有一个「守卫」,用户每次访问都要重新验证身份和权限。
我把两者的核心差异整理成了一张表:
| 维度 | 传统边界安全 | 零信任架构 |
|---|---|---|
| 信任依据 | 网络位置(内网=可信) | 身份+设备+上下文 |
| 验证频率 | 登录时一次验证 | 每次请求持续验证 |
| 权限粒度 | 粗粒度(网段/子网) | 细粒度(应用/API/数据) |
| 网络模型 | 城堡+护城河 | 微隔离+零信任网关 |
| 横向移动 | 一旦进入内网,畅通无阻 | 即使进入内网,也被隔离 |
| 典型技术 | 防火墙、VPN、VLAN | ZTNA、SDP、IAM、微隔离 |
注意:零信任不是要你一夜之间拆掉所有防火墙。防火墙依然有用,只是不再作为唯一的信任边界。我建议采用「逐步替换」策略——先对核心资产实施零信任,再逐步扩展到外围系统。
1.4 零信任的三大核心组件
在实际落地中,零信任架构通常包含三个核心组件。我习惯把它们叫做「铁三角」:
- 策略引擎(PEP)——负责做决策。它根据身份、设备状态、行为模式、风险评分等,决定「允不允许这次访问」。
- 策略执行点(PEP)——负责执行决策。它通常是一个网关或代理,拦截请求并转发给策略引擎做判断。
- 信任评估引擎——负责收集证据。它持续监控用户行为、设备合规性、异常检测,给策略引擎提供实时数据。
这三个组件的关系,我画了个简单的流程图:
这个流程其实很好理解。用户发起请求,策略执行点先拦住,然后问策略引擎:「这个人能访问吗?」策略引擎转头问信任评估引擎:「这个用户当前的风险分是多少?」信任评估引擎根据设备状态、行为模式、地理位置等给出评分。策略引擎综合判断后,告诉执行点:「放行」或者「拒绝」。
我在实际项目中,见过很多团队把策略引擎和信任评估引擎混在一起做。结果呢?策略逻辑越来越臃肿,改一个规则要改半天。我建议一开始就把这两个组件分开,后面迭代会轻松很多。
1.5 零信任不是银弹
最后说句实在话。零信任不是万能药。它解决的是「信任滥用」的问题,但解决不了「弱密码」「0day漏洞」「内部恶意人员」这些老问题。
我曾经帮一家电商公司做零信任改造,他们上了全套方案:ZTNA、微隔离、持续验证。结果呢?一个运维人员把 SSH 密钥存在了公共网盘上,被爬虫抓到了。零信任再强,也防不住这种「人祸」。
所以我的建议是:零信任是安全体系的一部分,不是全部。它要和安全培训、漏洞管理、事件响应配合使用,才能发挥最大效果。
一句话总结:零信任不是让你不相信任何人,而是让你「不要默认相信任何人」。每次访问都问一句:「你凭什么访问这个资源?」——这就是零信任的精髓。