弥合合规差距:在软件开发生命周期的早期发现问题

作者: Ashok Mahajan, Om Vyas |

现代治理、风险与合规性 (GRC) 解决方案通常缺乏对软件开发生命周期 (SDLC) 的覆盖范围,尤其是对于直接在代码库中发现的基础设施即代码 (IaC) 配置错误。这在安全性和合规性方面留下了重大差距。修复生产中已确定的合规问题可能需要 20 多天,而 GRC 工具难以跟上工程团队部署的变更和新版本的快速步伐。GRC 解决方案通常被视为发展的障碍,而不是安全创新的推动力。

Drata 是 Amazon Marketplace 上可用的亚马逊云科技安全能力合作伙伴,已经发布了合规即代码,以弥合这一差距。Drata 的持续自动化安全与合规性监控平台执行、监控和收集从代码到生产的控制证据。

Drata 的"合规即代码"解决方案深度集成了各种亚马逊云科技服务,可将合规性无缝整合到您的云基础架构中。通过与 Amazon CloudFormation 集成,Drata 会自动扫描 IaC 并识别错误配置。对于使用 Amazon Lambda 进行无服务器计算的客户,Drata 提供专门的测试来保护运行时配置。对于基于 Amazon API Gateway 构建的 API 驱动架构,Drata 可以测试网络应用防火墙是否到位,以帮助满足关键的合规要求。Drata 和亚马逊云科技产品之间的这种紧密集成从一开始就将合规性纳入了开发流程,从而节省了时间,降低了风险,并从头开始确保云环境的安全性和合规性。

在这篇文章中,我们演示了 Drata 如何帮助亚马逊云科技客户加快云技术的使用,实现合规性自动化,并保持合规性。

当前方法面临的挑战

传统的合规工作带来了多种挑战,包括:

  • 变化率 — 通过快速开发和持续创新,工程团队可以使用亚马逊云科技云服务快速构建和交付新的特性和功能。IaC 还支持这种快速交付,因为这意味着用户可以使用代码定义其应用程序运行的服务(例如网络、计算或存储)。传统的 GRC 工具无法跟上 SDLC 内部变化的步伐。规模更大的安全和合规团队也很难手动审查每项变更并了解这些变更如何影响他们的控制和审计准备情况。
  • 风险增加 — 部署后发现问题时,会给业务带来更大的风险。风险可能从延迟审计准备到可能影响业务收入、声誉和客户信任的安全漏洞不等。
  • 重新架构的成本 — 合规性问题可能要求工程团队重新设计其应用程序,以解决所使用的服务或应用程序网络的配置方式。这些变更通常需要工程资源,并且会减缓开发过程,影响业务灵活性。

先决条件

要开始在整个开发生命周期中整合 Drata 合规即代码,您需要具备以下先决条件:

  1. 使用您的亚马逊云科技账户 ID 在 Amazon Marketplace 中查找并订阅 Drata。
  2. 接受 Amazon Marketplace 私人优惠。
  3. 订阅后,您可以访问和配置 Drata 平台。

解决方案概述

您可以将 Drata Compliance as Code 集成到您的版本控制系统(例如 GitHub 和 Bitbucket)中,以及持续集成和持续部署 (CI/CD) 工具(例如 GitHub Actions)。当对基础设施进行更改时,Compliance as Code 提供 30 多项测试,这些测试可扫描影响主流亚马逊云科技服务的合规性和安全性的错误配置。这些测试映射到内置控件和标准框架要求的库中,使团队能够快速了解错误配置如何影响其跨行业框架的 GRC 控制和要求,例如亚马逊云科技系统和组织控制 (SOC) 2、美国国家标准与技术研究所 (NIST) 和健康保险流通与责任法案 (HIPAA)。

然后,Drata 通过在亚马逊云科技客户的版本控制系统中创建自动拉取请求,为任何已发现的问题提供补救措施。拉取请求允许工程团队快速审查和应用 Drata 建议,以维护安全性和合规性。自动提交拉取请求有助于工程团队快速识别受影响的 GRC 控件、影响控制的基础设施配置以及如何修复它们。

下图演示了在整个开发生命周期工具中整合 Drata Compliance as Code 的简单本质。

图 1:Drata 主动实施控制措施并快速解决整个 SDLC 中的合规性和安全漏洞

图 1:Drata 主动实施控制措施并快速解决整个 SDLC 中的合规性和安全漏洞

图 2:解决方案架构

图 2:解决方案架构

解决方案演练:在软件开发生命周期的早期发现合规性问题

要将 Drata 合规即代码集成到您的版本控制系统中,请按照下一节中的步骤进行操作。

与 GitHub 集成

与 GitHub 集成是一个无缝的过程:

  1. 安装具有读取权限的 GitHub 应用程序,使 Drata 能够访问包含 IaC 资源(例如 Terraform)的存储库。Drata 需要写入权限才能创建带有代码变更建议的拉取请求。
  2. 使用代码库连接连接到 GitHub。在"连接"页面上,为"连接类型"选择"代码库"。单击"可用连接"选项卡。然后选择您的代码库提供商(例如 GitHub),如以下屏幕截图所示。
图 3:用户可以使用 Drata 快速连接到 GitHub

图 3:用户可以使用 Drata 快速连接到 GitHub

  1. 配置您的 GitHub 应用程序并选择要引入 Drata 的 IaC 存储库(推荐)。或者,你可以把它们全部带进去,也可以在 Drata 那端进行过滤。
图 4:用户可以配置要将哪些 IaC 存储库引入 Drata 或连接所有 IaC 存储库

图 4:用户可以配置要将哪些 IaC 存储库引入 Drata 或连接所有 IaC 存储库

  1. 将您的应用程序分支配置为扫描并选择是否创建拉取请求。
图 5:Drata 用户可以配置应用程序分支进行扫描,并可以选择创建拉取请求

图 5:Drata 用户可以配置应用程序分支进行扫描,并可以选择创建拉取请求

有关如何在 Drata 中自动监控和创建拉取请求的信息,请参阅 Drata 文档中的将 GitHub 代码连接到 Drata。

用户为存储库启用和配置 Drata Compliance as Code 后,Drata 将识别问题并自动创建包含建议的拉取请求,以解决影响控制的问题。

将 Drata 合规即代码集成到管道中(CI/CD 工具)

除了与版本控制系统集成外,您还可以将 Drata 合规即代码集成到您的 CI/CD 管道中。通过这样做,您可以在 CI/CD 管道内创建护栏,确保仅部署安全合规的基础架构。您可以将 Drata 测试合并到管道中进行部署之前运行。Drata 提供灵活的配置选项,允许组织创建符合您的政策和开发生命周期实践的护栏。

以下用例显示了 Drata 如何帮助识别和修复影响 GRC 控制的 IaC 错误配置。

站点可靠性工程师 (SRE) 正在帮助工程团队添加可以为客户提供数据分析的 API。面向公众的 API 需要亚马逊云科技的新组件和服务,例如 Amazon Lambda、Amazon CloudFront、Amazon DynamoDB 和 Amazon API Gateway。SRE 团队创建 Terraform 来定义如何实例化和配置新服务以及架构变更,以确保 API 可通过公共互联网使用。

将变更纳入版本控制系统后,Drata Compliance as Code 会扫描存储库中是否有任何更改,并确定促进合规性所需的控制措施。以下是正在运行的测试示例:

  1. TLS 强制执行 — 确保将云资源配置为使用安全协议加密网络通信。下图显示了"合规即代码"扫描示例,该扫描识别了配置不当的资源,导致 TLS 强制控制失败。
图 6:Drata 建议对 iAc 进行更改,其中包含指向版本控制系统的链接,以确定问题的确切位置

图 6:Drata 建议对 iAc 进行更改,其中包含指向版本控制系统的链接,以确定问题的确切位置

  1. 安全的运行时配置 — 确保安全配置您的云资源。在下图中,已使用"合规即代码"识别出与云资源运行时配置方式相关的潜在安全问题,并自动生成拉取请求。开发人员可以在其环境中观察问题和推荐的修复方法。
图 7:Drata 在 GitHub 中自动创建拉取请求

图 7:Drata 在 GitHub 中自动创建拉取请求

  1. Web 应用程序防火墙 — 确保正确配置 Web 应用程序防火墙。在下图中,Compliance as Code 会检查与您的云资源防火墙相关的潜在安全性和合规性风险,然后提供建议的修复方案。
图 8:Drata 针对安全合规的 AWS Web 应用程序防火墙配置提出的建议

图 8:Drata 针对安全合规的亚马逊云科技 Web 应用程序防火墙配置提出的建议

  1. 启用云存储版本控制 — 确保云存储分区启用了版本控制。在下图中,针对这种潜在的安全和合规性风险提供了推荐的指导。
图 9:Drata 为 S3 存储桶提供修复指导

图 9:Drata 为 S3 存储桶提供修复指导

亚马逊云科技和 Drata:构建安全合规云基础设施的主动方法

Drata 的"合规即代码"解决方案与亚马逊云科技云服务的广泛性相结合,为客户构建安全合规的云基础设施创造了一个强大的平台。通过使用 Drata 与关键的亚马逊云科技服务(例如 Amazon Lambda、Amazon Cloudfront、Amazon DynamoDB 和 Amazon API Gateway)的深度集成,您可以在开发工作流程中自动进行合规检查和补救。在部署到生产环境之前,尽早发现并解决问题,这样您就可以节省时间、降低风险并确认您的应用程序满足最严格的合规性要求。Drata 能够将错误配置映射到特定的控制框架,进一步简化了合规流程,为您提供了全面的可见性并提供了修复任何漏洞的途径。Drata 和亚马逊云科技共同使客户能够在云端快速创新,同时保持最高的安全性和合规性标准。

亚马逊云科技和 Drata 客户可以从亚马逊云科技服务的广度和范围中受益,同时保持从软件开发生命周期开始的主动合规性方法。Drata 是亚马逊云科技安全能力合作伙伴,是亚马逊云科技全球安全与合规加速 (GSCA) 计划的一部分,可在 Amazon Marketplace 上市。

清理:删除 GitHub 集成

删除 GitHub 集成是一个简单的两步过程:

  1. Drata 中导航到 GitHub 连接 — 在 Drata 中,导航到连接 > 活动连接 > GitHub 代码,找到你的 GitHub 连接。
图 10:Drata 中的连接屏幕

图 10:Drata 中的连接屏幕

  1. 断开 GitHub 帐户 — 在确认对话框中单击"确定"按钮断开 GitHub 帐户。
图 11:断开连接确认屏幕

图 11:断开连接确认屏幕

或者,你也可以从你的 GitHub 账户中删除 Drata 的应用程序。

  1. 导航到 GitHub 应用程序设置 — 单击"设置" > "GitHub 应用程序",然后选择 Drata 的应用程序,导航到 Drata 的 GitHub 应用程序。
图 12:GitHub 应用程序屏幕

图 12:GitHub 应用程序屏幕

  1. 卸载应用程序 — 单击"配置"按钮,然后选择"卸载"以删除该应用程序。
图 13:从 GitHub 卸载 Drata 应用程序

图 13:从 GitHub 卸载 Drata 应用程序

作者简介

Ashok Mahajan

Ashok Mahajan 是亚马逊云科技的高级解决方案架构师。Ashok 总部位于纽约都会区,是全球初创公司团队的一员,专注于安全初创公司,利用亚马逊云科技服务的广度和深度及其功能,帮助他们设计和开发安全、可扩展和创新的解决方案和架构,以提供可衡量的业务成果。Ashok 在信息安全领域拥有超过 18 年的经验,是 CISSP、访问管理专家和亚马逊云科技认证解决方案架构师,在金融、医疗保健和媒体领域拥有丰富的经验。

Om Vyas

Om Vyas 是 Drata 的高级产品总监,负责 Drata 的持续监控、自动化和合规即代码产品的战略和产品交付。在加入 Drata 之前,Om 与他人共同创立了 oak9,这是一家以开发者为先的云原生安全公司。Om 在信息安全、软件开发、DevOps 和云领域拥有 20 多年的经验。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。