启用和使用 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

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

    如果尚未建立连接,则您必须在启用 AWS 漏洞评估服务时设置连接。

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

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

    您必须在 Google Cloud 的组织级层启用 AWS 漏洞评估。

    1. 前往 Security Command Center 中的风险概览页面:

      前往“风险概览”页面

    2. 选择要为其启用 AWS 漏洞评估的组织。

    3. 点击设置

    4. 漏洞评估卡片中,点击管理设置漏洞评估页面随即打开。

    5. 选择 Amazon Web Services 标签页。

    6. 服务启用部分中,将状态字段更改为启用

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

    8. 配置 AWS 计算和存储的扫描设置。如需更改默认配置,请点击修改扫描设置。如需了解每种选项,请参阅自定义 AWS 计算和存储的扫描设置

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

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

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

    您最多可以定义 50 个 AWS 标记和 Amazon EC2 实例 ID。对扫描设置所做的更改不会影响 AWS CloudFormation 模板。您无需重新部署模板。 如果标记或实例 ID 值不正确(例如,拼写有误),并且指定的资源不存在,则系统会在扫描期间忽略该值。
    选项 说明
    扫描间隔 输入每次扫描之间的间隔时间(以小时为单位)。有效值的范围为 6 到 24。默认值为 6。扫描频率越高,资源使用量就越大,计费费用也可能会随之增加。
    AWS 区域

    选择要纳入漏洞评估扫描的部分区域。

    系统只会扫描所选区域中的实例。选择一个或多个要包含在扫描中的 AWS 区域

    如果您在 Amazon Web Services (AWS) 连接器中配置了特定区域,请确保在此处选择的区域与您在 配置与 AWS 的连接时定义的区域相同或属于其子集。

    AWS 代码 指定标记,用于标识要扫描的实例子集。系统只会扫描具有这些标记的实例。输入每个代码的键值对。如果指定的标记无效,系统会忽略该标记。您最多可以指定 50 个标记。如需详细了解标记,请参阅 为 Amazon EC2 资源添加标记 为 Amazon EC2 资源添加和移除标记
    按实例 ID 排除

    通过指定 EC2 实例 ID,从每次扫描中排除 EC2 实例。 您最多可以指定 50 个实例 ID。如果指定了无效值,系统会忽略这些值。如果您定义了多个实例 ID,系统会使用 AND 运算符将它们组合在一起。

    • 如果您选择按 ID 排除实例,请点击添加 AWS EC2 实例,然后输入每个实例 ID 以手动输入。
    • 如果您选择复制并粘贴一系列要排除的实例 ID(采用 JSON 格式),请执行以下任一操作:

      • 输入实例 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 Management Console 中的 AWS CloudFormation 模板页面。
    2. 依次点击 Stacks > With new resources (standard)
    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 标签页。

    安全运维控制台

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

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

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

    问题排查

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

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