读书《白话零信任》一书笔记系列:
1)基本概念
传统安全模式在某种程度上假设内网用户、设备和系统是可信的,
忽视了来自内网的威胁。企业一般专注于对外部的防御,内网用户
的访问行为往往只受到很少的限制。
随着网络攻击手段的提升和APT攻击的泛滥,在复杂的网络环境中,
当网络边界过长时,企业网络很难防御住单点进攻。攻击者一旦突
破企业的安全边界,就如入无人之境,网络边界也变成了马其诺防
线。攻击者可能首先通过网络钓鱼、零日漏洞突破边界的防御,然
后在内网肆意传播恶意代码,或者以入侵的服务器为跳板,进一步
横向攻击内网的其他服务器。因此,企业不能再完全依赖以边界为
中心的防御体系了,而需要一种对所有用户和设备都适用的访问控
制体系。
2004年左右,一个名为Jericho Forum的组织提出了一种“去边界
化的网络安全架构”,主张去除对内网的隐式信任。他们假设环境
中处处存在危险,没有固定的安全区域。所以,安全防护必须覆盖
所有用户和网络资产,所有流量都要经过身份验证。
美国国防部建立了名为“BlackCore”的安全模型,他们主张从“边
界防御”转变为“对每个用户行为进行信任评估”,让身份和权限
变成新的“边界”。
2010 年, Forrester 分 析 师 John Kindervag 在 文 章
No More Chewy Centers:
Introducing The Zero Trust Model Of Information Security
中 提 出 了“零 信 任”这 个 概 念, 并 在 文 章
Build Security Into Your Network’s DNA:
The Zero Trust Network Architecture中描绘了最初的零信任
模型。零信任概念开始得到业界关注,John Kindervag本人也被称
为“零信任之父”。
此时的零信任理念中最重要的一点就是,强调不再区分可信和不可
信,所有的网络流量都应被视为是不可信的。这也是“零信任”架
构名称的由来。
要实现这一点,网络架构需要做出相应改变。
(1)网络中需要存在一个中心网关,强制让所有流量都经过它,进
行实时检测。
(2)隔离和访问控制策略要覆盖网络中的所有设备,按最小权限原
则进行授权。
(3)集中管理访问策略,并进行全面的安全审计。
中心网关可以在网络转发的基础上,对流量进行过滤,起到防火
墙、访问控制、传输加密、内容过滤、入侵检测、行为监控等作
用。
(1)隔离边界:隔离边界组件对网络进行细粒度分区,将不同的用
户和资源区域隔离开,配合访问控制策略,不让非法流量进来(所
以,零信任架构其实并不是抛弃边界,而是建立更细粒度的边界,
并且基于边界进行更多因素的校验)。
(2)集中管理、审计分析:集中管理中心网关并隔离边界的访问策
略,对流量进行各类因素的审计和分析,同时记录日志,将整个网
络安全态势可视化。
从图1-2中可以看出,零信任架构是一种从内到外的整体网络安全架
构,其安全能力不是外挂式地叠加的。网络组件也具备安全管控和
整体协同管理的能力,就像Forrester文章的标题一样,安全是刻进
网络的DNA中的
几年后,著名的分析师Chase Cunningham将之重新修订为零信
任扩展生态系统(Zero Trust eXtended(ZTX) Ecosystem)。
与原来的概念相比,ZTX将零信任架构的范围扩展到7个维度,整个
模型更加丰富了,如图1-3所示。数据是零信任架构保护的核心目
标。工作负载(Workload)、网络、设备和用户是“接触—数
据”的管道,零信任架构围绕这些管道执行安全管控策略、展示安
全态势。
下面依次介绍ZTX包含的7个维度的内容。
(1)数据:ZTX应当对整个数据生命周期进行保护。基于用户、设
备、环境等多种因素进行综合评估后,执行数据分类、加密、访问
控制安全措施。数据泄密防护(D Prevention,DLP)也应当属于
零信任架构的一部分。
(2)网络:ZTX应当对用户和服务器分别进行网络隔离,基于身份
和环境属性,提供细粒度访问控制。传统网络安全模型中的边界安
全产品也应当在零信任架构中发挥作用。
(3)用户:ZTX包含身份管理功能,通过多因子认证、单点登录等
策略,减少与用户身份相关的威胁。
(4)工作负载:工作负载指承载业务服务的基本组件单元,例如,
传统的物理机、虚拟机,现在的云主机、Docker容器、微服务等。
ZTX对各种场景下的工作负载进行统一的细粒度访问控制,阻断非必
要的连接。
(5)设备:ZTX对设备的管理包括设备清单管理、设备认证、设备
检查与修复、设备隔离等。ZTX应当持续感知设备的安全状态,根据
安全策略限制设备对数据资源的访问,确保只有安全的设备才能接
入网络。
(6)可见性与分析:ZTX应当支持对多个来源的身份信息、环境信
息、安全信息进行综合分析,并进行可视化呈现。
(7)自动化与编排:ZTX应该能够通过机器学习或规则匹配自动识
别安全事件,通过安全策略编排,与各类安全设备联动,自动对安
全事件进行响应。
从上面的介绍可以看出,ZTX的内涵已经相当丰富了,但Forrester
不甘寂寞,又提出了零信任边缘(Zero Trust Edge,ZTE)的概
念。ZTE通过云原生的中心网关进行安全过滤,以便提供更灵活、扩
展性更强的安全服务。SASE和ZTE的更 多详情将在4.8节介绍。
在行业发展到一定阶段之后,相关机构就会出台技术标准。在2014
年,零信任行业发展初期,国际云安全联盟发布了一个遵循零信任
理 念 的 技 术 标 准 —— 软 件 定 义 边 界
(Software Defined Perimeter,SDP)。现在很多企业的零信任
架构都是参考SDP标准开发的。
2019年,美国国家标准技术研究所(NIST)发布了零信任架构的标
准草案,并于2020年正式发布。目前,这是业界最权威的一份技术
标准。
目前国内在零信任标准化的推进上相对落后,不过也有一些企业和
机构已经发布了零信任的参考架构。1.4.1 国际云安全联盟提出SDP技术架构
2014年,国际云安全联盟(CSA)的SDP工作组发布了《SDP标准规
范》。软件定义边界是相对于传统的以物理边界为中心的网络安全
模式来说的。SDP主张在每个用户的设备上都安装客户端软件,进行
身份校验,只有通过验证的用户才能访问企业资源。这样就构建了
一个软件的、虚拟的安全边界。这种理念与零信任理念是非常相似
的。
由于SDP的架构非常简单可靠,国内外很多安全厂商都在推出基于
SDP架构的零信任产品。可以说SDP是目前最好的实现零信任理念的
技术架构之一。
1. 为什么说SDP架构好
第一,SDP系出名门。CSA的SDP工作组的组长是原美国中央情报局
(CIA)的CTO——Bob Flores。没错,就是电影里常常见到的那个
特工组织CIA。Bob Flores把CIA、美国国防部(DoD)、美国国家
安全局(NSA)里面的很多实用技术拿出来,放到了SDP架构里。所
以如果你去翻看SDP的白皮书原文,那么可以看到很多地方写到,
SDP中的这部分技术源自DoD的某某技术,是经过NSA验证的。
第二,SDP不是纸上谈兵,自诞生之初,就经历重重考验。在SDP技
术推出之后,CSA曾经组织过4次黑客大赛来检验SDP的可靠性。来自
100多个国家的黑客一共发起过几百亿次攻击,却没有一个人能攻破
SDP的防御。比赛的具体过程会在5.2节详细介绍
2. SDP架构
SDP架构有3个组件,如图1-8所示。
SDP客户端:负责在用户登录时,感知设备安全状态,将用户的业务
访问请求转发到SDP网关。
SDP网关:负责执行访问控制策略,只允许合法用户经过网关,访问
业务系统。
SDP管控端:负责验证用户的身份,制定并向SDP网关下发安全策
略。
SDP架构的整个工作流程如下。
(1)SDP管控端启动。
(2)SDP网关向管控端“报道”,准备接收SDP管控端的控制指令。
(3)用户在SDP客户端上进行登录操作,登录请求被转发到SDP管控
端进行验证。
(4)在身份验证成功后,管控端向客户端下发用户有权连接的SDP
网关列表,向网关下发校验用户所需的身份和授权信息。在下发信
息之前二者不知道对方的存(5)在下发信息后,SDP客户端与SDP网关建立安全加密的数据传输
通道(包括SPA端口敲门过程)。用户发起的业务访问请求会被SDP
客户端转发至SDP网关。
(6)SDP网关会根据访问请求中包含的用户信息进行身份和权限校
验。
(7)校验成功后,SDP网关将访问请求转发到后方的业务系统。此
后,用户即可正常访问业3. SPA网络隐身
单包授权(Single Packet Authorization,SPA)是SDP的特色技
术。在默认情况下,SDP不对外开放端口。只有在客户端通过SPA敲
门技术通过身份验证之后,才暂时对其开放端口。具体的隐身技术
原理会在4.1节详细介绍。这就像进入一个秘密基地,平时基地的大
门是紧闭的,打不开,外面的人也不知道里面有没有人。秘密基地
的成员来了之后,看到大门紧闭,就会敲门。敲门的节奏是三长两
短,门里面的人听到了暗号,知道是自己人来了,自然就把门打开
了。SPA技术就是让客户端向SDP网关发送一个“敲门”的数据包,
包里携带用户的身份信息。SDP网关接收之后,不做回应,而是解析
包中的身份,如果校验成功,就向该用户的IP开放端口务系统。
4. SDP与VPN的区别乍一看,SDP与VPN在架构上有几分相似,但其实SDP架构中有很多安
全考虑是VPN不具备的。
SPA网络隐身就是VPN不具备的安全技术。有了SPA之后,SDP网关在
互联网上是隐身的,黑客完全扫描不到。黑客发现不了,自然就不
会发起攻击。在近年来VPN漏洞频发的情况下,SDP的网络隐身能力
的价值更加明显。
SDP架构强调控制面与数据面分离,这与VPN有明显区别。从架构图
上可以看出,SDP将管控端和网关在逻辑上进行分离,数据的流动与
控制指令的流动互不干扰。SDP管控端和SDP网关在专门的控制面网
络上进行通信,数据面网络用于业务访问的通信。这么做的好处
是,避免黑客攻陷一点就波及整个网络。
另外,管控端分离便于对“多个网关”的场景进行集中管理。例
如,企业有两个数据中心,一个在机房,另一个在云端。SDP可以在
每个环境下都部署一个SDP网关,然后由一个SDP管控端进行统一管
理。SDP管控端会向客户端下发SDP网关与其业务系统的对应关系。
用户在访问这两个环境中的业务系统时不用切换账号,可以直接进
行访问。这是VPN做不到的。
5. SDP适用场景
SDP架构需要用户安装客户端,所以SDP对终端的安全控制更强,客
户端和网关联动能产生更严密的防护效果。但客户端也限制了SDP的
应用场景。一些公开的网站无法用SDP保护。
SDP特别适用于合作伙伴、供应商、第三方人员、分支机构等特定人
群访问业务系统的场景。这些系统需要在互联网上开放,以便第三
方人员访问。但是又不需要向所有人开放,不会引来黑客攻击。在
这种场景下,SDP能保证合法用户正常连接,对未知用户“隐形”。
美国NIST制定行业标准
2019年9月,美国国家标准与技术研究院(NIST)发布了《零信任架
构》 标 准 草 案 (NIST.SP.800-207- draft-
Zero Trust Architecture)。2020年2月,NIST发布了标准草案
的第2版,并最终于8月发布了标准的正式版。这份标准介绍了零信
任的基本概念、架构组件、部署方案等,是目前最权威的零信任架
构标准。
NIST标准对“零信任”下了定义。零信任(Zero Trust)是一系列
概念和思想,用于减少网络威胁带来的不确定性,以便对业务系统
和 服 务 的 每 个 请 求 都 执 行 细 粒 度 访 问 决 策。 零 信 任 架 构
(Zero Trust Architecture)是一种基于零信任理念的企业网络
安全规划,包括组件关系、工作流规划、访问策略等。
NIST零信任架构的基本组件包括策略决策点和策略执行点。
a)策略引擎:当用户发起访问请求时,策略引擎从周边各个系统获
取用户的身份和安全状态,进行综合分析,然后计算是否允许该用
户访问某个资源。
b)策略管理:负责管理用户的身份凭证和会话创建,根据策略引擎
的计算结果,通知策略执行点创建会话或关闭会话。
(2)策略执行点:零信任假设访问的主体不可信,而且身处不可信
环境,所以主体只有在通过策略执行点的严格校验后,才能访问企
业资源。策略执行点负责接收用户的访问请求,按策略决策点的指
令放行或拦截。
注意:NIST的策略执行点是一个抽象的概念,可以指代客户端和网
关等组件。NIST的主体可以指用户,也可以指服务器,还可以指物
联网设备。系统可以指用户的笔记本计算机,也可以指服务器系
统,还可以指物联网设备的系统。
NIST零信任架构中左右两边的组件代表了企业现有的或来自第三方
的网络安全系统。这些系统也包含在零信任架构之中,为零信任的
策略决策点提供信息输入和管理支撑功能。
(1)持续诊断和缓解(CDM)系统:收集企业资产的安全状态,更
新系统配置和软件。如果存在漏洞,策略决策点就可以采取修复或
隔离措施。
(2)行业合规系统:确保企业遵守了各种合规制度,包括一系列相
关的策略规则。
(3)威胁情报源:为企业提供最新的漏洞、恶意软件、恶意IP地址
等信息。策略决策点可以有针对性地进行分析和屏蔽。
(4)数据访问策略:定义了谁可以访问哪些数据,零信任架构可以
在此基础上基于身份和数据属性进行更细粒度的策略管控。
(5)公钥基础设施(PKI):生成并记录企业向主体、资源签发的
证书。
(6)身份管理系统:负责管理企业用户的身份信息,包括姓名、邮
箱等基本信息,岗位、部门等组织架构信息,角色、安全标签、绑
定设备等其他相关信息。例如,AD或IAM、4A系统等。
(7)行为日志:汇聚企业系统日志、网络流量、授权日志等。策略
决策点可以根据行为日志进行分析建模。
(8)安全信息与事件管理(SIEM)系统:汇聚各个系统发出的安全
事件及告警日志,便于零信任架构进行策略响应。