零信任正成为云安全的一种日益重要的模型,特别是在 Azure 云环境中。随着越来越多的企业迁移到云,确保安全的云环境已经成为当务之急。“零信任模型”正迅速成为实现这种安全性的主要方法。要在Azure云中实现零信任模型,需要仔细的规划和执行。本文将讨论 Azure Cloud Zero Trust 的高层和低层设计,并给出在其云环境中使用Zero Trust的真实公司的例子。
零信任安全模型(英语:Zero trust security model),也称零信任架构、零信任网络架构、ZTA 、ZTNA 等,还有时称为无边界安全(perimeterless security),此概念描述了一种 IT 系统设计与实施的方法。零信任安全模型的主要概念是“从不信任,总是验证” ,即不应默认信任设备,即使设备已经连接到经许可的网络(例如公司局域网)并且之前已通过验证。大多数现代企业网络结构复杂,包含众多相互连接的区域、云服务以及基础设施,以及与远程和移动环境的连接、非常规 IT 连接(例如物联网设备)。零信任原则是因传统的方法(如在名义上的“企业边界”内信任设备,或者设备通过 VPN 进行连接)不切合企业网络的环境复杂性。零信任提倡相互认证,包括在不考虑位置的前提下检查设备身份和完整性,以及基于设备身份和设备状况的置信度来结合用户身份验证,提供对应用程序和服务的访问许可。
1994年4月,Stephen Paul Marsh 在其斯特灵大学计算机安全专业的博士论文中提出了“零信任(zero trust)”一词。Marsh的研究将“信任”视作可以用数学描述的有限事物,断言“信任”的概念超越了道德、伦理、合法性、正义和判断等人为因素。
2003年的 Jericho Forum 强调了为组织 IT 系统定义边界的挑战性,讨论了当时称为“去边界化”的趋势。2009年,Google 实施了一种名为BeyondCorp 的零信任架构。Forrester Research的分析师 John Kindervag 在2010年使用术语“零信任模型”表示更严格的公司内部网络安全计划和访问控制。
讲真的,Google 公司毫无疑问为软件业甚至其他行业做了巨大贡献,比如现在火爆的 ChatGPT, Google 发布论文《Attention is all you need》,提出 Transformer 模型,为 GPT 铺就了前提。
而零信任模型基本现在也被各大云厂商所应用,并作为云架构安全基础依据。
传统的基于边界的网络安全架构通过防火墙、WAF、IPS 等边界安全产品/方案对企业网络边界进行重重防护。它的核心思想是分区、分层(纵深防御)。边界模型专注防御边界,将坏人挡在外面,假定已经在边界内的任何事物都不会造成威胁,因而边界内部基本畅通无阻。
几乎所有网络安全事故的调查都指出,黑客在完成攻击之前,甚至之后,曾长期潜伏在企业内网,利用内部系统漏洞和管理缺陷逐步获得高级权限;另一方面,内部人员的误操作和恶意破坏一直是企业安全的巨大挑战,长期以来都没有好的解决方案。也就是说,认为企业内网是可信区域的传统看法是站不住脚的。
除了外部威胁和内部威胁导致基于边界的安全体系失效,移动办公和云服务的增长,也令很多公司企业难以确立起网络边界。传统筑起边界长城守护内部资源的做法,随着企业数据的分散化和数据访问方式的多样化而不再有效。现实情况是,企业应用一部分在办公楼里,一部分在云端——分布各地的雇员、合作伙伴和客户通过各种各样的设备访问云端应用。
零信任安全就是在这样的背景下诞生的,其目的是基于身份和访问控制从0构建企业新的逻辑边界。
默认情况下不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础。诸如IP地址、主机、地理位置、所处网络等均不能作为可信的凭证。零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。
在 Evan Gilman《零信任网络》一书中,零信任网络被描述为建立在以下五个基本断言上:
应该始终假设网络充满威胁。
外部和内部威胁每时每刻都充斥着网络。
不能仅仅依靠网络位置来建立信任关系。
所有设备、用户和网络流量都应该被认证和授权。
访问控制策略应该是动态的基于尽量多的数据源进行计算和评估。
由此可以看出,零信任的理念,已经从边界模型“信任但验证”转换到“从不信任,始终验证”的模式。(注意重点,此处可能会在考试中出现判断类的题目或者面试被问到,我觉得这是起码的知识点,你要知道的)
根据以上五个断言,零信任模型被认为遵守以下4个基本原则:
验证用户:基于位置、设备和行为来评估用户安全情况,确定用户是否是其所声称的身份。采取恰当的措施(比如多因子身份验证)来确保用户真实性。
验证设备:无论是公司设备、BYOD还是公共主机、笔记本电脑或移动设备,基于设备身份和安全情况实施访问控制策略。只允许受信终端访问公司的资源。
限制访问与权限:如果用户和设备通过了验证,对资源实施基于角色的访问控制模型,赋予其仅供完成当次工作的最小权限。
自适应:各类源(比如用户、其设备、与之相关的所有活动)总在不断产生信息。利用机器学习来设置上下文相关访问策略,自动调整并适应策略。
Microsoft 强烈建议使用零信任安全模型,该模型基于以下指导原则:
注意这里博主总结一段话,方便记忆,请一定要记住 Azure 中的指导原则:基于显示验证,应用最小特权访问和始终假设违规的原则。
传统上,公司网络受到限制、保护并且通常被认为是安全的。 只有被管理的计算机可以加入网络,VPN 访问受到严格控制,并且个人设备经常受到限制或阻止。
零信任模型不会假设因为设备在公司网络内,它就是安全的,而是要求每个人都进行身份验证。 然后基于身份验证而不是位置授予访问权限。
注意:如果你是想备考初级认证比如说
az-900
,此部分可以略过,如果你是企业云管理员或者云架构师,建议了解一下。
零信任基于显示验证,应用最小特权访问和始终假设违规的原则,建立了跨越多个防御层的全面控制平面:
身份(Identity)
Azure Active Directory 为你的人员,用于应用程序和进程的服务帐户以及你的设备分配身份和条件访问控制。
设备(也称为终结点,Endpoints)
Microsoft Endpoint Manager 确保设备及其安装的应用程序满足你的安全性和合规性策略要求
应用领域(Applications)
Microsoft Endpoint Manager 可用于配置和实施策略管理。 Microsoft Cloud App Security 可以发现和管理正在使用的 Shadow IT 服务。
网络(Network)
获取许多控件,包括网络分段,威胁防护和加密。
基础设施(Infrastructure)
Azure 着陆区,蓝图和策略可以确保新部署的基础架构满足云资源的合规性要求。 Azure 安全中心和 Log Analytics 帮助提供针对本地,跨云和跨平台基础结构的配置和软件更新管理。
数据(Data)
将数据访问限制为仅需要它的人员和流程。
下图提供了构成零信任的主要元素的表示形式。
在图中可以看出:
做架构必须了解,如果考试初级,可以跳过
在高层上,Azure Cloud Zero Trust 旨在围绕云环境构建一个安全边界。一般多层保护(例如身份和访问管理、数据保护、网络安全和威胁保护)用于保持此边界。个人感觉这种设计类似于传统的隔离设计。Azure 云为高层设计提供了几个关键组件,包括:
身份与访问管理:Azure 云使用 Azure Active Directory (AAD) 进行身份管理。AAD 提供多因素认证(MFA)和条件访问策略,确保只有授权用户才能访问云环境。
数据保护:Azure 云提供加密、数据防丢失和信息权限管理,保护静止和传输中的数据。这个比较好理解,在数据库层次,这些都有加密手段,我说的是在 Azure 中,如果安全级别较高,可以选用是否加密进行保护等。
网络安全:Azure 云提供虚拟网络隔离、分布式拒绝服务(DDoS)保护和网络安全组,以防止基于网络的攻击。
威胁防护:Azure 云提供先进的威胁分析、安全信息和事件管理(SIEM)以及安全自动化和编排,以检测和减轻实时威胁。
Azure Cloud Zero Trust 的低层级设计涉及通过详细配置和策略实现安全边界。低层级设计的一些关键组成部分包括:
网络分割:将云环境划分为多个子网,每个子网代表不同的信任级别。网络安全组用于在每个子网上实施网络流量策略。
身份和访问管理策略:创建条件访问策略,确保只有授权用户才能访问云环境。基于角色的访问控制(Role-based access control, RBAC)实现最小特权原则。
数据保护策略:对数据进行分类、加密、防止数据丢失,实现数据在静止和传输过程中的保护。
威胁保护策略:SIEM、高级威胁分析以及安全自动化和编排用于实时检测和减轻威胁。
这里举一个 对 Azure IaaS 基础设施应用零信任原则的架构图,方便了解学习:
可口可乐是另一个实现零信任模型以保护其云环境安全的公司。公司使用 Azure Active Directory 进行身份和访问管理,使用 Azure Security Center 进行威胁防护,这里只是举例说明,另外下面的架构图并不是可口可乐公司,只是参照而已。
多个 IaaS 组件和元素,包括从不同网站访问应用程序的不同类型的用户和 IT 消费者。比如 Azure、互联网、本地办公和分支机构。
常见的三层应用程序,包括前端层、应用层和数据层。所有层都运行在名为 SPOKE 的 VNet 中的虚拟机上。对应用程序的访问受到另一个名为 HUB 的 VNet 的保护,该 VNet 包含额外的安全服务。
Azure 上支持 IaaS 应用程序的一些最常用的 PaaS 服务,包括基于角色的访问控制(RBAC)和 Azure 活动目录(Azure AD)。这些有助于零信任安全方法。
存储块(Storage blob)和存储文件(Storage file)为应用程序和用户共享的文件提供对象存储。
在 Azure 云中实现零信任需要仔细的计划和执行。高层和低层设计提供了一个构建安全云环境的框架。现实生活中的例子表明,零信任是云环境安全的一个理论概念和实际解决方案。通过遵循本文中概述的最佳实践,组织可以实现零信任模型,为其 Azure 云环境提供强大的安全性。
https://learn.microsoft.com/en-us/azure/security/fundamentals/zero-trust
https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-overview
https://www.youtube.com/watch?v=LE52xoYlFvs&ab
https://learn.microsoft.com/zh-cn/security/zero-trust/deploy/overview