在运行时与构建时如何保护云计算基础设施

对于云原生环境来说,企业只在运行时采用安全措施已经不够。

在当今的云原生世界中,随着基础设施的飞速发展,大规模构建云计算环境需要可再现性和弹性,因此需要从一开始就优先考虑快速更改和扩展基础设施的能力。令人感兴趣的是,对于许多人来说,云计算安全性只与在运行时发生的错误配置和违规行为有关。

在运行时与构建时如何保护云计算基础设施

如果在构建时不关注流程和代码,就无法确定基础设施问题,这与企业设计和构建现代云计算基础设施的方式不符。如果构建不可变的基础设施,则需要开始考虑如何保护不可变的基础设施,而只是孤立地提高运行时的安全性是不够的。另一方面,如果只在构建时解决云计算安全风险,但缺乏生产基础设施的完整环境的话,也可能在云计算环境中留下漏洞。

以下将重点关注通过在构建时和运行云计算基础设施时扫描来检测安全问题,概述它们的价值和缺陷,以说明同时利用这方面的重要性。

运行时的云安全状态管理

为了应对云计算环境变得越来越复杂的局面,云计算提供商围绕云计算资源的管理提供了丰富的元数据和遥测技术。建立可持续的云安全计划需要对这些数据进行一致且可扩展的收集和分析。

技术社区主导的项目(如AWS公司的Prowler和谷歌云的Forseti)应运而生。这两个项目都率先使用了公开的API来收集配置数据并检查配置错误,实现了对部署后配置错误的检测。

现在,大多数云计算提供商都在其控制平台管理服务中包含了此类功能。使用AWS配置、Azure策略和Google资产清单等原生工具,获得云计算的基本可见性比以往任何时候都容易。

运行时的云安全性当然是最佳实践,但它也有其自身的优点和缺陷:

(1)变更追踪

运行时扫描遵循配置的实际状态。当以多种方法管理配置时,运行时扫描仍然是识别和评估随时间变化的配置的主要技术。

(2)符合法规要求

大多数受监管的行业现在需要持续的变更控制审计和跟踪。为了满足这些需求,大多数扫描程序都将它们的发现映射到行业基准。一旦控制被映射到基准部分,企业就可以使用扫描报告作为基准证据来满足大多数行业特定的需求和审核。

(3)接近实时结果

根据扫描频率,运行时扫描可以快速识别和分类正在进行的问题。将扫描程序连接到票证或监视工具可以帮助确保更快的响应和缓解。

(4)低信噪比

大多数扫描程序仍然严重依赖缺乏场景的确定性检测逻辑,从而导致一堆无关紧要的发现,尤其是对于资源寿命较短的动态环境。例如,在使用自动缩放的环境中,运行时扫描将在两次扫描之间返回不一致的结果,并产生不代表最新资源状态的输出。此外,扫描多方面的身份识别与访问管理(IAM)权限或完整的网络拓扑可能会错误地警告配置更改。

(5)不切实际的发现

标记错误配置后,最直接的问题通常是“我们该怎么做才能解决?”,如果修复单个云配置错误需要更多的人工步骤,或者无法还原配置,那么其升级最终浪费了开发人员宝贵的时间。

(6)重复的错误配置

对于利用基础设施代码框架来协调云计算资源的团队而言,只是在运行时修复错误配置会带来重复发生的风险。为了确保不会发生云计算配置错误,必须在源头进行补救。

构建时云安全状态管理

在构建时云计算基础设施扫描配置并不是什么新鲜事。识别编码错误已经有一段时间了,尤其是在应用程序安全中。然而,随着基础设施作为大规模提供云计算资源的代码的兴起,这种方法的应用在过去几年中得到了极大的扩展。

以代码方式管理的扫描配置使用与运行时扫描程序相同的高级策略,并搜索相同的资源及其配置状态。通过使用基础设施即程序代码(IaC)扫描程序(例如开放源代码工具Checkov),配置文件被视为独立的清单,用于描述如何配置资源和设置属性。

通过应用在运行时解决云计算安全性方面获得的许多经验教训,可以使用构建时扫描来发现其他有价值的方面和缺点:

(1)可行的调查结果

通过在代码中列出并管理配置,可以更容易地找到导致配置错误的确切属性和参数。

(2)合作解决

通过所有代码的检测和响应,每个开发人员都可以帮助解决持续存在的问题。通过在同一工具中统一检测和补救,可以更轻松地从一开始就将云计算安全性构建到日常工作流程中。

(3)自动响应

通过以机器可读语言识别和修复问题,可以更轻松地开发自动化功能,以零接触或几乎没有人员的接触来查找和修复配置。自动化是大规模构建和维护安全云计算基础设施的关键。

(4)不相关的发现

仅在构建时检测到的配置问题可能只代表更完整配置态势的一部分。例如,假设一个组织在运行时管理网络组件并在构建时计算资源,知道已加固的VPC或安全组将确保外人无法访问它,因此可以很容易地抑制暴露在全球互联网上面向EC2的标识。

(5)缺少场景

完全依赖于构建时的发现而没有在运行时将其归因于实际的配置状态,可能会导致配置冲突。例如,尝试加密以前未加密的数据库实例可能无法进行更改,因为大多数托管数据库服务事后不允许进行加密。

(6)部分覆盖

尽管不断增长,但作为代码框架的基础设施却无法支持所有公共可用的云计算服务。当围绕它开发错误配置检测策略时,对构建的有限支持也会转化为局限性。

两全其美的做法

随着云计算服务和配置框架比以往任何时候都多,面临的安全挑战要求在整个运营和开发生命周期中采用统一的方法来管理云计算安全。

这就是行业专家认为在云计算基础设施在构建时和运行时进行扫描不是一种竞争策略而是一种完善策略的原因。

相关推荐