自动修复 亚马逊云科技 Trusted Advisor 检测到的最佳实践偏差

亚马逊云科技 Trusted Advisor 会检查您的 亚马逊云科技 基础设施,并在有机会降低成本、优化 亚马逊云科技 基础设施、提高系统可用性和性能、帮助弥合安全漏洞和监控服务配额时提供最佳实践建议。Trusted Advisor 的建议基于 亚马逊云科技 服务专家确定的最佳实践,以及随着时间的推移为数千名客户提供服务的经验教训。

在这篇博客中,我们介绍了一种架构模式,您可以实施该模式来自动修复 亚马逊云科技 Trusted Advisor 检测到的最佳实践偏差。自动修复 亚马逊云科技 Trusted Advisor 的建议有助于:

  • 简化您的操作,
  • 快速响应安全漏洞
  • 维护优化的 亚马逊云科技 环境。

暴露的 IAM 访问密钥会给您的 亚马逊云科技 账户和用户带来安全风险。客户对访问密钥的安全和保障负有最终责任。在我们的示例中,我们将向您展示一个自动修复 暴露访问密钥 安全检查的解决方案。

解决方案概述

以下是一般方法:

  1. 登录 T ru st ed Advisor 控制台
  2. 确定安全建议: 使用 Trusted Advisor 来识别您的 亚马逊云科技 基础设施中的安全建议。Trusted Advisor 会检查常见的安全漏洞,例如 泄露的访问密钥 Amazon S3 存储桶权限 具有无限制访问 权限 的安全组 等等。可信顾问建议的详细列表可 在此处获取 。如果账户中启用了 亚马逊云科技 Security Hub,Trusted Advisor 将帮助识别在 亚马逊云科技 Security Hub 基础安全最佳实践 中报告的潜在安全 漏洞。
  3. 配置事件驱动的自动化: Amazon Event Bridge 中 订阅 Tr usted Advisor 事件,以接收有关您打算自动修复的事件的通知。使用亚马逊 EventBridge 规则 ,将事件转发到 亚马逊云科技 Lambda 目标
  4. 实施自动修复操作: 创建一个 Lambda 函数作为目标,以响应来自 Amazon EventBridge 的事件并执行修复步骤。
  5. 通知安全团队: 确保您的 Lambda 函数记录了所采取的补救措施的详细信息。使用 亚马逊简单通知服务 (Amazon SNS) 发送 有关自动修复状态的通知。

解决方案架构

下图说明了自动修复 亚马逊云科技 Trusted Advisor 安全检查 泄露访问密钥 建议的解决方案架构。

图 1:用于自动修复的解决方案架构

解决方案工作流程

解决方案工作流程由以下步骤组成:

1。Trusted Advisor 会检测到公开泄露的密钥,并将泄露的访问密钥安全事件发送到 EventBridge 中的默认事件总线。暴露访问密钥事件的结构如下所示:

{
  "version": "0",
  "id": "1234abcd-ab12-123a-123a-1234567890ab",
  "detail-type": "Trusted Advisor Check Item Refresh Notification",
  "source": "aws.trustedadvisor",
  "account": "123456789012",
  "time": "2018-01-12T19:38:24Z",
  "region": "us-east-1",
  "resources": [],
  "detail": {
    "check-name": "Exposed Access Keys",
    "check-item-detail": {
      "Case ID": "12345678-1234-1234-abcd-1234567890ab",
      "Usage (USD per Day)": "0",
      "User Name (IAM or Root)": "my-username",
      "Deadline": "1440453299248",
      "Access Key ID": "AKIAIOSFODNN7EXAMPLE",
      "Time Updated": "1440021299248",
      "Fraud Type": "Exposed",
      "Location": "www.example.com"
    },
    "status": "ERROR",
    "resource_id": "",
    "uuid": "aa12345f-55c7-498e-b7ac-123456781234"
  }
}

要使用亚马逊 EventBridge 监控 亚马逊云科技 Trusted Advisor 的检查结果,请在此处查看产品文档。

2。在亚马逊 EventBridge 中创建的规则会过滤掉与泄露访问密钥事件相匹配的 亚马逊云科技 Trusted Advisor 事件,如上面的步骤 1 所示。然后,它会触发 亚马逊云科技 Step F un ctions 启动修复工作流程。

3。步骤函数工作流通过调用三个不同的 Lambda 函数来修复安全漏洞,每个函数都完成一项特定任务。

4。Lambda 函数执行以下任务

4.1 Lambda 函数:delete_access_key_pair: 此函数禁用或删除 IAM 中暴露的访问密钥对
4.2。 Lambda 函数:lookup_cloud_trail_events: 此函数查询 亚马逊云科技 CloudTrail 日志,以获取与暴露的访问密钥关联的用户关联的最新 API 调用。默认查找间隔设置为 24 小时,但可以根据用户的偏好进行调整。
4.3。 Lambda 函数:notify_security: 此函数向收件人发送有关所采取的补救措施的通知。它包括由 Lambda 函数 “lookup_cloud_trail_events” 从 CloudTrail 日志中检索的数据。通过电子邮件订阅,可以向预先配置的 Amazon SNS 主题发送 警报。 用户可以根据需要自定义警报目的地和收件人。

Note: 亚马逊云科技 Trusted Advisor delivers events to Amazon EventBridge on a best effort basis. Events are not always guaranteed to be delivered to Amazon EventBridge. Automatic remediation workflows should be designed and implemented with caution. It is highly recommended to test and review the actions being performed to avoid unintended consequences or disruptions to your infrastructure.

技术架构实施

本节介绍如何在单个 亚马逊云科技 账户中或在 亚马逊云科技 组织内的多个账户中实现架构。

在单个 亚马逊云科技 账户中部署解决方案

部署此解决方案的先决条件是:

1。应在账户中启用可信顾问。

2。该账户必须拥有商业、企业入口或企业支持计划,才能为可信顾问推荐创建 EventBridge 规则。您可以从 亚马逊云科技 Support 中心验证您的账户支持 计划 。有关 亚马逊云科技 Support 计划的更多信息,请参阅 比较 亚马逊云科技 Support 计划

3。有关使用亚马逊 EventBridge 监控 亚马逊云科技 Trusted Advisor 检查结果的更多信息,请查看 A WS Trusted Advisor 和 EventBridge 页面

亚马逊云科技 Tru sted Advis or GitHub 上提供了使用 亚马逊云科技 CloudFormation 部署和测试解决方案的 更详细的分步指南。

在多账户 亚马逊云科技 组织中部署解决方案

随着您在 亚马逊云科技 上增长和扩展工作负载,亚马逊云科技 Organizations 可以帮助您集中管理环境。

要在 亚马逊云科技 Organizations 内的多个账户中实施该解决方案,必须将来自每个账户的 亚马逊云科技 Trusted Advisor 事件整合到一个指定的中央账户或监管账户中。

下图(图 2)说明了将解决方案扩展到拥有多个账户的 亚马逊云科技 组织的解决方案架构。亚马逊云科技 Trusted Advisor 事件将发送到每个成员账户的 “默认” 事件总线。这些事件被转发到中央治理账户的 EventBridge 中的目标事件总线。中央监管账户中的 EventBridge 规则会触发 亚马逊云科技 Step Functions 启动修复工作流程,以响应从参与的成员账户收到的事件。

Note: that 亚马逊云科技 Trusted Advisor events from all Regions within an account are delivered to the default event bus of EventBridge in the 亚马逊云科技 US East (N. Virginia) Region. Therefore, it is necessary for member accounts to configure EventBridge rules specifically for the “default” event bus in the 亚马逊云科技 US East (N. Virginia) Region.

图 2:跨多个组织账户进行部署的架构

这里讨论了一种使用亚马逊云科技 CloudFormation StackSets和CDK将来自成员亚马逊云科技 Organizations账户的EventBridge事件集中到中央账户的分步方法。

自定义解决方案

我们已经讨论了一种自动修复 Trusted Advisor 安全支柱中公开访问密钥建议的方法。这种架构模式可以扩展为自动修复其他安全建议以及来自 Trusted Advisor 容错、成本优化和性能支柱的建议。为此,请确定所需的 Trusted Advisor 建议以进行自动修复。推荐名称可以在 EventBridge 发布的事件的 “ 检查名称 ” 字段中找到。请参阅上面 “解决方案工作流程” 下的示例事件以供参考。按照上述部分中讨论的方法,在关联的目标 Lambda 函数中实施自定义修复操作。

有关自动修复 亚马逊云科技 Trusted Advisor 建议检测到的偏差的其他示例,请访问 亚马逊云科技 Trusted Advisor 工具 GitHu b。

结论

在这篇博客文章中,我们详细介绍了自动修复 亚马逊云科技 Trusted Advisor 建议的解决方案。该解决方案适用于单个 亚马逊云科技 账户和 亚马逊云科技 组织。该解决方案对于需要快速响应和持续保护您的 亚马逊云科技 资源的 亚马逊云科技 Trusted Advisor 建议非常有用。它消除了手动流程,因为它们容易出现人为错误。自动修复还允许同时解决多个资源或帐户,从而实现可扩展性,从而减轻管理员的负担。这种主动的方法缩小了漏洞窗口,最大限度地减少了与 亚马逊云科技 最佳实践建议的偏差,并维护了安全和优化的环境。

作者简介:

Manas Satpathi

Manas 是 亚马逊云科技 的首席技术客户经理。他喜欢与客户合作,帮助推动卓越运营,并在云端构建安全、有弹性和成本优化的解决方案。工作之余,玛纳斯喜欢烹饪、园艺、徒步旅行和看电影。

桑迪普·莫汉蒂·

桑迪普是亚马逊网络服务(亚马逊云科技)的高级解决方案架构师。他喜欢与客户合作,在云端构建现代解决方案,以充分发挥 亚马逊云科技 平台的潜力。离开 亚马逊云科技,Sandeep 喜欢通过公路旅行、徒步旅行和骑自行车探索户外美景。