零信任架构的实施规划——针对联邦系统管理员的规划指南
2022 年 5 月,NIST 发布 CSWP 20 白皮书《Planning for a Zero Trust Architecture:A Planning Guide for Federal Administrators》,本文对该白皮书进行了翻译整理,帮助研究者理解、讨论零信任的实现途径,完整内容请看原文。
摘要:该白皮书解读了 NIST《零信任架构》提出的零信任基本原则,然后,比较了 RMF 框架与 John Kindervag 提出的零信任实施过程。最后,通过 RMF 过程,解释说明了联邦信息系统在零信任迁移改造时,管理员在每个 RMF 环节中要重点关注和完成的事项。
1、零信任
零信任为减少实施精确、最小权限策略时的不确定性,针对面临风险的网络和信息系统,提供了一系列访问决策的原则。也就是说,网络中可能存在可以拦截或发起通信的恶意用户。从本质上看,零信任由一组原则组成,并通过这些原则来指导信息技术架构的规划、部署和运营。零信任通过全局视角来衡量给定任务或业务流程中所有的潜在风险,以及考虑如何降低这些风险。因此,零信任不存在单一、特定的基础设施实现或架构,零信任解决方案取决于正在分析的工作流(即企业任务的一部分)以及执行该工作流时使用的资源。零信任战略思想可用于规划和实施企业 IT 基础架构,该规划称为零信任架构(ZTA)。
ZTA 规划和部署的成功需要企业管理员和系统运维人员的参与。ZTA 规划需要系统所有者、业务部门以及安全架构师的参与和分析。零信任不能直接强加到现有的工作流上,而是需要在企业的各个方面进行集成。本文向企业管理员和运维人员介绍了 NIST RMF 中的一些概念。RMF 给出了一系列与企业风险分析、规划、开发和运营相关的流程和任务。在向零信任架构迁移时,企业的管理员需要熟悉风险管理框架中的任务细节。
NIST SP800-207 提供了零信任的概念框架,虽然该框架并未覆盖全部信息技术,但可以作为企业理解和开发零信任架构的工具。该出版物还提供了一个抽象的逻辑架构(图 1),用于映射解决方案和技术组件的关系。
图 1 零信任逻辑架构
在图 1 中,各组件按照逻辑功能进行划分,因此并不代表某个单一的业务功能组件。多个组件可能以分布式形式实现同一个逻辑功能,单个逻辑组件也可能同时实现多个逻辑功能。这些角色功能在 SP 800-207 中详细描述,简述如下:
▶ 策略引擎(Policy Engine,PE)是 ZTA 实现的“大脑”,对资源访问请求进行评估,依赖来自各数据源的信息输入,如访问日志、威胁情报、设备安全状况和网络 ID 认证等。
▶ 策略管理器(Policy Administrator,PA)是 PE 的执行者,其作用是建立、维护并终止主体与资源在数据平面上的会话。PA、PE 和 PEP 通过在逻辑或物理上独立的通道进行通信,该通道被称为控制平面。控制平面用于建立和配置数据平面,数据平面是用于发送应用流量的通道。
▶ 策略执行点(Policy Enforcement Point,PEP)是应用程序、设备等被授予资源访问权限时需要交互的组件。PEP 负责收集 PE 所需要的信息,并按照 PA 所发布的指令,建立和终止通信会话。企业资源之间所有数据平面上的通信都必须通过 PEP 进行控制。
▶ 信息源(Information Feeds)也被称为策略信息点(Policy Information Point,PEP),PIP 不属于 ZTA 的核心组件,而是用于支持 PE,向 PE 提供计算访问决策的相关信息,如策略、身份和设备属性、环境因素和历史数据。
1.1
零信任原则
零信任可以总结为用于规划和实现 IT 架构的一系列原则。《零信任架构》(SP 800-207)给出了这些原则的初始定义,本文将这些原则进一步划分为 3 类,分别与网络身份、设备安全状态和数据流相关。同时,本文还包含对原则的一些讨论,以及在开发零信任架构时,规划者应牢记的一些注意事项。
1.1.1 应用于网络身份治理的原则
原则 1:在访问资源之前,必须对所有访问进行动态认证和授权
通常,企业会拥有大量的网络身份数据,包括终端用户身份、进程/服务账号等。有些终端用户还可能拥有多个网络身份,部分身份仅能被硬件/软件使用。企业需要有适当的治理策略和结构,以便仅在身份验证后,才能执行授权操作。企业需要考虑当前的身份治理策略是否足够成熟,设置身份验证和授权检查点的位置,以及如何执行。
1.1.2 应用于终端设备的原则
原则 2:所有的数据源和计算服务都被视为资源
企业通过不同的资源来执行其任务,包括移动设备、数据存储、计算资源(包括虚拟化)、远程传感器/执行器等。所有组件都需要在零信任架构中被考虑到。某些组件(如物联网传感器)可能无法支持某些解决方案,例如,配置代理、应用程序沙箱等,因此需要考虑采用网络基础设施的替代方案。如果资源缺乏某些安全功能,企业需要添加 PEP 组件来提供该功能。
原则 3:企业监控并评估全部自有/关联资产的完整性和安全状况
该原则涉及企业的自有资源,以及用于企业工作流程(如配置、补丁、函数库等)的非自有资源。企业应该监控资源状态,并在出现新的安全状况时(如发现新漏洞或攻击时)采取适当的措施,确保数据资源的机密性和完整性。这要求企业管理员充分了解如何配置、维护和监控资源。
1.1.3 应用于数据流的原则
原则 4:所有网络通信都需安全增强,与网络位置无关
网络是攻守双方争夺的战场,因此,零信任应假设攻击者存在于网络上,并可以探测、篡改通信。企业应采取适当的保护措施来保护传输数据的机密性和完整性。如果资源本身无法提供此功能,则需要单独的 PEP 提供此功能。
原则 5:对每个企业资源的访问,都应以访问会话为单位进行授权
在理想的零信任架构中,每个操作都应在执行前进行独立认证和授权。例如,在对数据库进行访问时,紧跟在“读取”操作后的“删除”删除操作应触发额外的身份验证和授权检查。然而这种层次的细粒度检查并不总是可行,可能需要采取其他的解决方案(例如日志和备份)来检测并恢复未经授权的操作。企业管理员需要考虑如何对每个资源实施细粒度的访问策略。如果企业的安全工具无法做到这一点,那么其他的解决方案(例如日志、版本控制工具或备份等)可能有助于降低风险。
原则 6:对资源的访问由动态策略进行决策,包括客户端身份、应用/服务和请求资产的状态,以及其他的行为和环境属性
在零信任中,所有资源默认拒绝所有访问连接,仅接收策略明确允许的访问连接。在进行访问授权时,必须进行身份验证,并证明该请求符合企业策略的要求,这可能包括客户端软件版本、补丁级别、地理位置、历史请求模式等。需要注意的是,在访问请求之前立即执行所有检查可能并不现实,有些策略检查可能以定时方式周期性执行,例如软件版本日常检查。
原则 7:企业尽可能多地收集与资产、网络基础设施和通信相关的当前状态,并使用这些信息来改善其安全状况
零信任架构中增加了以前基于边界的安全架构中缺乏的或是不可能实现的动态响应因素。这要求企业在可行的范围内(基于政策、法规或法律限制)监控所有流量。系统日志和威胁情报可以用于更改、改进策略以响应新的安全事件。例如,企业内正在使用的某个软件出现了新漏洞。实施零信任架构的企业能够迅速采取行动,对受影响的资源采取隔离保护,直到完成修复,这样可以缓解新发现的漏洞对资源的影响。企业管理员需要为企业设置和维护一个全面的监控和修补程序,并应考虑如何使用自动化工具应对新发现的威胁。
2、零信任迁移过渡
企业网络向零信任架构的迁移不需要从零开始,但会随着时间的推移涉及一系列的升级和改造。有些可能是简单的配置变更,有些可能涉及新设施的采购和部署,这取决于企业当前已有和可用的安全设施。
与其他网络安全升级或改进类似,ZTA 的迁移路径并不是一个独一无二的过程,但在规划和实施中需要遵循零信任原则。NIST 风险管理框架(RMF)和网络安全框架(CSF)等现有框架可以帮助企业讨论、开发和实施 ZTA。本节用 RMF 来描述将工作流迁移到 ZTA 的过程和步骤。
此外,《联邦 CIO 手册》提供了适用于联邦机构的相关政策、任务和计划的信息和链接,包括持续诊断和缓解计划(CDM)和可信互联网连接(TIC)政策,可以为联邦机构管理员、规划者和管理人员提供相关指导和工具。
2.1
过程
NIST《信息系统和企业风险管理框架:安全与隐私的系统生命周期》(SP 800-37)描述了风险管理框架方法及其 7 个环节(或步骤)。
●组织和系统准备(准备)
●系统分类(分类)
●控制选择(选择)
●控制实施(实施)
●控制评估(评估)
●系统授权(授权)
●控制监控(监控)
上述步骤虽然是以顺序方式描述的,但实际上可以按任何次序执行,且每个步骤均可独立执行,或与其他步骤/任务并行执行。步骤之间的变化可以是动态的(如图 2)。在开发和实施零信任架构时确实如此,零信任的动态特性可能需要快速重复 RMF 步骤,以响应新的信息或技术变化。SP800-37 及其快速入门指南给出了每个步骤的详细信息。
图 2 RMF 的步骤
零信任迁移初期,通常(但非必需)按上述步骤顺序执行。RMF 步骤与 John Kindervag 提出的零信任步骤非常相似。Kindervag 过程假设已经创建了授权边界,并且工作流中使用的系统组件是已知的(即“准备”阶段已结束,并完成数据收集)。另外,由于该过程并不是在联邦机构信息系统框架下制定的,因此没有明确的“分类”环节,具体过程如下:
(1)梳理资源的攻击面,识别攻击者可能关注的关键部分,确定保护面。这些活动包含在“准备”和“选择”环节的任务中。
(2)从“准备”环节(任务 P-12 和 P-13)开始,数据流应该被识别和映射。
(3)“实施”环节主要关注“选择”环节提出的控制实施,这些控制与资源和 PEP 相关。PEP 可以是独立于资源本身的软件组件,用于提供认证/授权相关的控制。由于底层网络是不可信的,因此各个资源之间的连接必须经过 PEP。
(4)“评估”环节主要确保在“实施”环节中制定的所有访问策略都按预期实施和运行。该步骤将终结“授权”环节,系统和业务流(此时)处于开始实际操作的状态。
(5)“监控”环节实现对资源及其安全状态的监控和管理。
2.1.1 准备(Prepare)
“准备”是 RMF 流程的第一个环节,也是向零信任过渡的基本步骤。该步骤针对零信任架构建立完整的资源、网络身份和角色/特权清单,还包括一些适用于当前企业组织业务流或应用系统的准备性任务。系统架构师、管理员和操作员通常比较关注基于系统级别的任务,但也能提供一些企业组织、任务/业务流等方面的有用信息。业务部门则可以向系统管理员提供工作流中的资源利用方式等信息,为确定安全要求的范围提供帮助。“准备”环节主要侧重于帮助企业组织使用 NIST 的 RMF 管理其安全和隐私风险,并在组织、任务/业务流以及系统等层面建立确定基本的实施活动。
企业 IT 架构团队应专注于从 RMF 任务/业务角度,识别企业网络中的业务流(工作流)和系统,并对每个工作流进行风险分析,包括 ZTA 新增功能或组件所带来的影响。业务部门的人员也应参与分析过程,因为他们拥有当前工作流或系统文档的相关知识和经验。上述这些活动对应“准备”环节(参看 NIST SP 800‑37r2 的表 1)的组织和业务流任务(P‑3 到 P‑7)。系统管理员和操作员应专注于分析辨别业务流执行过程中所需的资源,对应“准备”环节的系统级任务。
工作流中涉及的 IT 资源是安全规划的主要组成部分,安全规划提供信息系统的安全需求概述,并说明为满足这些要求需要实施或规划的安全控制。其中,与资源相关的内容包括:
▲ 企业资源的分类:
●用于特定工作流的特定资源。如专用报告数据库,以及向该数据库提交报告的云应用;
●由多个(或所有)工作流共享的通用基础架构资源。如网络基础设施(交换机、无线网络接入点等)和通用网络服务(DNS、电子邮件等)。
▲ 组织内使用的网络身份和治理工具。包括终端用户的账号列表,软件/组件使用的服务账号、终端 ID 等。
▲ 组织内部使用的数据分类程序和例程。
▲ 企业资源的监控状态。理解并监控企业数据流是零信任的基础,在实施 ZTA 之前,企业需要建立可靠的持续监控计划和工具集。
一旦完成对工作流和企业资源的识别、标识工作,就可以确定 RMF 的授权边界(任务 P-11)。企业授权机构根据其他利益相关部门的意见确定授权边界,主要包括企业 IT 架构师、任务或业务部门以及应用系统所有者。授权边界包括所有系统组件,以及提供安全功能的 PEP 组件。在授权边界以内,资源之间的连接必须是安全的,并且不能是隐式信任。零信任原则认为网络中存在着攻防对抗,授权边界以内和跨越授权边界(例如从 Internet 到边界内,反之亦然)的资源之间的连接应受到相同的控制。如果其他系统的 PEP 解决方案也提供了适用于类似资源的控制功能,则可以重用该 PEP 组件提供控制能力,例如有些云访问安全代理(CASB),可以为多个不同的资源提供 PEP 组件(参看 NIST SP 800-37r2 附录 G[2])。
2.1.2 分类(Categorize)
在零信任规划中,该环节没有任何修改变化。FIPS 199[8]和 FIPS 200[9]通常根据资源在工作流中的机密性、完整性和可用性要求,将其划分为低、中或高 3 个影响类别。在“分类”环节的任务中,资源所有者和业务流(部门)都可以提供有价值的输入,就像在“准备”环节一样,系统管理员对任务 C-1(参看 NIST SP 800-37r2 的表 3)[2]至关重要,即系统特性(包括资源和相关工作流)的文档编写任务。
2.1.3 选择(Select)
该环节在零信任规划中也没有修改变化。NIST SP 800-53B[10]中给出了针对低、中、高 3 个影响类别的系统控制基线,其他控制可以通过控制裁减进行添加或删除,以适应资源风险、已知攻击面,及其在工作流中的位置。控制叠加(Overlay)有助于为企业提供安全基线的定制能力,但叠加不应被视为不变的,而应为特定资源、工作流和新增 ZTA 组件量身定制。规划人员还要考虑 PEP 需实现的控制措施,以及需要资源自身实现的控制措施。与“分类”环节一样,资源所有者和使用资源的业务部门能够为本环节提供有用的输入。因为零信任重视对安全态势的持续监测和更新,网络安全架构师和管理员需要开发制定全面的监控流程,以便能够处理零信任动态特性所需的数据量。
除了 NIST SP 800‑53[11]和 SP 800‑53B[10],企业 IT 架构师和管理员根据需要可能要查阅一些其他必要的资源,如联邦 CIO 手册[4]、TIC 3.0 文档和用例[12]。TIC 3.0 可以为目标架构提供高级别的初始框架,TIC 3.0 文档的“信任区”概念则与授权边界的定义有关。通过这些文件,可以帮助企业确定 IT 资源的安全需求和属性。
系统管理员应为相关任务(参看 NIST SP 800‑37r2 的表 4[2])提供必要的输入,任务 S‑4 和 S‑5 特别需要管理员和运维人员提供的输入,因为他们对构成系统的资源最为熟悉。
2.1.4 实施(Implement)
与前两个环节一样,“实施”环节也没有与零信任相关的特殊问题。但是,在实施 ZTA 时,应当始终将监控/维护功能与 RMF 和零信任放在一起考虑。管理员可能希望避免涉及频繁的人工操作,同时也不希望使用不满足推荐建议或不兼容现有监控系统的解决方案。零信任倾向于自动地对不断变化的安全问题做出动态响应,而人工操作、更改可能无法跟上频繁的态势变化。该步骤中的两个任务(参看 NIST SP 800‑37r2[2]的表 5)都涉及给定资源的管理员和操作员。
2.1.5 评估(Assess)
在 ZTA 中,对控制措施的评估过程应是持续、不间断的,以适应不断变化的环境。DevOps/DevSecOps 等现代 IT 技术趋势表明,为了缓解新发现的威胁或应对企业基础架构的更改,需要对 IT 环境进行频繁地改进和配置优化,进而导致单纯对操作系统进行的评估可能会因过时而失效。管理员和运维人员可能在本环节中没有特定的任务,但是需要提供有关系统中资源或工作流的信息。
作为回应,“评估”环节应该包括两个评估过程:对系统的持续评估(也是下文“监控”步骤的一部分)和对系统管理流程的评估。对管理流程进行评估是因为零信任的动态性质,系统本身变化非常快,超过了人工评估可以处理的规模。该评估需要考虑因素还包括系统的变更过程等,以便评估系统的修改、变化方式。
理想情况下,对系统本身与 SP 800‑53 相关控制的评估应该通过监控程序的持续评估组件来完成[13],周期性地对系统进行自动检查或扫描,以发现系统中的变化(下文“监控”环节的一部分)。日志数据也应该用于分析调查,检测判断可能的恶意行为或补救措施。“评估”环节还可以包含一些主动性活动,例如将红队对系统的测试结果作为评估的输入。
2.1.6 授权(Authorize)
“授权”环节的目标在任何安全体系架构中都是一样的,即系统不仅仅只是当前的运行部署。ZTA 应具有动态性和流动性,以响应网络条件的变化。授权不应仅考虑静态系统的操作运行,还要同时适用于系统的更改或更新过程。
2.1.7 监控(Monitor)
如前所述,零信任要求企业监控任务(业务)执行中使用的资源,终端卫生(Endpoint Hygiene)、用户行为及网络流量,对应 NIST SP 800‑37r2[2]表 8 中的任务 M‑1。如何实现这些能力,取决于企业中现有的技术解决方案,但不管采用何种技术,企业都应该制定相应的策略,根据通过监控观察到的行为触发相应动作,包括对安全事件的响应或与按 DevOps 流程关联对系统进行修改或改进。
除了监控企业资源的当前活动和状态外,网络安全规划人员还应考虑如何利用外部的威胁情报,对新的安全状况做出先发制人的响应(任务 M‑3)。类似.GOVCAR[14]的工具可以用来帮助分析、确定要优先解决的安全威胁。对于联邦机构,还有一些其他可供使用的监控计划,例如 CDM[15]和 AWARE[16]。
2.1.8 RMF 操作流程
零信任倾向于使用更动态的开发和运营(DevOps)[17]以及安全运营(DevSecOps)。安全更新和审查循环可以描述为 RMF 流程的一个子集。例如,网络安全态势的 DevOps 周期可以用图 3 描述:
图 3 DevOps 的周期
在这个循环中,“监控”环节中收集的数据被反馈到“实施”环节中。改进和优化措施在落地实施后,它们又进入评估及授权环节。在必要的时候,如果新问题需要引入新的控制或删除已有控制,DevOps/DevSecOps 团队甚至可能会退回到“选择”环节。
即使在静态的 IT 运营环境中(不使用 DevOps),零信任模型也可以看作是只包含 3 个 RMF 环节的循环(图 4)。在该循环中,没有 DevOps 组件,随着从系统日志、威胁情报中不断地收集新信息,评估和授权步骤形成一个持续的循环。这可能导致新的配置更改或策略更新。如果新信息要求的变更较大,因为其他环节处于循环之外(如“实施”环节),就会导致大幅度运营调整的发生频率变小,周期也会变长。
图 4 安全控制的运营循环
3、结果
零信任不是单一的技术解决方案,而是一个网络安全战略和运营实践。成功的零信任架构需要网络安全规划者、管理部门和行政/运营部门的合作。零信任也需要系统、数据和业务部门的参与,他们通常不会提供有关费用风险的信息,但这些信息却非常重要。零信任是企业网络安全的整体方案,需要管理人员、IT 员工和普通企业用户的支持。
NIST 风险管理框架为企业组织提供了网络安全和隐私风险的管理流程,可以为系统管理员、运维人员以及其他不关注网络安全的人员提供帮助。本白皮书概述了 NIST 的 RMF,并为管理员和运维人员解释了 RMF 步骤、及其对零信任的支持。目标是向 IT 员工提供技术指导,帮助他们了解如何参与 ZTA,并协助风险管理人员进行分析。因为 RMF 步骤并不需要按既定顺序执行,每个企业都需要开发适合自己的 RMF 任务执行流程。
评论