零信任其实是一种安全理念:“永不信任,始终验证”。
零信任系列分为两篇:
本篇是 历史 + BeyondCorp
发展历史其实没那么重要,橘友们当做故事看就好了,我也是复制粘贴的。
// ctrl+c from 资料 1
零信任的最早雏形源于 2004 年成立的耶利哥论坛,其成立的使命正是为了定义无边界趋势下的网络安全问题并寻求解决方案,提出要限制基于网络位置的隐式信任,并且不能依赖静态防御。
2010 年,著名研究机构 Forrester 的首席分析师 John 正式提出了零信任这个术语,明确了零信任架构的理念,该模型改进了耶利哥论坛上讨论的去边界化的概念,并提出三个核心的观点:
2013 年,国际云安全联盟(CSA)成立软件定义边界(SDP)工作组。SDP 作为新一代网络安全解决理念,其整个中心思想是通过软件的方式,在移动和云化的时代,构建一个虚拟的企业边界,利用基于身份的访问控制,来应对边界模糊化带来的粗粒度控制问题。
2014 年,谷歌基于内部项目 BeyondCorp 的研究成果陆续发布 6 篇相关论文,介绍零信任落地实践。BeyondCorp 采用了零信任的思想,设计理念如下:
同年,CSA 发布了《SDP 标准规范 V1.0》英文版(中文版于 2019 年发布)
2017 年,Gartner 在安全与风险管理峰会上发布持续自适应风险与信任评估(Continuous Adaptive Risk and Trust Assessment, CARTA)模型,并提出零信任是实现 CARTA 的初始步骤,后续两年又发布了零信任网络访问(Zero-Trust Network Access, ZTNA)市场指南(注:SDP 被 Gartner 称为 ZTNA)。
2018 年,Forrester 提出零信任拓展生态系统(Zero Trust eXtended, ZTX)研究报告,将视角从网络扩展到用户、设备和工作负载,将能力从微隔离扩展到可视化、分析、自动化编排,并提出身份不仅仅针对用户,还包括 IP 地址、MAC 地址、操作系统等。简言之,具有身份的任何实体包括用户、设备、云资产、网络分段都必须在零信任架构下进行识别、认证和管理。
2020 年,美国国家标准技术研究所(NIST)发布的《SP800-207: Zero Trust Architecture》标准对零信任架构 ZTA 的定义如下:利用零信任的企业网络安全规划,包括概念、思路和组件关系的集合,旨在消除在信息系统和服务中实施精准访问策略的不确定性。该标准强调零信任架构中的众多组件并不是新的技术或产品,而是按照零信任理念形成的一个面向用户、设备和应用的完整安全解决方案。

// crtl+v
里面有很多的术语,我先总结一下:
SDP:这个就是软件定义边界IAM:即身份管理系统MSG:微隔离似懂非懂?这太正常了。
从整个发展历史来看,其实最有价值的还是 BeyondCorp 的六篇论文和 NIST 的架构设计,这也是为什么这个系列主要说的是这两个内容。
我的预期是看完 BeyondCorp 之后,橘友们对零信任概念以及实现有了基本了解,看完 NIST 的架构之后,对落地能有自己的思考。最后还有我的思考与总结,向橘友们分享一下我的想法。
在开始之前,我想先和大家说一个我自己的结论:零信任其实包含了办公网零信任和生产网零信任。如果这么去理解的话,BeyondCorp 其实指的是办公网零信任。
BeyondCorp 六篇论文分为以下几个主题:
我十分推荐大家去看看论文(见资料 2),光看主题就可以感受到谷歌分享技术的诚意。
首先橘友们最关心的肯定是这个 BeyondCorp 到底是什么。
BeyondCorp 的目标是:摒弃企业特权网络并开创一种全新访问模式
...在这种全新的无特权网络访问模式下,访问只依赖于设备和用户凭证,而与用户所处的网络位置无关,无论用户是在公司“内网”、家庭网络、酒店还是咖啡店的公共网络,所有对企业资源的访问都要基于设备状态和用户凭证进行认证、授权和加密。
这种新模式可以针对不同的企业资源进行细粒度的访问控制,所有谷歌员工都可以从任何网络成功发起访问,无需通过传统的 VPN 连接进入特权网络,除了可能存在延迟差异外,对企业资源的本地和远程访问用户体验基本一致...
这一大段是摘自谷歌关于 BeyondCorp 那 6 篇论文里的第 1 篇。这里的重点我已经帮大家标记出来了。那么,这些话显然是很虚的 ,确实有很多公司自称在认真做安全建设,大谈前沿概念,实际上是在吹牛* 。所以我们接下来看看他们是怎么实现这些目标的。
我觉得这个才是我们比较关心的。
这个是我画的 BeyondCorp 架构图,我把它分为 3 个大块:
也就是图里的这三个虚线框围住的部分。我们先不看他们各个模块之间的交互,先看一下各个模块是做什么用的。

首先来看这个红色的框:

接下来来看一下绿框部分:

接下来来看一下黄框部分:

上面这些组件看起来相当复杂,可能不太直观,我举个例子吧。
比如我的电脑被偷了,我去找 IT 报备。IT 在 IT 部门的资产库中,打个标,表明此设备已丢失。然后资产清单在定期轮训 IT 资产库的时候,将这个丢失的信息同步过来。信任引擎在进行定期计算的时候,发现这个设备丢失了,于是把这个设备的信任等级降至最低。那么访问控制引擎在做判断的时候,由于设备安全等级非常低,所以大部分应用都不允许访问,引导到丢失设备的提示页去。

最后我们再来整体地看一下这个流程,我举两个例子:
再看一个更加具体的例子:
codereview.corp.google.com 这个是谷歌的一个办公网应用,我们看下 DNS 解析记录:

可以看到 codereview.corp.google.com 直接在在公共 DNS 中注册,CNAME 指向访问代理。
访问会跳到 SSO:

那么到这里我们对谷歌实现 BeyondCorp 整体有了一个比较清楚的了解。不过其实更重要的是要知道它解决了什么问题,我们才会去考虑我们到底要不要跟风做这么一个东西,盲目地追逐新概念其实是很危险的。
只关注边界安全,一旦边界被突破则畅通无阻
在传统的安全方案中,几乎所有企业都会采用防火墙来增强边界安全。这种安全模型可以类比成我们的公司。守卫森严,每个出入口都有保安并且要求刷卡,似乎门禁能被突破的可能性很低。而根据墨菲定律,只要一件事它有发生的概率,那么随着时间的推移它就一定会发生。所以这种安全模型是存在问题的:一旦边界被突破,攻击者可以畅通无阻地访问企业的内部特权网络。从我个人体验来说,护网也好,红蓝对抗也好,感觉从办公网被突破的概率是非常大的,反而是生产网不太容易被突破。
边界不再由企业的物理位置决定
当所有员工都只在办公大楼中工作时,边界安全模型确实很有效;然而,随着移动办公的出现、办公使用的设备种类激增,边界变得越来越复杂。
另外,现在很多公司都在上云,云服务的使用越来越广泛,那么所谓的“边界”其实不再由企业的物理位置决定。定义边界越来越复杂和困难,那么基于边界的防守也就越来越容易出现疏漏。
难以平衡效率与安全性
连入 VPN 时需要认证,访问办公系统时再需要认证,可能还需要二次认证,对体验和研发效能影响较大。并且这种流程是对应用捆绑,每个人要用都必须这么来,实际上并不是所有人在所有时候进行的操作,都需要二次认证。
现在研发流程提效的问题在每个公司都很受关注,如果安全成了提效的最大阻碍,出师无名,就很难推行了。
那么还有一部分是比较值得说的就是这个经验。谷歌那 6 篇论文不仅说了他们是如何做的,还说了非常多落地经验,实在是业界良心。不过实在是太多了,而且很多经验如果没有参与落地的话,橘友们不会直接接触到,也没啥感觉。
“不仅仅是解决技术层面的问题”
这里的经验其实不仅是技术层面的,也有运营、运维等等。当然,还有很多这样的经验,篇幅关系我就不一一列出了。
“前人的经验不但可以教会我们应该做什么,也可以提醒我们不要做什么”
其实前人的经验不但可以教会我们应该做什么,也可以提醒我们不要做什么。
最后这一点,各位在入职的前几天应该是非常感同身受的。似乎我们所有的流程或者是培训,都默认你会记住他们给的知识点。但是这就和以前老师布置作业一样,每个老师都说自己布置了一点点作业,每个老师都一点点,其实加起来可能就变得很多。
谷歌 BeyondCorp 的介绍就到此结束啦。还有很多很多的细节,再次推荐各位去看看谷歌的这六篇论文(见资料 2),非常值得研读。
这里放上我整理的思维导图(此图较大),起到一个总结的作用:

其实我感觉,学习一个新的技术项目,最好的办法就是投入时间去参与它的落地过程,否则还是有点云,因为很多事情不参与是没有切身体会的。
我最近在做办公网零信任的建设,如果你有相关经验或者问题,非常欢迎联系我,我们可以交换一下建设经验,提升彼此的安全水位,开门造车,合作共赢。
以零信任,重建信任
我们下一篇见!