如果你仔细阅读整章,就会非常清楚,你不能使用旧的安全方法应对今天的挑战和威胁。当我们提及旧方法时,指的是21世纪初如何处理安全问题,当时唯一的考虑是有一个良好的防火墙来保护边界环境,并在端点上安装防病毒软件。因此,确保你的安全态势做好应对这些挑战的准备非常重要。要做到这一点,你必须在不同的设备上巩固当前的保护系统,无论其外形尺寸如何。
让IT和安全运营部门能通过增强检测系统快速识别攻击也很重要。最后但同样重要的是,有必要通过提高响应过程的有效性来快速响应攻击,从而缩短感染和遏制之间的时间。基于此,我们可以有把握地说,安全态势由三个基本支柱组成,如图1.9所示。
图1.9 有效安全态势的三大支柱:保护、检测和响应
这些支柱必须固化;如果过去预算的大部分都被投入到保护之中,那么现在更有必要将这种投资和努力分散到所有支柱上。这些投资不仅限于技术安全控制,还必须在包括管理控制在内的其他领域进行。建议执行自我评估,以从工具的角度确定每个支柱中的弱点。许多公司随着时间的推移不断发展,从未真正更新其安全工具以适应新的威胁环境和攻击者利用漏洞的方式。
一家具有增强安全态势的公司不应该出现在前面提到的统计数据中(从渗透到检测之间的229天),响应应该是近乎即时的。要实现这一点,必须具备更好的事件响应流程,并使用可以帮助安全工程师调查安全相关问题的现代工具。
第2章将更详细地介绍事件响应,第14章将介绍一些与实际安全调查相关的案例研究。
接下来的内容将涵盖在计划改进整体安全状况时应该考虑的一些重要因素,首先是安全状况的包容性方法(零信任),然后重点关注安全状况管理中需要注意的特定领域。
当谈到整体安全状况的改善时,有必要建立一个零信任架构(Zero Trust Architecture,ZTA)。虽然你可能阅读了许多不同供应商关于零信任的文章,但是ZTA的最终供应商无关的来源是NIST 800-207零信任标准。如果希望采用与供应商无关的方法来实现零信任,那么你必须阅读这部分内容。无论供应商如何实施ZTA,你都必须了解以下核心原则:
●在ZTA中,不存在可信网络,甚至企业内部网络也不完全可信:这是一个重要的原则,因为其思想是总假设威胁行为者存在并积极地试图攻击企业以获取其资产。
●许多设备将位于公司网络上,并且许多设备不归公司所有:随着自带设备的增长,假设用户将使用各种各样的设备,而公司不一定拥有这些设备,这一点至关重要。
●资源的可信性无法继承:这符合第一个原则,但能扩展到任何资源,而不仅仅是网络基础设施。如果你已经在使用假定入侵方法(这将在本章后面讨论),你可能已经对资源之间的通信是否可信持怀疑态度。这个原则基本上是把它带到下一个层次,并且已经假设你不能固有地信任一个资源,你需要验证它。
●跨公司和非公司基础设施移动的资产应具有一致的安全策略和状态:保持资产安全策略一致和拥有资产安全警察是确保采用ZTA的关键原则。
虽然NIST 800-207标准定义了六个核心原则,但其他两个原则基本上是前面列出的第一个原则和第二个原则的扩展。
要构建ZTA,你需要假设无论位置如何,都有威胁存在,并且用户的凭据可能会被泄露,这意味着攻击者可能已经在你的网络内部。如你所见,当ZTA应用于网络时,它更像是一种网络安全的概念和方法,而不是技术本身。虽然许多供应商会宣传其实现零信任网络的解决方案,但最终,零信任不仅仅是供应商销售的一种技术。
从网络的角度来看,实现零信任网络的一种常见方式是使用设备和用户的信任声明来访问公司的数据。仔细想想,ZTA方法利用了“身份是你的新边界”这一概念,你会在第7章中看到更多细节。
既然不能信任任何网络,那么边界本身就变得没有过去那么重要了,身份就成了需要保护的主要边界。
要实现ZTA,至少需要以下组成部分:
●身份提供者。
●设备目录。
●条件策略。
●利用这些属性授予或拒绝对资源进行访问的访问代理。
图1.10展示了作为零信任架构的一部分的信任属性。
该方法的最大优点在于,与同一用户正在使用另一设备并且从他们可以访问的另一位置登录时相比,当用户从特定位置和从特定设备登录时,可能无法访问特定资源。基于这些属性的动态信任概念增强了基于访问特定资源的上下文的安全性。因此,这完全改变了在传统网络架构中使用的固定安全层。
图1.10 ZTA架构的信任属性
Microsoft Azure活动目录(Azure Active Directory,Azure AD)是身份提供者的一个示例,它也具有内置的条件策略、能注册设备,并可用作访问代理来授予或拒绝对资源的访问。
实施零信任网络是一个漫长的过程,很多时候需要几个月才能完全实现。第一步是确定资产,如数据、应用程序、设备和服务。这一步非常重要,因为这些资产将帮助你定义业务流程,换句话说,这些资产将如何通信。在这里,必须了解这些跨资产访问背后的历史,并建立定义这些资产之间流量的新规则。
这些只是一些问题示例,它们将帮助你确定流量、条件以及最终的信任边界。下一步是定义策略、日志记录级别和控制规则。现在一切就绪,你可以开始执行以下操作:
●谁应该有权访问已定义的应用程序集?
●这些用户将如何访问该应用程序?
●这个应用程序如何与后端服务器通信?
●这是云原生应用程序吗?如果是,此应用程序是如何进行身份验证的?
●设备位置是否会影响数据访问?如果影响,怎么做?
最后一部分是定义主动监视这些资产和通信的系统。这样做不仅是为了审计,也是为了检测。如果正在发生恶意活动,那么你必须尽可能快地意识到这一情况。
理解上述阶段至关重要,因为在实施阶段,还需要处理采用零信任网络模型的供应商的术语和技术。每个供应商可能有不同的解决方案,当有一个异构环境时,你需要确保不同的部分可以协同工作来实现该模型。
当公司开始迁移到云环境时,由于引入了新的工作负载,威胁环境发生了变化,因此公司在保持安全态势方面面临的挑战会增加。根据Ponemon Institute LLC进行的2018年全球云数据安全研究(2018年1月),美国49%的受访者表示:
“不确定他们的组织了解云计算应用程序、平台或基础设施服务的使用情况。”
根据Palo Alto 2018云安全报告(2018年5月),62%的受访者表示云平台的错误配置是云安全的最大威胁。从这些统计数据中我们可以清楚地看到,缺乏对不同云工作负载的可见性和可控性,这不仅会在应用过程中带来挑战,还会减缓向云的迁移。在大型组织中,由于采用分散的云策略,该问题会变得更加困难。这通常是因为公司内的不同部门会引领自己的云计算之路,包括从计费到基础设施的角度。当安全运营小组意识到这些孤立的云应用时,这些部门已经在生产中使用应用程序并与公司内部网络集成。
要在整个云工作负载中获得适当的可见性,不能只依靠一套完善的流程来实现,你还必须拥有一组正确的工具。根据Palo Alto 2018年云安全报告(2018年5月),84%的受访者表示“传统的安全解决方案要么根本不管用,要么功能有限。”
这会得出一个结论,理想情况下,你应该在开始迁移到云之前评估你的云提供商的云原生安全工具。然而,当前的许多场景与理想情况相去甚远,这意味着你需要在工作负载已经存在的情况下评估云提供商的安全工具。
当谈到云安全态势管理(Cloud Security Posture Management,CSPM)时,我们指的是三个主要功能:可见性、监控和合规保证。
CSPM工具应该能查看所有这些功能,并提供发现新工作负载和现有的工作负载的能力(理想情况下,跨越不同的云提供商),识别错误配置并提供建议以增强云工作负载的安全状况,同时,评估云工作负载以与监管标准和基准进行比较。表1.5列出了CSPM解决方案的一般考虑因素。
表1.5 CSPM解决方案的考虑因素
这些考虑因素为大多数CSPM解决方案提供了一个有价值的起点,但是你可能会发现,根据特定公司的独特需求,还需要考虑更多的要点。
COVID-19加速了数字化转型,许多公司开始迅速采用云计算技术来维持业务,或扩展其现有能力。面对这一现实,我们还可能注意到,在过去的两年中,多云的采用有所增长,客户关注的是冗余和灾难恢复,并避免供应商锁定。随之而来的是一个新的挑战,即如何从一个集中的位置保持对整个多云的可见性和控制力。
这种新的现实促使供应商开始致力于跨云提供商的集成,并增强其云安全态势管理和工作负载保护产品,以覆盖多种云设施。在Ignite 2021上,微软宣布将Azure安全中心和Azure Defender更改为Microsoft Defender for Cloud。更名的目的是确保市场能够将Microsoft Defender for Cloud视为一个既可以保护Azure中的工作负载又可以保护不同云提供商中的工作负载的解决方案。这种新格式的主要功能之一是在单一控制面板中查看与CSPM相关的建议,如图1.11所示。
图1.11 跨Azure、AWS和GCP的CSPM建议
在图1.11中,你可以看到一个用于选择环境(云提供商)的筛选器,如果你想查看你配置连接的所有云提供商的所有建议,则可以保持所有筛选器处于选中状态,并根据图标观察Azure、AWS和GCP中的资源之间的差异。
同样常见的是,在采用多云的情况下,你的大部分资源将位于一个云提供商处,而其他一些资源将在不同的云提供商处。这意味着,当你计划选择CSPM/CWPP时,需要根据你所拥有的大多数工作负载的重要性来评估平台的能力。换句话说,如果你的大部分资源都在Azure中,你会希望确保你的CSPM/CWPP解决方案将全套功能原生集成在Azure中。除此之外,请确保你选择的解决方案至少具备以下能力:
●能够为每个云提供商和工作负载创建定制评估。
●随着时间的推移,安全态势进度的可见性,以及将影响安全态势增强的安全建议的优先级。
●跨基于计算的工作负载的漏洞评估。
●将安全控制与合规标准对应起来的能力。
●为每种工作负载类型创建威胁检测。
●通过工作流自动化集成事件响应。
你选择的解决方案应该具备上述所有能力,甚至更多,这取决于你的特定需求。