使用 Tenable.cs 和 HashiCorp Terraform Cloud 管理和修复云基础设施错误配置漏洞
因可预防的错误配置造成云数据泄露事件越来越多。下面介绍如何使用 Tenable.cs 和 Terraform Cloud 之间的全新集成降低风险。
当今的云环境具有高度动态的特点,不断有新的软件更新发布到生产环境中,而且工作负载也会根据客户需求增大和缩小。在几分钟内,云工程师就可以启动资源并将其完全部署到云中。不过,随着速度增加数倍的同时,风险也随之增加。由错误配置引起的系统漏洞经常被忽视,并且可能经过几个月都未被检测到。因此,云数据泄露不论在规模上还是在速度上都在增加。从 2018 到 2020 年,单单因云基础设施错误配置造成的 200 起数据泄露事件中,就暴露了 300 亿条记录。
您如何降低因云错误配置造成的数据泄露概率?在本博客文章中,我们介绍 Tenable 和 HashiCorp 如何通过 Tenable.cs 和 Terraform Cloud Run Tasks 的全新集成帮助解决此问题。
云调配和 Terraform 简介
云资源调配是部署云工作负载的关键一环。尽管大多数云提供商都有自己的调配实用程序,但 Hashicorp Terraform 等业界最佳工具所具备的优势是云提供商无法达到的。使用开源基础设施即代码 (IaC) 工具 Terraform 来调配基础设施可为您提供许多环境管理和运营优势。Hashicorp Configuration Language (HCL) 能够将可重用的基础设施模块标准化,使其可跨项目和环境使用。当启用基础设施时,Terraform 会读取环境的当前状态,并确定将环境配置为 IaC 中定义的状态所需的任何更改。这简化了复杂架构的管理流程,因为如果手动维护该流程,可能容易遭到破坏。IaC 支持对代码进行版本控制,并为调配和配置基础设施的方式提供更佳的可见性。
Terraform 的关键安全考虑事项
Terraform 还提供安全方面的好处。围绕基础架构调配的工作流可用于保护环境免受安全问题的影响。在对环境中的任何更改强制使用 IaC 时,就可以对代码进行评估,以确保在调配基础设施之前发现存在的安全缺陷,并采取相应的缓解措施。可以通过 CI/CD 管道、闸门或其他自动化手段编码和实施安全或操作护栏,以确保环境符合策略。
虽然使用 Terraform 等工具简化了基础设施的管理,但还会经常发生云基础设施的严重配置错误。Terraform 环境漏洞管理的关键考虑部分包括:
- 密码管理: Terraform 需要凭据才能对调配代码中指定的基础设施所需的任何 API 操作进行授权。由于这些凭据提供了对您环境的创建、管理和销毁特权访问,因此应特别小心,确保不会将凭据暴露给未经授权的人员或流程。
- 系统状态管理:Terraform 会使用状态文件来跟踪已调配的基础设施资源状态。默认情况下,状态文件存储在用于执行 Terraform 的系统的本地文件系统中。不建议在源代码中持久保存状态文件,因为这些文件可能包含机密或其他敏感信息。
- 依赖性管理: Terraform 会使用名为“提供程序”的插件与代码中定义的资源进行远程 API 交互。执行“terraform init”命令时,这些插件将下载到执行 Terraform 的系统中。由于提供程序可以管理基础设施中的强大操作,因此请务必从可信来源下载这些插件,并在使用之前确认其未经篡改。
- 漂移管理: 在任何复杂的企业环境中,可能会在运行时通过“紧急因应”机制或其他方法进行手动更改。这些更改会在运行时环境和 Terraform 代码中定义的基础设施之间产生偏差,称为“漂移”。如果在源代码中没有更正,构建团队将继续使用旧版本,因而系统将不再符合安全要求。
有关 Terraform 安全关键考虑事项的更多信息,请阅读白皮书“专为 DevOps 设计的 Terraform 安全指南”。
使用 Tenable.cs 预防 Terraform 漏洞
Tenable.cs 是一款对开发人员友好的、云原生应用程序保护平台 (CNAPP),该平台支持企业保护云资源、容器映像和云资产的安全,提供从代码到云再到工作负载的端到端安全。要强制实施最佳实践,您可以使用 Terrascan 等静态代码分析工具评估您的代码。Terrascan 是一个由 Tenable 创建的开源项目,也是 Tenable.cs 的基础扫描引擎。Terrascan 包含数百个以 Rego 语言编写的跨多个提供程序的策略,并使用开放策略代理 (OPA) 引擎评估错误配置。这些策略可以扩展到囊括环境特定的任何标准。要将这些策略实施为工作流的一部分,可以在 CI/CD 管道中加入一项作业,使用 Terrascan 扫描 HCL 文件的更改,以查找安全问题。如果检测到问题,作业将失败,并显示一条错误消息,表明已发现需要解决的安全问题。
Tenable.cs 支持云运营和安全团队评估 Terraform 模板是否有违反策略的情形。您可以将云基础设施安全集成到 DevOps 管道中,以防止安全问题蔓延到生产环境中。您还可以直接在开发工具中快速修复 IaC 错误配置,就能同时在构建时和运行时强制实施策略。
新功能!! 使用 HashiCorp Terraform Cloud Run Tasks 增强了自动化修复支持
现在,Tenable 正在通过对 HashiCorp 的全新 Terraform Cloud Run Tasks 提供支持大幅提高了保护 Terraform 安全的能力。Terraform Cloud 提供了一个托管解决方案来构建和部署 Terraform 模板。使用新的 Terraform Cloud Run Tasks,您可以在 Terraform 云部署阶段中充分利用 Tenable.cs 来扫描您的 Terraform 模板。该集成支持 Terraform Cloud 客户在 Terraform 执行的规划阶段使用 Tenable.cs 检测其 IaC 内的任何问题。通过在 Tenable.cs 中增加对 Terraform Cloud Run Tasks 的支持,我们可以帮助开发人员检测和修复其 IaC 中的合规和安全风险,这样他们就可以在调配云基础设施之前缓解问题。
此外,了解确切的修复步骤可能非常耗时且极具挑战性。这就是在此集成中提供修复建议的原因,采用对与 Terraform 工作空间相关联的源代码存储库拉取请求的形式,帮助在 Terraform 模板调配之前修复其中发现的问题。客户可以充分利用 Tenable.cs 商业产品中的 1,500 多个策略在 Terraform Cloud 中执行深度扫描。如用户有兴趣查看设置指南,了解如何将 Tenable.cs 与 Terraform Cloud Workspace 相连,可以在这里查阅详细的文档。
要深入了解 Tenable.cs,请查阅产品资料或访问按需网络研讨会“全新推出 Tenable.cs:代码到云,全程护航”。
相关文章
- Announcements
- Cloud