零信任技术
对技术的考虑至关重要。传统技术解决方案以向边界添加层为核心,但这种基于边界的方法无法遏制对IT系统种类和数量都在不断攀升的攻击。应用程序交付的计算单元已从集中式的大型服务器过渡到众多虚拟化服务器和服务,再到分布在不同云资源中的高度细粒度的容器。功能的原子化给零信任的应用带来了可移植性的挑战;然而,随着数字转型计划驱动云采用率的不断提高,零信任代表了预防和抵御网络攻击的下一代趋势和先进网络空间方案。组织机构在关键能力方面的技能水平,如身份和凭证访问管理(ICAM)、软件定义网络(SDN)、微分段环境、身份感知代理(IAP)以及持续监控系统的能力,将推动向零信任架构的演进。了解组织架构中的技术环境以及市场生态系统中的可用选项将有助于选择适合其环境的正确解决方案。
组织文化
组织文化是所有利益相关方考虑的另一个重要因素。事实证明,COVID- 19疫情是推动组织机构启用“居家办公模式”和安全团队向零信任战略迈进的一个催化剂。要采用零信任,组织机构必须愿意通过企业重构实现改变,并培养“永不信任”的思维。与传统环境相比,拥抱了可扩展云和混合模式的主动式组织更具优势,能够更轻松地采用“零信任思维”。了解组织文化和变革管理能力至关重要。
策略
除了文化,组织机构更新其策略的能力也至关重要。现代IT组织是一个复杂的私有部署和云托管架构交错的混合体,使组织机构的网络安全控制策略面临巨大挑战。策略变更的影响将渗透到组织的所有基础架构、应用程序和数据。对于每个组织机构来说,识别和制定基于零信任的新安全策略的能力将是一个重要因素,也是每个组织独有的。鉴于零信任架构的成熟度水平,组织可能面临识别、创建和规范这些策略的挑战。
监管环境
采用零信任的最后一个关键影响因素源于监管环境。美国政府有两个推动网络安全合规的主要框架:风险管理框架(RMF)^12 和网络安全框架(CSF),都由NIST管理。这两个框架为安全评估、实施、授权和监控提供指导。 2013 年 2 月 12日发布的《改善关键基础设施网络安全的总统第 13636 号行政令》 建立了一个减少网络安全对关键基础设施风险的基于现有标准、指南和实践的框架。
本指南是对 2014 年《网络安全增强法案》 的加强。尽管这些合规框架灵活,但并未专门或更好地促进零信任架构的实施。2021 年 5 月 12 日颁布的第 14028 号行政令(“改善国家网络安全”)要求组织机构应负责管理网络安全风险,并呼吁行政部门支持关键基础设施所有者和运营者及其供应链改善网络安全水平。这些努力值得肯定,并为更多策略创造了动力。比如国防部参照零信任架构理念搭建的零信任架构体系,需要引入零信任成熟度评估(ZTA-CMM)和带有时间表计划的零信任路线图,以实现安全层面的实质性提升。这些监管举措有助于激发必要的变革,以挫败新的网络攻击,增强网络弹性。新法规的出台,将鼓励行业服务提供商和相关利益方(如软硬件供应商、系统集成商、服务提供商、信息技术组织及更多将创新引入解决方案的机构)的参与。
零信任解决方案的全景图
为了提高组织机构的零信任成熟度,有必要审查和确定适用的技术和解决方案。例如,云计算的传统基础设施已经发展,其中包含现代组件,如容器和服务网格,需要与零信任核心组件集成(“策略引擎”[PE]、相关的“策略管理器”[PA]和各种“策略执行点”[PEP]).^16 管理零信任架构的这些新战略一定会出现,而下文中提及的技术领域和相关示例仅代表了向零信任架构演进过程中涉及的现代化安全环境解决方案的一小部分。本文探讨的代表性技术方法和其影响包括了软件定义架构组件、服务网格功能、边缘计算趋势和策略即代码可能性。
软件定义边界
举一个显而易见的例子,软件定义边界(SDP)和零信任原则同时演变,对安全行业全景图中蕴含的挑战、实现和变化作出可同样的响应。此外,鉴于SDP组件解决了零信任原则中的许多问题,因此这两个概念是完美融合的。如今,SDP已被业界视为实现零信任原则的软件定义架构的一个明确部分,NIST零信任架构白皮书将SDP作为零信任架构具体落地实现的方法之一。
Gartner Research将SDP描述为一种提供“对企业应用程序安全访问”的技术,强调设备认证和用户授权是一种“固有功能”,以及“建立多个加密隧道到不同目的地的能力”^18 。SDP仅在通过请求系统和应用程序基础设施之间的实时加密连接进行设备认证和身份验证后,才提供对应用程序基础设施的访问。 2019年,Gartner继续通过其零信任网络访问(ZTNA)模型支持SDP,^19 该模型围绕一个应用程序或一组应用程序创建基于身份和上下文的逻辑访问边界。这种情况下,应用程序隐藏起来无法发现,并且通过受信任的代理限制对一组命名实体的访问。这会将应用程序资产从公共可见性中移除并减少攻击面。
云安全联盟 (CSA) 在其 2020 年报告《软件定义边界》 (SDP) 和《零信任》 中也支持这一演变,将 SDP 视为“网络层零信任”。
网络分段
尽管软件定义边界(SDP)提供了一种实现零信任架构的方法,但必须同时进行如下工作:采取分段(在零信任文献中常称为微隔离)的方法,用默认拒绝模型减小攻击面并防止横向移动特征造成的数据泄露问题。网络分段功能允许访问之前强制执行身份验证和授权,而SDP正是该功能的一种进阶——在网络分段的基础上对共享网络链接使用密钥加密。另一种基于主机的分段方法则不需要使用密钥:通过控制主机防火墙建立认证信道,以在大规模异构计算系统平台(私有部署、公共和私有云、容器)上实施动态策略和分段控制,同时允许策略随工作负载变化。
为了保证安全性,使用网络分段时需要创建多个安全分区,这些安全分区根据服务类型及其通信关系、用户身份、每个分区的数据敏感程度定义^22 。传统的网络安全分区模式受到资源开销、防火墙规则管理的复杂性和集成风险的限制,从而导致可选用的安全分区数量受限且粒度较大,这与“减小攻击面/最小权限”的零信任准则相悖。此外,一些先进的组织机构采用了最新应用架构,其工作负载可能运行在虚拟机、容器、无状态服务器上,导致传统方法可能很难在应用了容器、无服务器和托管云服务等新兴技术的环境下有效分段。
软件定义网络(SDN)将管理流量的网络控制平台与转发平台分离,可以通过API编辑网络控制,允许更多的动态流量调整和微分段链路的分段控制。通过SDN实现的分段使人们可以创建更细粒度的安全分区。
一套完整的分段解决方案需要提供关于工作负载、设备/端点和用户识别信息的全面和统一的可视化集成。理想情况下,它还可以在预防性和响应性的安全事件场景中自动、协调地分段。随着零信任技术的成熟,合并元数据标签治理的功能将帮助实现分段的自动化与协调化。
云服务提供商(CSP)为许多IT组织提供安全、可扩展性、敏捷的计算以及存储业务,其地位至关重要,因此在零信任框架中普遍采用SDP和SDN的情况尤其值得关注。如今,云服务提供商使用SDN作为设计、搭建、运营全球范围IPv 4 和IPv 6 网络的零信任方法。这也反过来促使云服务商提升其安全性和本地服务的可用性,以便更好地支持庞大的客户与合作伙伴群体的零信任环境。每个组织需要考虑如何将本地资源和第三方服务提供商的作用发挥到最大程度,从而依照路线图稳步推进零信任架构的研发和部署工作。
服务网格
零信任框架的另一项重要技术考量是基于容器实现的服务网格——一种实现配置和管理集中化的架构技术。在现代云计算环境中,容器已经成为首选的应用架构。因为现有的容器已经能以很高的效率部署,所以很有可能在IT架构中大量增加端点数量。如果不使用服务网格技术,将很难实现在跨容器环境广泛部署安全策略的目标。
现在大多数新的容器环境都由Kubernetes,RedHat OpenShift,DockerSwarm,Nomad以及AWS的云容器服务等容器平台提供 。容器平台通常不支持容器内通信安全,而服务网格已经发展为支持容器环境下安全地管理、部署和实时业务流的一种解决方案。边车容器(Sidecar Container)或边车进程(SidecarProcess)是实现服务网格的主要方法。边车容器或进程常部署为策略执行点(PEP),为基于容器的工作负载提供前端安全性保证。Kubernetes集群中的策略执行点应具有高性能和安全代理的特点,用以承担策略执行和安全保护(如web应用防火墙)工作。集中化的配置管理服务可以作为网络安全规则的策略决策点(PDP),通常与访问控制和事件监测模块关联。这种Kubernetes内部架构应该与控制界面和企业的ICAM服务良好地集成,同时支持传统与新兴的认证标准。将零信任扩展到容器化的微服务端点的一个创新实践是实现一个ISTIO之类的服务网格。ISTIO是一种开源的服务网格搭建方案,提供一种为已部署的服务快捷建立服务网格的方法,对基于Kubernetes的容器化应用产品是透明的 。正如美国国防部一号平台(DepartmentofDefensePlatformOne)所证实的那样,它非常适合支持今天的DevSecOps环节 。ISTIO解决方案可以为容器环境提供与NIST零信任架构SP 800 - 207 标准草案一致的零信任架构解决方案。
边缘计算
基于Kubernetes的新式应用程序架构日渐普及的同时,企业持续将IT基础设施分散部署到多个云服务提供商,对多个部署位置的零信任架构ZTA进行管理的需求将会涌现(如在本地、多云、甚至在最接近用户的网络边缘)。“边缘”(Edge)计算是另一个不断发展的考虑要点,在未来几年,它对于机器人、自动驾驶汽车、增强现实(AR)等互联行业将变得越来越至关重要。由高度分布式应用程序组成的世界将需要现代堆栈中的所有组件。然而,对用户来说,安全且透明的边缘计算将引入加强安全性的需求,例如在分布式应用程序及其应用程序源(云端或本地)的“网格(Mesh)”上建立零信任架构ZTA的能力。这种分布式应用程序的概念可能认为是“边缘 2. 0 ”(Edge 2. 0 )^26 ,考虑到对处理本地遥测和/或双向数据交换请求的传统云基础设施的扩展日趋复杂,它将需要更成熟的ZTA设计。
策略即代码
本文最后的技术考虑要点是策略即代码(PolicyasCode)的重要性。策略即代码的目标是跨越不同的技术实现统一的策略执行(不局限于云原生)。这一目标通过CI/CD环节以及基于单声明策略的ABAC和RBAC中对合规性和配置自动实施。这使得它非常适合正在尝试零信任架构ZTA成熟化的混合和云环境。
策略即代码实现了一个声明性机制,以执行服务的合规验证和访问规则,通过对部署前检查/测试(企业和/或监管架构)进行标准化评估实现所需的状态运行时控制。这是零信任架构ZTA中包含的一种赋能的技术方法。因为策略是以代码的形式实现的,使用和源代码控制相同的方法,即创建文档化的审计轨迹,因此可根据应用程序和服务接口的严格要求,对定义操作性访问和服务依赖关系的规则进行标记或映射,实现了在云原生环节中编写策略实例化的框架。
开放策略代理(OPA)是一个于 2018 年启动的项目,并于 2021 年 2 月通过云原生计算基金会(CNCF)^27 完成,帮助定义和实践策略即代码。如图 6 所示,OPA实际上是一个准入控制器,也是一个PEP,通过声明性规则引擎和自动化在集成和部署环节中实施特定的需求和检查。OPA可以作为库或守护进程实现,与Kubernetes、API AuthZ和Linux PAM环境集成。在处理每个API请求时,需要执行该策略的应用程序或服务向OPA请求以获得PEP决策。因此,它通过强制访问和配置策略一致性增强ZTA
身份感知代理
策略即代码的一个例子是身份感知代理(IAP)。身份和上下文感知是零信任架构ZTA中访问控制的基石;身份、上下文和访问意图结合,也是IAP的基础。IAP要求使用可信的身份根认证用户及其设备,以及用户可以授权访问的内容,这就是身份感知访问。IAP使用代理层提供经认证和授权的对特定资源的安全访问,因此,IAP允许企业使用零信任改造传统网络,在应用程序之前放置一个智能代理执行企业安全策略。
IAP关注于应用层的身份和访问,依赖于访问控制,而不是防火墙规则。配置的策略反映了用户和访问意图,而不是端口和IP地址。此外,IAP基于最小特权访问原则建立了一个中央授权层,并基于每个单独的请求执行访问控制,为零信任提供了实践治理模型。使用IAP,任何访问请求都可被终止、检查或重新检查、修改和授权。