View a markdown version of this page

自动部署-堆栈 - AWS 上的自动安全响应

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

自动部署-堆栈

注意

对于多账户客户,我们强烈建议使用进行 StackSets部署。

在启动解决方案之前,请查看本指南中讨论的架构、解决方案组件、安全性和设计注意事项。请按照此部分中的分步说明操作,以配置该解决方案并将其部署到您的账户中。

部署时间:大约 30 分钟

先决条件

在部署此解决方案之前,请确保 AWS Security Hub 与您的主账户和辅助账户位于同一 AWS 区域。如果您之前部署过此解决方案,则必须卸载现有解决方案。有关更多信息,请参阅更新解决方案。

部署概述

使用以下步骤在 AWS 上部署此解决方案。

(可选)步骤 0:启动票证系统集成堆栈

  • 如果您打算使用票务功能,请先将票务集成堆栈部署到您的 Security Hub 管理员帐户中。

  • 从该堆栈复制 Lambda 函数名称并将其作为输入提供给管理堆栈(参见步骤 1)。

第 1 步:启动管理堆栈

  • 在您的 automated-security-response-admin.template AWS 安全中心管理员账户中启动 AWS CloudFormation 模板。

  • 选择要安装的安全标准。

  • 选择要使用的现有 Orchestrator 日志组(选择之前安装的日志组Yes是否SO0111-ASR-Orchestrator已存在)。

第 2 步:将补救角色安装到每个 AWS 安全中心成员账户中

  • 将 automated-security-response-member-roles.template AWS CloudFormation 模板启动到每个成员账户的一个区域。

  • 输入 AWS 安全中心管理员账户的 12 位数账户 ID。

第 3 步:启动成员堆栈

  • 指定用于 CIS 3.1-3.14 修复的 CloudWatch 日志组的名称。它必须是接收 CloudWatch CloudTrail 日志的日志日志组的名称。

  • 选择是否安装修复角色。仅为每个账户安装这些角色一次。

  • 选择要安装的剧本。

  • 输入 AWS 安全中心管理员账户的账户 ID。

步骤 4:(可选)调整可用的补救措施

  • 以每个成员账户为基础移除所有补救措施。此为可选步骤。

(可选)步骤 0:启动票证系统集成堆栈

  1. 如果您打算使用票务功能,请先启动相应的集成堆栈。

  2. 选择为 Jira 提供的集成堆栈或 ServiceNow,或者将它们用作实现您自己的自定义集成的蓝图。

    要部署 Jira 堆栈,请执行以下操作:

    1. 输入堆栈的名称。

    2. 向您的 Jira 实例提供 URI。

    3. 为要向其发送票证的 Jira 项目提供项目密钥。

    4. 在 Secrets Manager 中创建一个新的密钥值密钥,用于保存您的 Jira Username 和. Password

      注意

      您可以选择使用 Jira API 密钥代替密码,方法是将用户名提供为Username,将 API 密钥提供为。Password

    5. 将此密钥的 ARN 作为输入添加到堆栈中。

      提供堆栈名称、Jira 项目信息和 Jira API 证书。

      Jira 票务系统集成堆栈配置

      Jira 字段配置:

      有关自定义 Jira 票证字段的信息,请参阅部署步骤 0 中的 Jira 字段配置部分。 StackSet

      要部署 ServiceNow 堆栈,请执行以下操作:

    6. 输入堆栈的名称。

    7. 提供您的 ServiceNow 实例的 URI。

    8. 提供您的 ServiceNow 表名。

    9. 在中 ServiceNow 创建一个 API 密钥,有权修改您打算写入的表。

    10. 使用密钥在 Secrets Manager 中创建密钥,API_Key并将密钥 ARN 作为堆栈的输入提供。

      提供堆栈名称、 ServiceNow 项目信息和 ServiceNow API 凭证。

      ServiceNow 票务系统集成堆栈配置

      要创建自定义集成堆栈:添加一个 Lambda 函数,解决方案协调器 Step Functions 可以在每次补救时调用该函数。Lambda 函数应采用 Step Functions 提供的输入,根据您的票证系统的要求构造负载,并请求您的系统创建票证。

第 1 步:启动管理堆栈

重要

该解决方案包括数据收集。我们使用这些数据来更好地了解客户如何使用此解决方案以及相关服务和产品。通过此调查收集的数据归 AWS 所有,数据收集受 AWS 隐私声明的约束。

这个自动化 AWS CloudFormation 模板在 AWS 云中部署 AWS 解决方案上的自动安全响应。在启动堆栈之前,必须启用 Security Hub 并完成先决条件。

注意

您应承担运行此解决方案时使用的 AWS 服务的成本。有关更多详细信息,请参阅本指南中的成本部分,并参阅本解决方案中使用的每项 AWS 服务的定价网页。

  1. 从当前配置 AWS 安全中心的账户登录 AWS 管理控制台,然后选择下面的按钮启动 automated-security-response-admin.template AWS CloudFormation 模板。

    automated-security-response-admin-template launch button

    您也可以下载模板作为自己实施的起点。

  2. 默认情况下,该模板在美国东部(弗吉尼亚州北部)区域启动。要在不同的 AWS 区域启动此解决方案,请使用 AWS 管理控制台导航栏中的区域选择器。

    注意

    该解决方案使用 AWS 系统管理器,该管理器目前仅在特定的 AWS 区域可用。该解决方案适用于支持此服务的所有地区。有关各地区的最新可用性,请参阅 AWS 区域服务列表。

  3. 在创建堆栈页面上,验证 Amazon S3 URL 文本框中是否有正确的模板 URL,然后选择下一步。

  4. 在指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。有关命名字符限制的信息,请参阅 AWS 身份和访问管理用户指南中的 IAM 和 STS 限制。

  5. 在 “参数” 页面上,选择 “下一步” 。

    参数 默认值 说明

    加载 SC 管理堆栈

    yes

    指定是否安装用于自动修复 SC 控件的管理组件。

    加载 AFSBP 管理堆栈

    no

    指定是否安装用于自动修复 FSBP 控件的管理组件。

    加载 CIS120 管理堆栈

    no

    指定是否安装用于自动修复 CIS120 控件的管理组件。

    加载 CIS140 管理堆栈

    no

    指定是否安装用于自动修复 CIS140 控件的管理组件。

    加载 CIS300 管理堆栈

    no

    指定是否安装用于自动修复 CIS300 控件的管理组件。

    加载 PCI321 管理堆栈

    no

    指定是否安装用于自动修复 PCI321 控件的管理组件。

    加载 NIST 管理堆栈

    no

    指定是否安装用于自动修复 NIST 控件的管理组件。

    重用 Orchestrator 日志组

    no

    选择是否重复使用现有SO0111-ASR-Orchestrator CloudWatch 日志组。这简化了重新安装和升级,而不会丢失先前版本的日志数据。yes如果此账户中先前部署的Orchestrator Log Group仍然存在,则重复使用现有Orchestrator Log Group选择,否则no。如果您要从 v2.3.0 之前的版本执行堆栈更新,请选择 no

    ShouldDeployWebUI

    yes

    部署 Web 用户界面组件,包括 API 网关、Lambda 函数和 CloudFront 分发。选择 “是” 以启用基于 Web 的用户界面以查看调查结果和修复状态。

    AdminUserEmail

    (可选输入)

    初始管理员用户的电子邮件地址。该用户将拥有对 ASR Web UI 的完全管理权限。仅在启用 Web UI 时才需要。

    使用 CloudWatch 指标

    yes

    指定是否启用用于监控解决方案的 CloudWatch 指标。这将创建一个用于查看指标的 CloudWatch 仪表板。

    使用 CloudWatch 指标警报

    yes

    指定是否为解决方案启用 CloudWatch 指标警报。这将为解决方案收集的某些指标创建警报。

    RemediationFailureAlarmThreshold

    5

    为每个控制 ID 的修复失败百分比指定阈值。例如,如果您输入5,则当控制 ID 在给定日期失败的补救超过 5% 时,您将收到警报。

    此参数仅在创建警报时起作用(请参阅使用 CloudWatch 指标警报参数)。

    EnableEnhancedCloudWatchMetrics

    no

    Ifyes,创建其他 CloudWatch 指标以在 CloudWatch 仪表板上单独跟踪所有控件 ID,并以 CloudWatch 警报形式进行跟踪。

    请参阅 “成本” 部分,了解由此产生的额外费用。

    TicketGenFunctionName

    (可选输入)

    可选。如果您不想集成票务系统,请留空。否则,请提供步骤 0 的堆栈输出中的 Lambda 函数名称,例如:SO0111-ASR-ServiceNow-TicketGenerator。

注意

部署或更新解决方案 CloudFormation 堆栈后,必须在管理员帐户中手动启用自动修复。

  1. 在配置堆栈选项页面上,请选择下一步。

  2. 在审核页面上,审核并确认设置。选中确认模板将创建 AWS Identity and Access Management(AWS IAM)资源的复选框。

  3. 选择 Create stack(创建堆栈)以部署堆栈。

您可以在 AWS CloudFormation 控制台的状态列中查看堆栈的状态。您应该在大约 15 分钟后收到 “创建_完成” 状态。

第 2 步:将补救角色安装到每个 AWS 安全中心成员账户中

只能在每个成员账户的一个区域中部署。automated-security-response-member-roles.template StackSet 它定义了允许通过 ASR Orchestrator 步骤函数进行跨账户 API 调用的全局角色。

  1. 为每个 AWS 安全中心成员账户(包括同时也是成员的管理员账户)登录 AWS 管理控制台。选择按钮启动 automated-security-response-member-roles.template AWS CloudFormation 模板。您也可以下载模板作为自己实施的起点。

    Launch solution

  2. 默认情况下,该模板在美国东部(弗吉尼亚州北部)区域启动。要在不同的 AWS 区域启动此解决方案,请使用 AWS 管理控制台导航栏中的区域选择器。

  3. 在创建堆栈页面上,验证 Amazon S3 URL 文本框中是否有正确的模板 URL,然后选择下一步。

  4. 在指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。有关命名字符限制的信息,请参阅 AWS 身份和访问管理用户指南中的 IAM 和 STS 限制。

  5. 在参数页面上,指定以下参数,然后选择下一步。

    参数 默认值 说明

    命名空间

    <Requires input>

    输入最多 9 个小写字母数字字符的字符串。将唯一的命名空间添加为修复 IAM 角色名称的后缀。成员角色和成员堆栈中应使用相同的命名空间。对于每个解决方案部署,此字符串应是唯一的,但在堆栈更新期间无需更改。每个成员账户的命名空间值不必是唯一的。

    Sec Hub 管理员账户

    <Requires input>

    输入 AWS 安全中心管理员账户的 12 位数账户 ID。此值向管理员账户的解决方案角色授予权限。

  6. 在配置堆栈选项页面上,请选择下一步。

  7. 在审核页面上,审核并确认设置。选中确认模板将创建 AWS Identity and Access Management(AWS IAM)资源的复选框。

  8. 选择 Create stack(创建堆栈)以部署堆栈。

    您可以在 AWS CloudFormation 控制台的状态列中查看堆栈的状态。您将在大约 5 分钟后看到 CREATE_COMPLETE 状态。在此堆栈加载期间,您可以继续执行下一步。

第 3 步:启动成员堆栈

重要

该解决方案包括数据收集。我们使用这些数据来更好地了解客户如何使用此解决方案以及相关服务和产品。通过此调查收集的数据归 AWS 所有,数据收集受 AWS 隐私声明的约束。

automated-security-response-member堆栈必须安装到每个 Security Hub 成员账户中。该堆栈定义了自动修复的运行手册。每个成员账户的管理员可以控制通过此堆栈可用的补救措施。

  1. 为每个 AWS 安全中心成员账户(包括同时也是成员的管理员账户)登录 AWS 管理控制台。选择按钮启动 automated-security-response-member.template AWS CloudFormation 模板。

    automated-security-response-member.template, Launch solution

您也可以下载该模板作为自己实现的起点。默认情况下,该模板在美国东部(弗吉尼亚州北部)区域启动。要在不同的 AWS 区域启动此解决方案,请使用 AWS 管理控制台导航栏中的区域选择器。

+

注意

该解决方案使用 AWS 系统管理器,目前在大多数 AWS 区域都可用。该解决方案适用于支持这些服务的所有地区。有关各地区的最新可用性,请参阅 AWS 区域服务列表。

  1. 在创建堆栈页面上,验证 Amazon S3 URL 文本框中是否有正确的模板 URL,然后选择下一步。

  2. 在指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。有关命名字符限制的信息,请参阅 AWS 身份和访问管理用户指南中的 IAM 和 STS 限制。

  3. 在参数页面上,指定以下参数,然后选择下一步。

    参数 默认值 说明

    提供用于创建指标筛选器和警报的名称 LogGroup

    <Requires input>

    指定用于记录 API 调用的 CloudWatch CloudTrail 日志组的名称。这用于 CIS 3.1-3.14 补救措施。

    加载 SC 成员堆栈

    yes

    指定是否安装用于自动修复 SC 控件的成员组件。

    加载 AFSBP 成员堆栈

    no

    指定是否安装用于自动修复 FSBP 控件的成员组件。

    加载 CIS120 成员堆栈

    no

    指定是否安装用于自动修复 CIS120 控件的成员组件。

    加载 CIS140 成员堆栈

    no

    指定是否安装用于自动修复 CIS140 控件的成员组件。

    加载 CIS300 成员堆栈

    no

    指定是否安装用于自动修复 CIS300 控件的成员组件。

    加载 PCI321 成员堆栈

    no

    指定是否安装用于自动修复 PCI321 控件的成员组件。

    加载 NIST 成员堆栈

    no

    指定是否安装用于自动修复 NIST 控件的成员组件。

    为 Redshift 审核日志记录创建 S3 存储桶

    no

    选择yes为 FSBP 修复创建 S RedShift.4 3 存储桶。有关 S3 存储桶和补救措施的详细信息,请查看 AWS 安全中心用户指南中的Redshift.4 补救措施。

    Sec Hub 管理员账户

    <Requires input>

    输入 AWS 安全中心管理员账户的 12 位数账户 ID。

    命名空间

    <Requires input>

    输入最多 9 个小写字母数字字符的字符串。此字符串成为 IAM 角色名称和操作日志 S3 存储桶的一部分。对成员堆栈部署和成员角色堆栈部署使用相同的值。对于每个解决方案部署,字符串应是唯一的,但在堆栈更新期间无需更改。

    EnableCloudTrailForASRActionLog

    no

    选择yes是否要在 CloudWatch 仪表板上监控解决方案执行的管理事件。该解决方案会在您选择的每个成员账户中创建 CloudTrail 跟踪yes。您必须将解决方案部署到 AWS 组织中才能启用此功能。此外,您只能在同一账户的单个区域启用此功能。请参阅 “成本” 部分,了解由此产生的额外费用。

  4. 在配置堆栈选项页面上,请选择下一步。

  5. 在审核页面上,审核并确认设置。选中确认模板将创建 AWS Identity and Access Management(AWS IAM)资源的复选框。

  6. 选择 Create stack(创建堆栈)以部署堆栈。

您可以在 AWS CloudFormation 控制台的状态列中查看堆栈的状态。您应该在大约 15 分钟后收到 “创建_完成” 状态。

步骤 4:(可选)调整可用的补救措施

如果您想从成员账户中删除特定的补救措施,可以通过更新安全标准的嵌套堆栈来实现。为简单起见,嵌套堆栈选项不会传播到根堆栈。

  1. 登录 A WS CloudFormation 控制台并选择嵌套堆栈。

  2. 选择更新。

  3. 选择 “更新嵌套堆栈”,然后选择 “更新堆栈” 。

    更新嵌套堆栈

    更新嵌套堆栈对话框
  4. 选择 “使用当前模板”,然后选择 “下一步” 。

  5. 调整可用的补救措施。将所需控件的值更改为,将不需要Available的控件的值更改为。Not available

    注意

    关闭补救措施会删除该解决方案的安全标准和控制的补救操作手册。

  6. 在配置堆栈选项页面上,请选择下一步。

  7. 在审核页面上,审核并确认设置。选中确认模板将创建 AWS Identity and Access Management(AWS IAM)资源的复选框。

  8. 选择更新堆栈。

您可以在 AWS CloudFormation 控制台的状态列中查看堆栈的状态。您应该在大约 15 分钟后收到 “创建_完成” 状态。