使用 AWS Confi CloudTrail g 中的自定义补救规则自动重新启用 AWS - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS Confi CloudTrail g 中的自定义补救规则自动重新启用 AWS

由 Manigandan Shri (AWS) 创建

环境:生产

技术:基础设施;运营;安全性、身份、合规性

AWS 服务:亚马逊 S3;AWS Config;AWS KMS;AWS Identity and Access Management;AWS Systems Manager;AWS CloudTrail

Summary

可视化 Amazon Web Services (AWS) Account 中的活动是一项重要的安全和运营最佳实践。AWS CloudTrail 可帮助您对账户进行治理、合规以及运营和风险审计。

为了确保在您的账户中 CloudTrail 保持启用状态,AWS Config 提供了cloudtrail-enabled托管规则 如果已关闭, CloudTrail 则该cloudtrail-enabled规则会使用自动补救功能自动将其重新启用。

但是, CloudTrail 如果您使用自动修复,则必须确保遵循安全最佳实践。这些最佳实践包括在所有 AWS 区域 CloudTrail 中启用、记录读取和写入工作负载、启用见解以及使用 AWS 密钥管理服务 (AWS KMS) 托管密钥 (SSE-KMS) 托管密钥 (SSE-KMS) 使用服务器端加密对日志文件进行加密。

此模式通过提供自定义补救操作来自动 CloudTrail 在您的账户中重新启用,从而帮助您遵循这些安全最佳实践。

重要:我们建议使用服务控制策略 (SCP) 来防止任何篡改。 CloudTrail有关这方面的更多信息,请参阅 AWS 安全博客上的 “如何使用 AWS 组织大规模简化安全” 中的 “防止篡改 AWS” CloudTrail 部分。

先决条件和限制

先决条件

  • 一个有效的 Amazon Web Services account

  • 创建 AWS Systems Manager Automation 运行手册的权限

  • 您账户中的现有跟踪

限制

此模式不支持以下操作:

  • 设置存储位置的 Amazon Simple Storage Service (Amazon S3) 前缀密钥

  • 发布至 Amazon Simple Notification Service (Amazon SNS) 主题

  • 配置 Amazon CloudWatch 日志以监控您的 CloudTrail 日志

架构

在 AWS CloudTrail Config 中使用自定义补救规则重新启用 AWS 的工作流程

技术堆栈

  • AWS Config 

  • CloudTrail

  • Systems Manager

  • Systems Manager Automation

工具

代码

cloudtrail-remediation-action.yml 文件(附后)可帮助您创建 Systems Manager Automation 运行手册,以便 CloudTrail 使用安全最佳实践进行设置和重新启用。

操作说明

任务描述所需技能

创建 S3 存储桶。

登录 AWS 管理控制台,打开 Amazon S3 控制台,然后创建一个 S3 存储桶来存储 CloudTrail 日志。有关更多信息,请参阅 Amazon S3 文档中的创建 S3 存储桶

系统管理员

添加存储桶策略 CloudTrail 以允许将日志文件传送到 S3 存储桶。

CloudTrail 必须具有将日志文件传输到 S3 存储桶所需的权限。在 Amazon S3 控制台上,选择您之前创建的 S3 存储桶,然后选择权限。使用 CloudTrail 文档中的 A mazon S3 存储桶策略创建 S CloudTrail 3 存储桶策略。

有关如何向 S3 存储桶添加策略的步骤,请参阅 Amazon S3 文档中的使用 Amazon S3 控制台添加存储桶策略

重要:如果您在中创建跟踪时指定了前缀 CloudTrail,请确保将其包含在 S3 存储桶策略中。前缀是 S3 对象键的可选附加内容,可在 S3 存储桶中创建类似于文件夹的组织结构。有关这方面的更多信息,请参阅 CloudTrail 文档中的创建跟踪

系统管理员

创建 KMS 密钥。

在将对象添加到 S3 存储桶之前 CloudTrail ,为创建 AWS KMS 密钥以对其进行加密。有关本故事的帮助,请参阅文档中的使用 AWS KMS 托管密钥 (SSE-KMS) 加密 CloudTrail 日志文件。 CloudTrail

系统管理员

为 KMS 密钥添加密钥政策。

附加 KMS 密钥策略 CloudTrail 以允许使用 KMS 密钥。有关本故事的帮助,请参阅文档中的使用 AWS KM S 托管密钥 (SSE-KMS) 加密 CloudTrail 日志文件。 CloudTrail

重要: CloudTrail 不需要Decrypt权限。

系统管理员

AssumeRole 为 Systems Manager 创建运行手册

为 Systems Manager Automation 创建运行手册的AssumeRole。有关这方面的说明和更多信息,请参阅 Systems Manager 文档中的设置自动化

系统管理员
任务描述所需技能

创建 Systems Manager Automation 运行手册

使用 cloudtrail-remediation-action.yml 文件(附件)创建 Systems Manager Automation 运行手册。有关这方面的更多信息,请参阅 Systems Manager 文档中的创建 Systems Manager 文档

系统管理员

测试运行手册。

在 Systems Manager 控制台上,测试您之前创建的 Systems Manager 自动化运行手册。有关这方面的更多信息,请参阅 Systems Manager 文档中的运行简单的自动化

系统管理员
任务描述所需技能

添加 CloudTrail启用规则。

在 AWS Config 控制台上,选择规则,然后选择添加规则。在 Add rule 页面,选择 Add custom rule。在配置规则页面上,输入名称和说明,并添加 cloudtrail-enabled 规则。有关更多信息,请参阅 AWS Config 文档中的管理 AWS Config 规则

系统管理员

添加自动修复操作。

操作下拉列表,选择管理修复。选择 “自动修复”,然后选择您之前创建的 Systems Manager 运行手册。 

以下是必需的输入参数 CloudTrail:

  • CloudTrailName

  • CloudTrailS3BucketName

  • CloudTrailKmsKeyId

  • AssumeRole(可选)

以下输入参数默认设置为 true: 

  • IsMultiRegionTrail

  • IsOrganizationTrail

  • IncludeGlobalServiceEvents

  • EnableLogFileValidation

保留速率限制参数资源 ID 参数的默认值。选择保存

有关更多信息,请参阅 AWS Config 文档中的使用 AWS Config 规则修复不合规 AWS 资源

系统管理员

测试自动修复规则。

要测试自动修复规则,请打开 CloudTrail 控制台,选择 Tra il s,然后选择跟踪。选择停止日志记录,以关闭该跟踪的日志记录。当系统提示您确认时,选择停止记录。 CloudTrail 停止记录该跟踪的活动。

按照 AWS Config 文档中评估您的资源中的说明进行操作,确保该功能 CloudTrail 已自动重新启用。

系统管理员

相关资源

配置 CloudTrail

创建和测试 Systems Manager Automation 运行手册

在 AWS Config 中设置自动修复规则

其他资源

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip