启用和使用 AWS 漏洞评估

本页介绍了如何设置和使用 Amazon Web Services (AWS) 服务的漏洞评估。

如需为 AWS 启用漏洞评估,您需要在 AWS 平台上创建 AWS IAM 角色,在 Security Command Center 中启用 AWS 漏洞评估服务,然后在 AWS 上部署 CloudFormation 模板。

准备工作

要为 AWS 服务启用漏洞评估,您需要 IAM 权限和 Security Command Center 必须连接到 AWS。

角色与权限

若要完成 AWS 漏洞评估服务的设置,您需要获得在 Google Cloud 和 AWS 中都具有必要权限的角色。

Google Cloud 角色

Make sure that you have the following role or roles on the organization: Security Center Admin Editor (roles/securitycenter.adminEditor)

Check for the roles

  1. In the Google Cloud console, go to the IAM page.

    Go to IAM
  2. Select the organization.
  3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

  4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

Grant the roles

  1. In the Google Cloud console, go to the IAM page.

    前往 IAM
  2. 选择组织。
  3. 点击 授予访问权限
  4. 新的主账号字段中,输入您的用户标识符。 这通常是 Google 账号的电子邮件地址。

  5. 选择角色列表中,选择一个角色。
  6. 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
  7. 点击保存
  8. AWS 角色

    在 AWS 中,AWS 管理员用户必须创建您需要的 AWS 账号,以便启用扫描。

    如需在 AWS 中创建漏洞评估角色,请按以下步骤操作:

    1. 使用 AWS 管理员用户账号,前往 AWS 管理控制台中的 IAM Roles 页面
    2. Service or Use Case 菜单中选择 lambda
    3. 添加以下权限政策:

      • AmazonSSMManagedInstanceCore
      • AWSLambdaBasicExecutionRole
      • AWSLambdaVPCAccessExecutionRole
    4. 依次点击添加权限 > 创建内嵌政策,以创建新的权限政策:

      1. 打开以下页面并复制相应政策:适用于 AWS 漏洞评估的角色政策
      2. JSON 编辑器中,粘贴政策。
      3. 为政策指定名称。
      4. 保存政策。
    5. 打开 Trust Relationships(信任关系)标签页。

    6. 粘贴以下 JSON 对象,将其添加到任何现有语句数组中:

      {
        "Version": "2012-10-17",
        "Statement": [
           {
                 "Sid": "Statement1 or replace with a unique statementId",
                 "Effect": "Allow",
                 "Principal": {
                    "Service": "cloudformation.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
           }
        ]
      }
      
    7. 保存角色。

    您稍后在 AWS 上安装 CloudFormation 模板时会分配此角色。

    收集要扫描的 AWS 资源的相关信息

    在为 AWS 启用漏洞评估的步骤中,您可以自定义配置,以扫描特定 AWS 区域、用于标识 AWS 资源的特定标记,以及特定的硬盘驱动器 (HDD) 卷(SC1 和 ST1)。

    在配置 AWS 漏洞评估之前,请先准备好这些信息。

    确认 Security Command Center 已连接到 AWS

    AWS 服务的漏洞评估需要访问清单 使用 Security Command Center 时 Cloud Asset Inventory 维护的 AWS 资源 连接到 AWS 以进行漏洞检测。

    如果尚未建立连接,则需要设置一个 对 AWS 服务启用漏洞评估时发送通知。

    要设置连接,请参阅 连接到 AWS 以进行漏洞检测和风险评估

    在 Security Command Center 中为 AWS 启用漏洞评估

    必须在 Google Cloud 上启用 AWS Vulnerability Assessment, 组织级别。

    1. 前往 Security Command Center 中的设置页面:

      转到“设置”

    2. 选择需要为 AWS 启用漏洞评估的组织。 系统会打开设置页面的服务标签页。

    3. 漏洞评估服务卡片中,点击管理设置。此时将打开漏洞评估页面。

    4. 选择 Amazon Web Services 标签页。

    5. 服务启用下的状态字段中,选择启用

    6. AWS 连接器下,验证状态是否显示 AWS Connector added(已添加 AWS 连接器)。 如果状态显示未添加 AWS 连接器,请点击添加 AWS 连接器。 请先完成连接到 AWS 以进行漏洞检测和风险评估中的步骤,然后再执行下一步。

    7. 配置 AWS 计算和存储的扫描设置。要更改 默认配置,请点击修改扫描设置。 有关每个选项的信息,请参阅 自定义 AWS 计算和存储的扫描设置

    8. 扫描设置下,点击下载 CloudFormation 模板。 系统会将 JSON 模板下载到您的工作站。您需要在需要扫描漏洞的每个 AWS 账号中部署该模板。

    自定义 AWS 计算和存储的扫描设置

    本部分介绍了可用于自定义 AWS 资源扫描的选项。 在修改 AWS 漏洞评估扫描时,这些自定义选项位于 AWS 计算和存储的扫描设置部分下。

    您最多可以定义 50 个 AWS 代码和 Amazon EC2 实例 ID。对扫描设置所做的更改不会影响 AWS CloudFormation 模板。您无需重新部署模板。 如果标记或实例 ID 值不正确(例如该值拼写有误)和资源 指定的值不存在,则系统会在扫描过程中忽略该值。
    选项 说明
    扫描间隔 定义每次扫描的间隔小时数。请输入介于 6 到 24 之间的值。 默认值为 6。最大值为 24。 更频繁的扫描可能会导致资源使用量增加,并可能 费用。
    AWS 区域 选择要纳入漏洞评估扫描的部分区域。仅限实例
    所选区域的多个副本。请选择一个或多个 AWS 区域 将要包含在扫描中的对象。
    如果您在 Amazon Web Services (AWS) 连接器中配置了特定区域,请确保已选择区域 这些查询就是您之前定义的 配置了与 AWS 的连接
    AWS 标记 指定用于标识扫描的那部分实例的标记。仅具有 代码。 为每个代码输入键值对。如果指定了无效的标记,该标记将被忽略。 您最多可以指定 50 个标记。 如需详细了解标记,请参阅为 Amazon EC2 资源添加标记为 Amazon EC2 资源添加和移除标记
    按实例 ID 排除 指定 EC2 实例 ID。 您最多可以指定 50 个实例 ID。如果指定的值无效,系统会忽略这些值。 如果您定义了多个实例 ID,系统会使用 AND 运算符将这些 ID 组合起来。
    • 如果您选择按 ID 排除实例,请点击添加 AWS EC2 实例,然后输入每个实例 ID 以手动输入。
    • 如果您选择以 JSON 格式复制和粘贴要排除的一系列实例 ID, 请执行以下某项操作:
      • 输入一组实例 ID。例如:
        [ "instance-id-1", "instance-id-2" ]
      • 上传包含实例 ID 列表的文件。该文件的内容应为 实例 ID,例如:
        [ "instance-id-1", "instance-id-2" ]
    扫描 SC1 实例 选择扫描 SC1 实例以包含这些实例。 默认情况下,系统会排除 SC1 实例。
    详细了解 SC1 实例。
    扫描 ST1 实例 选择扫描 ST1 实例以包含这些实例。 默认情况下,系统会排除 ST1 实例。
    详细了解 ST1 实例。

    部署 AWS CloudFormation 模板

    1. 转到 AWS CloudFormation 模板 页面。
    2. 点击堆叠 > 包含新资源(标准)
    3. 创建堆栈页面上,依次选择选择现有模板上传模板文件,以上传 CloudFormation 模板。
    4. 上传完成后,请输入唯一的堆叠名称。请勿修改模板中的任何其他参数。
    5. 选择指定堆栈详情。系统随即会打开配置堆栈选项页面。
    6. 权限下,选择 IAM Vulnerability Assessment Role 之前创建的所有文件
    7. 点击下一步
    8. 勾选确认复选框。
    9. 点击提交以部署模板。堆栈需要几分钟时间 以便开始运行

    部署的状态会显示在 AWS 控制台中。如果 CloudFormation 模板部署失败,请参阅问题排查

    扫描开始运行后,如果检测到任何漏洞,系统会生成相应的发现结果并将其显示在 Google Cloud 控制台中的 Security Command Center 发现结果页面上。

    在控制台中查看发现结果

    您可以在 Google Cloud 控制台中查看 AWS 漏洞评估结果。 如需查看发现结果,最低 IAM 角色要求是 Security Center Findings Viewer (roles/securitycenter.findingsViewer)。

    如需在 Google Cloud 控制台中查看 AWS 发现结果的漏洞评估,请按以下步骤操作 步骤:

    Google Cloud 控制台

    1. 在 Google Cloud 控制台中,前往 Security Command Center 的发现结果页面。

      前往“发现结果”页面

    2. 选择您的 Google Cloud 项目或组织。
    3. 快速过滤条件部分的来源显示名称子部分中,选择 EC2 漏洞评估。发现结果查询结果会更新,以仅显示 来自此来源的发现结果。
    4. 如需查看特定发现结果的详细信息,请点击类别下的发现结果名称。通过 相应发现结果的详细信息面板随即会打开,并显示摘要标签页。
    5. 摘要标签页中,查看发现结果的详细信息,包括 检测到的内容、受影响的资源以及您可以采取的步骤(如果有) 来补救发现结果。
    6. 可选:如需查看发现结果的完整 JSON 定义,请点击 JSON 标签页。

    Security Operations 控制台

    1. 在 Security Operations 控制台中,前往发现结果页面。
      https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
      

      CUSTOMER_SUBDOMAIN 替换为您的客户专用标识符。

    2. Aggregations 部分中,点击以展开 Source Display Name 小节。
    3. 选择 EC2 漏洞评估。发现结果查询结果已更新为仅显示 来分析这个来源的发现结果
    4. 如需查看特定发现结果的详细信息,请点击类别下的发现结果名称。系统会打开发现结果的详细信息面板,并显示摘要标签页。
    5. 摘要标签页中,查看发现结果的详细信息,包括 检测到的内容、受影响的资源以及您可以采取的步骤(如果有) 来补救发现结果。
    6. 可选:如需查看发现结果的完整 JSON 定义,请点击 JSON 标签页。

    问题排查

    如果您已启用 AWS 漏洞评估服务,但扫描未运行,请检查以下内容:

    • 检查 AWS 连接器是否已正确设置。
    • 确认 CloudFormation 模板堆栈已完全部署。其在 AWS 账号中的状态应为 CREATION_COMPLETE