自动部署-堆栈 - 开启自动安全响应 AWS

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

自动部署-堆栈

注意

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

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

部署时间:大约 30 分钟

先决条件

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

部署概述

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

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

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

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

步骤 1:启动管理堆栈

  • aws-sharr-deploy.template AWS CloudFormation 模板启动到您的 AWS Security Hub 管理员帐户。

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

  • 选择要使用的现有 Orchestrator 日志组(Yes如果先前安装中SO0111-SHARR-Orchestrator已存在,请选择)。

步骤 2:将修正角色安装到每个 AWS Security Hub 成员账户中

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

  • 为 AWS Security Hub 管理员帐户输入 12 位数的账户 IG。

步骤 3:启动成员堆栈

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

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

  • 选择要安装的剧本。

  • 输入 AWS Security Hub 管理员账户的账户 ID。

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

  • 以每个成员账户为单位删除所有补救措施。此为可选步骤。

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

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

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

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

    1. 输入堆栈的名称。

    2. 将提供URI给您的 Jira 实例。

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

    4. 在 Secrets Manager 中创建一个新的键值密钥,用于存放你的 Jira Username 和。Password

      注意

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

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

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

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

    1. 输入堆栈的名称。

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

    3. 提供您的 ServiceNow 表名。

    4. 在中创建一个API密钥,该密钥 ServiceNow 具有修改您要写入的表的权限。

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

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

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

步骤 1:启动管理堆栈

重要

该解决方案中包含向 AWS 发送匿名运营指标的选项。我们使用这些数据来更好地了解客户如何使用此解决方案以及相关服务和产品。通过这种调查收集的数据归 AWS 所有。数据收集受 AWS 隐私声明的约束。

要选择退出此功能,请下载模板,修改 AWS CloudFormation 映射部分,然后使用 AWS CloudFormation 控制台上传模板并部署解决方案。有关更多信息,请参阅本指南的匿名数据收集部分。

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

注意

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

  1. 使用当前配置 AWS Management Console 的 AWS Security Hub 账户登录,然后使用下面的按钮启动aws-sharr-deploy.template AWS CloudFormation 模板。

    aws-sharr-deploy.template launch button

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

  2. 默认情况下,该模板在美国东部(弗吉尼亚州北部)区域启动。要在其他AWS地区启动此解决方案,请使用 AWS Management Console 导航栏中的区域选择器。

    注意

    此解决方案使用 AWS Systems Manager 目前仅在特定 AWS 地区可用的解决方案。该解决方案适用于所有支持该服务的地区。要了解按区域划分的最新可用情况,请参阅 AWS 区域服务列表

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

  4. 指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。有关命名字符限制的信息,请参阅《AWS Identity and Access Management 用户指南》中的IAM和STS限制

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

    参数 默认值 描述
    加载 SC 管理堆栈

    yes

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

    no

    指定是否安装管理组件以自动修复FSBP控件。
    加载 CIS12 0 管理堆栈

    no

    指定是否安装管理组件以自动修复 CIS12 0 个控件。
    加载 CIS14 0 管理堆栈

    no

    指定是否安装管理组件以自动修复 CIS14 0 个控件。
    加载 CIS3 00 管理堆栈

    no

    指定是否安装管理组件以自动修复 CIS3 00 个控件。
    加载PC1321管理堆栈

    no

    指定是否安装管理组件以自动修复PC1321控件。
    加载NIST管理堆栈

    no

    指定是否安装管理组件以自动修复NIST控件。
    重用 Orchestrator 日志组

    no

    选择是否重复使用现有的SO0111-SHARR-Orchestrator CloudWatch 日志组。这简化了重新安装和升级,而不会丢失先前版本的日志数据。如果您要从 v1.2 或更高版本升级,请选择yes

    使用 CloudWatch 指标

    yes

    指定是否启用用于监控解决方案的 CloudWatch 指标。这将创建一个用于查看指标的 CloudWatch 控制面板。
    使用 CloudWatch 指标警报

    yes

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

    5

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

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

    EnableEnhancedCloudWatchMetrics

    no

    如果yes,则会创建其他 CloudWatch 指标,以便在 CloudWatch 仪表板上IDs单独跟踪所有控制并作为 CloudWatch 警报进行跟踪。

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

    TicketGenFunctionName (可选输入)

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

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

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

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

您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的状态。您将在大约 15 分钟后收到 CREATE _ COMPLETE 状态。

步骤 2:将补救角色安装到每个 Sec AWS urity Hub 成员账户中

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

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

    aws-sharr-member-roles.template launch button

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

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

  4. 指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。有关命名字符限制的信息,请参阅《Identity an IAM d Access Managem AWS ent 用户指南》中的和STS限制。

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

    参数 默认值 描述
    命名空间 <Requires input> 输入最多 9 个小写字母数字字符的字符串。此字符串成为IAM角色名称的一部分。对成员堆栈部署和成员角色堆栈部署使用相同的值。
    Sec Hub 账户管理员 <Requires input> 输入 AWS Security Hub 管理员账户的 12 位数账户 ID。此值向管理员账户的解决方案角色授予权限。
  6. 配置堆栈选项页面上,请选择下一步

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

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

    您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的状态。您将在大约 5 分钟后收到 CREATE _ COMPLETE 状态。在加载此堆栈的同时,您可以继续执行下一步。

步骤 3:启动成员堆栈

重要

该解决方案中包含向 AWS 发送匿名运营指标的选项。我们使用这些数据来更好地了解客户如何使用此解决方案以及相关服务和产品。通过这种调查收集的数据归 AWS 所有。数据收集受AWS隐私政策的约束。

要选择退出此功能,请下载模板,修改 AWS CloudFormation 映射部分,然后使用 AWS CloudFormation 控制台上传模板并部署解决方案。有关更多信息,请参阅本指南的 “运营指标收集” 部分。

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

  1. AWS Management Console 针对每个 AWS Security Hub 成员帐户(包括管理员帐户,该帐户也是成员)登录。选择按钮启动aws-sharr-member.template AWS CloudFormation 模板。

    aws-sharr-member.template launch button

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

  2. 默认情况下,该模板在美国东部(弗吉尼亚州北部)区域启动。要在其他AWS地区启动此解决方案,请使用 AWS Management Console 导航栏中的区域选择器。

    注意

    该解决方案使用 AWS Systems Manager,目前在大多数 AWS 地区都可用。该解决方案适用于所有支持这些服务的地区。要了解按区域划分的最新可用情况,请参阅 AWS 区域服务列表

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

  4. 指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。有关命名字符限制的信息,请参阅《AWS Identity and Access Management 用户指南》中的IAM和STS限制

  5. 参数页面上,指定以下参数并选择下一步

    参数 默认值 描述
    提供用于创建指标筛选器和警报的名称 LogGroup

    <Requires input>

    指定用于 CloudWatch CloudTrail 记录API呼叫的 Logs 组的名称。这用于 CIS 3.1-3.14 的补救措施。
    加载 SC 成员堆栈 yes 指定是否安装用于自动修复 SC 控件的成员组件。
    加载AFSBP成员堆栈

    no

    指定是否安装成员组件以自动修复FSBP控件。
    加载 CIS12 0 成员堆栈

    no

    指定是否安装成员组件以自动修复 CIS12 0 个控件。
    加载 CIS14 0 成员堆栈

    no

    指定是否安装成员组件以自动修复 CIS14 0 个控件。
    加载 CIS3 00 个成员堆栈

    no

    指定是否安装成员组件以自动修复 CIS3 00 控件。
    加载PC1321成员堆栈

    no

    指定是否安装成员组件以自动修复PC1321控件。
    加载NIST成员堆栈

    no

    指定是否安装成员组件以自动修复NIST控件。
    为 Redshift 审计日志创建 S3 存储桶

    no

    选择yes是否应为 FSBP RedShift .4 修复创建 S3 存储桶。有关 S3 存储桶和补救措施的详细信息,请查看《用户指南》中的 Redshift.4 补救措施。AWS Security Hub

    Sec Hub 管理员账户

    <Requires input>

    输入 Sec AWS urity Hub 管理员账户的 12 位数账户 ID。
    命名空间

    <Requires input>

    输入最多 9 个小写字母数字字符的字符串。此字符串将成为IAM角色名称和 Action Log S3 存储桶的一部分。对成员堆栈部署和成员角色堆栈部署使用相同的值。对于一般用途 S3 存储桶,此字符串必须遵守 Amazon S3 命名规则。
    EnableCloudTrailForASRActionLog

    no

    选择yes是否要在 CloudWatch 仪表板上监控解决方案执行的管理事件。该解决方案会在您选择的每个成员账户中创建一个 CloudTrail 跟踪yes要了解由此产生的额外成本,请参阅 “成本” 部分。

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

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

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

您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的状态。您将在大约 15 分钟后收到 CREATE _ COMPLETE 状态。

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

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

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

  2. 选择更新

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

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

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

    注意

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

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

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

  8. 选择更新堆栈

您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的状态。您将在大约 15 分钟后收到 CREATE _ COMPLETE 状态。