学习 AZ-500:什么是纵深防御 (DiD)?
正在为 AZ-500 考试做准备?了解纵深防御 (DiD) 最佳实践将对准备认证和增强组织对常见攻击媒介的防御能力大有裨益。
目录
什么是纵深防御策略?
纵深防御策略利用多种安全措施来保护组织的资产。这确保当一个控制措施失败时,另一个控制措施可以随时保护 IT 系统。专注于纵深防御最佳实践的安全态势涉及七个层面:
- 物理安全
- 身份和访问
- 周长
- 网络
- 计算
- 应用
- 数据
纵深防御为何如此重要?
每个 DiD 层都很重要,应该独立保护。例如,身份和访问应该分开安全地管理,以防止身份被利用。在如今重点转向以身份为中心的安全的情况下,这一点尤为重要:如果身份是安全的,那么他们可以访问的资源也是安全的。
为什么要转向以身份为中心的安全?
随着组织从私有云环境转向公共云环境,这种向以身份为中心的安全性的转变也随之而来。过去,组织拥有本地环境,其身份存在于私有云中,网络边界位于外边缘。重点是该网络边界 — 它的位置使其成为最大的攻击面。
随着向公共云的迁移,身份成为新的外边缘。我们基于公共云的身份服务跨越了我们的网络边界和我们通过网络访问的其他基于公共云的资源。这使得身份成为新的最大的攻击面。
纵深防御类比:守卫你的数字城堡
使用这个 DiD 类比来思考表面积:
如果你要围攻一座中世纪城市,你会先攻击市中心戒备森严的防御工事,还是先攻击守卫较少的外围,然后再慢慢向市中心进攻?我不是军事战略迷,但我认为历史数据表明,大多数入侵者会首先攻击外围。为什么?因为他们可以利用他们击败的每一层的资源,在向市中心进攻的过程中进行连续攻击。
这就是纵深防御的作用所在。通过这种方法,我们可以从外向内加强防御,因为我们知道大多数威胁都会从这些外层开始,作为其主要攻击媒介。同时,我们将每一层都强化到其最大功能状态。当我们保护每一层时,我们可以阻止大多数不良行为者,并在攻击者成功时减缓他们的攻击速度,让我们有时间做出适当的反应。
七层纵深防御
由于 DiD 是一个难以理解的概念,因此让我们在组织中实施 DiD 战略的背景下对这七个层进行逐一分解。
第一层:物理安全
物理安全是现实世界的外边缘,因为即使公共云技术取得了所有进步,我们仍然拥有数据中心。我们还没有弄清楚如何在零维空间中运行我们的环境。因此,即使我们已经从私有云(我们管理数据中心)转移到公共云(供应商管理数据中心),我们仍然需要依靠物理控制来保护这些现实世界的数据中心。
我们谈论的是安全警卫、摄像头、生物识别、RFID 卡、陷阱、大门、双人开关、钥匙和硬件加密(如 FIPS 140-X)等控制措施。这些物理控制措施可能会开始累积,而这正是公共云真正大放异彩的地方。在 Azure 中,我们不必担心这些物理控制措施(好吧,我们仍然会担心,但我们不必担心对它们负责)。Microsoft 已经覆盖了这些措施,这减轻了组织的主要战略和财务负担。
物理安全与 AZ-500 并无太大关系。我们必须相信我们的供应商正在实施物理安全控制。但我们应该进行尽职调查并审查服务合同和服务条款,以确保它们满足组织需求。
第 2 层:身份和访问
在公共云(特别是 Azure)中,身份和访问管理 (IAM) 来自 Microsoft 基于云的服务的核心,即 Microsoft Entra ID。Entra ID 是基于 IAM 的服务,可确保我们身份的安全。它还提供安全功能,例如:
- 基于组的资源访问控制
- 身份保护以检测风险
- 控制外部身份协作
- 多重身份验证 (MFA)
- 单点登录 (SSO)
- 条件访问策略,根据各种策略条件控制对资源的访问
- 特权身份管理 (PIM) 允许以受控和记录的方式将权限提升至资源
- 基于角色的访问控制按身份资源访问和计算、网络和存储资源访问进行细分
对于我们想要实施纵深防御策略的组织来说,情况会是怎样的呢?本文的重点是公共云,因此我们将从身份中心的角度来讨论这个问题。
让我们谈谈 Microsoft Entra ID
Entra ID 是身份提供者,我们可以在其中创建身份资源,例如用户、资源/应用程序和组。它也是为这些身份资源提供访问管理以及保护它们免遭利用的安全功能的服务。在我们的 Entra ID 实例(又称租户)上,我们可以创建云原生用户。或者,我们可以与我们本地环境中的现有目录服务集成,例如业界的黄金标准 Active Directory 域服务 (AD DS)。
无论我们选择哪种方式,我们都可以在租户级别实现安全功能,以保护身份并使用角色分配提供对资源的访问。借助这些功能,我们可以:
- 使用 MFA 保护身份验证尝试
- 使用身份保护检测有风险的登录或用户行为
- 使用条件访问策略强制执行用户的身份验证要求
- 控制来自外部组织的外部合作
Microsoft Entra ID 角色
对于授权,我们可以使用条件访问策略根据特定条件控制对资源的访问。我们还有两个基于角色的授权引擎,称为 Entra ID 角色,它们根据分配的角色授予对身份资源的访问权限 - 例如,需要访问权限来管理一组用户的用户管理员。
Microsoft Azure 角色
对于在 Azure 订阅中运行的公共云资源的资源访问,我们有 Azure 角色。Azure 角色为需要访问虚拟机 (VM)、存储帐户、Azure SQL 实例和虚拟网络等资源的用户提供角色分配。
最小特权原则
需要关注的最重要的事情是最小特权原则 (PoLP):授予用户履行其角色所需的最小权限。*我们希望启用质询和监控身份的安全控制,以便我们可以防止攻击,或者至少快速识别攻击,以便我们可以立即禁用受损用户的访问权限并执行访问审查以确定事件的影响。
*Azure 中隐式拒绝访问。您必须明确允许它...这是一件好事。
第 3 层:周界
“这种事不会发生在我们身上。” ——你们组织在不可避免的事情发生前的最后一句话
DDoS(分布式拒绝服务)攻击最早出现在 20 世纪 70 年代中后期,自那时起就一直是威胁。快速搜索“DDoS 攻击统计数据”,您会发现 2022 年大约发生了 1300 万次攻击。随着越来越多的设备上线,这一数字继续呈上升趋势。这让我们只剩下一个选择:保护我们的周边或可公开访问的资源。
DDoS 攻击:风险何在
在 Azure 中,可公开访问的资源是指可公开路由的资源,例如组织的电子商务网站、合作伙伴门户或流媒体平台。如果您可以通过互联网访问它,则存在遭受 DDoS 攻击的风险。DDoS 攻击尤其具有破坏性,因为它们会破坏关键服务,从而造成经济损失。它们也很难阻止,因为它们来自受感染设备的机器人网络,这些设备充当代理并从控制器设备执行恶意操作。
由于这种攻击与真实流量几乎难以区分,我们发现自己处于一个矛盾的境地。我们希望允许使用我们公共资源的人的流量,我们希望阻止来自恶意设备的流量。这就是 DDoS 保护发挥作用的地方。
Azure 中的 DDoS 保护
Azure 中的 DDoS 保护是一项平台管理的安全功能,默认情况下处于启用状态。DDoS 保护使用 AI 和机器人网络流量监控来确定 DDoS 攻击何时发生。拥有本地环境的组织必须管理自己的解决方案。但 Azure Basic 保护是内置的。在 Azure 中,我们可以为虚拟网络购买更高级别的保护,并配备专门的响应团队——在保护边界时要记住这一点。
第 4 层:网络
除了富有创意的服务名称之外,我们确实需要保护我们的网络。在本地环境中,网络是私有云资源。Azure 与之类似,但网络是虚拟的,我们保护这些虚拟网络的方式与保护本地网络的方式相同。如何保护?通过网络虚拟设备 (NVA) 和路由配置实施安全规则,强制流量通过 NVA,在 NVA 中对其进行检查并发送到最终批准的目的地或进行阻止和报告以供审核。
Azure 中的网络保护
在 Azure 中,这种保护以用户定义的路由、网络安全组 (NSG) 和 Azure 防火墙的形式提供。(您也可以使用下一代第三方防火墙,但我们不会在这里讨论这些。)
如果您的组织拥有中心辐射型网络拓扑或其变体,则可以实施防火墙以提供用于过滤流量的集中资源。您可以将用户定义的路由注入虚拟网络后面运行的虚拟路由器,以强制流量进入防火墙,并在防火墙上创建规则来控制该流量。此外,您可以使用 NSG(充当有状态网络访问控制 (NACL))通过安全规则控制虚拟网络接口卡 (vNIC) 或子网范围内的流量。
第 5 层:计算
在公共云中,我们拥有计算资源(虚拟机、容器实例、Kubernetes 工作负载、应用服务、功能)来执行诸如……之类的任务。这些资源为工作负载提供计算能力,使应用程序能够运行并执行任务。我们如何保护计算资源以及我们实施该安全性的责任取决于我们在设置资源时选择的任何即服务 (XaaS) 类型。
示例:保护虚拟机
例如,保护虚拟机的操作系统、应用程序以及这些应用程序下的任何代码比保护应用服务需要承担更多的责任。您无需管理应用程序的底层操作系统 — Microsoft 会对其进行修补和强化。
假设您有一个在 Azure VM 和 Azure SQL 上运行的两层单片应用程序。使用 Azure VM,您可以管理修补和操作系统强化以保护 VM、VM 磁盘的加密配置以及如何访问这些资源(通常使用强化的跳转盒,但最好使用 Azure Bastion)。
再次强调,这可能会根据计算服务而改变。只要您在巩固计算资源时保持谨慎,并在实施这些服务的安全性时概述您的责任和能力即可。
第 6 层:应用程序
保护应用程序可能是一项艰巨的任务,因为它们通常是公开访问的。但好消息是:在公共云中保护它们与在私有云中保护它们类似。
保护公共云中的应用程序
您可以使用 TLS/SSL 加密传输中的数据,通过加密应用程序与其客户端之间的流量来保护应用程序。在 Azure 中,您可以使用 Key Vault 等服务来管理加密证书,以便将它们用于您的应用程序,从而防止中间人 (MITM) 攻击等。使用 Azure 中的应用程序,您甚至可以提供网络集成,以允许流量通过私有网络流动。
例如,假设我们在 Azure 中有一个应用程序,本地用户想要访问它。他们可以使用私有端点通过本地和 Azure 虚拟网络之间的私有网络连接来访问它。如果此应用程序访问在 Azure 之外运行的数据库,我们可以使用混合连接通过公共互联网提供对我们数据库的安全访问。
归根结底,它归结为了解应用程序的出站和入站流量并为该流量实施加密和安全路径。
第 7 层:数据
数据才是真正的资产。这也是组织首先建立所有这些基础设施的原因。无论您是否意识到这一点,您都从事数据业务。您的工作是保护数据并确保数据包在不被嗅探的情况下到达目的地。并且不要忘记确保单个关键组件上的一个错误配置不会让您的组织受到攻击。
如何保护 Azure 中的数据
在 Azure 中,您可以通过执行数据分类、数据库审核和数据屏蔽等操作以及为敏感数据实施数据加密标准来保护数据。例如,如果您的组织有一个存储包含个人身份信息 (PII) 的敏感数据的数据库,您将需要实施数据库分类来指定哪些数据是敏感的,以便您确切地知道要保护什么。
数据屏蔽和数据审计
一旦确定了敏感数据,您就可以设置数据屏蔽来屏蔽部分数据,或者实施加密以确保数据在必要时始终处于加密状态。最后,您可以执行数据库审核以确保一切按预期运行。我们可以使用 Azure SQL 数据库完成所有这些操作。此外,在 Azure 中的这些平台即服务 (PaaS) 模型上,我们可以使用以数据平面为中心的 Azure 角色来提供对数据的访问,并将数据权限与控制平面分开。
从网络角度看,我们可以控制数据的访问方式——公共互联网、私有网络等。在保护数据时,您需要考虑上述所有因素。如果您是第一次开发纵深防御,我建议对数据进行分类(这样您就知道需要保护什么),然后跟踪这些数据以查看其流向何处(这样您就可以确定哪些地方可能存在风险)。
回到 AZ-500
您可以看到解决纵深防御问题有多么困难。我保证,如果您将其分解为各个层,那么在您的组织中实施这些纵深防御策略将变得更加容易。这让我们回到了 AZ-500 认证。AZ -500 认证准备课程将教您:
- 纵深防御策略
- 如何准备认证
- 作为一名合格的安全工程师,如何实施纵深防御
感谢阅读。我们平台上见。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~