AWS CSPM 入门编辑

概述编辑

此页面介绍如何使用云安全态势管理 (CSPM) 功能开始监控云资产的安全态势。

设置 AWS CSPM编辑

您可以通过注册单个云账户或注册包含多个账户的组织来设置 AWS CSPM。无论哪种方式,您都将首先添加 CSPM 集成,然后启用云账户访问。

添加 CSPM 集成编辑

  1. 在 Elastic Security 入门 页面上,单击 添加集成
  2. 搜索 CSPM,然后单击结果。
  3. 单击 添加云安全态势管理 (CSPM)
  4. 选择 AWS,然后选择 AWS 组织 以加入多个账户,或选择 单个账户 以加入单个账户。
  5. 为您的集成命名,使其与您要监控的 AWS 账户/组织的目的或团队相匹配,例如 dev-aws-account

设置云账户访问编辑

CSPM 集成需要访问 AWS 的内置 SecurityAudit IAM 策略,以便发现和评估云账户中的资源。有多种方法可以提供访问权限。

对于大多数用例,最简单的选项是使用 AWS CloudFormation 在 AWS 账户中自动配置必要的资源和权限。本节将介绍此方法以及几种手动选项。

CloudFormation(推荐)编辑
  1. 添加云安全态势管理 (CSPM) 集成 菜单的 设置访问权限 下,选择 CloudFormation
  2. 在新浏览器标签页或窗口中,以管理员身份登录到您要加入的 AWS 账户或组织。
  3. 返回 Kibana 标签页。单击页面底部的 保存并继续
  4. 查看信息,然后单击 启动 CloudFormation
  5. CloudFormation 模板将显示在新浏览器标签页中。
  6. 仅对于组织级部署,您必须在 CloudFormation 模板的 OrganizationalUnitIds 字段中输入要部署到的组织单元的 ID。您可以在 AWS 控制台中 AWS 组织 → AWS 账户 下找到它(它显示在组织名称下)。
  7. (可选)使用右上角的控件切换到您要部署到的 AWS 区域。
  8. 选中 功能 下的复选框以授权创建必要的资源。

    The Add permissions screen in AWS
  9. 在模板底部,选择 创建堆栈

返回 Kibana 后,单击 查看资产 以查看新集成正在收集的数据。

组织级加入的手动身份验证编辑

如果您要加入单个账户而不是组织,请跳过本节。

在组织级使用手动身份验证时,您需要使用 AWS 控制台为要部署到的组织配置必要的权限

  • 在组织的管理账户(根账户)中,创建一个名为 cloudbeat-root 的 IAM 角色(名称很重要)。该角色需要几个策略

    • 以下内联策略
单击展开策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "organizations:List*",
                "organizations:Describe*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
  • 以下信任策略
单击展开策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<Management Account ID>:root"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
  • AWS 托管的 SecurityAudit 策略。

您必须在信任策略中将 <Management account ID> 替换为您的 AWS 账户 ID。

  • 接下来,对于您要在组织中扫描的每个账户,创建一个名为 cloudbeat-securityaudit 的 IAM 角色,其中包含以下策略

    • AWS 托管的 SecurityAudit 策略。
    • 以下信任策略
单击展开策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<Management Account ID>:role/cloudbeat-root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

您必须在信任策略中将 <Management account ID> 替换为您的 AWS 账户 ID。

创建必要的角色后,使用其中一种手动身份验证方法进行身份验证。

在使用以下任何身份验证方法部署到组织时,您需要确保您提供的凭据授予了对 cloudbeat-root 权限进行假设的权限。

手动身份验证方法编辑

无论您使用哪种方法进行身份验证,请确保附加了 AWS 的内置 SecurityAudit IAM 策略

选项 1 - 默认实例角色编辑

如果您要部署到 AWS 组织而不是 AWS 账户,则您应该已经 创建了一个新角色cloudbeat-root。跳到步骤 2“将您的新 IAM 角色附加到 EC2 实例”,并附加此角色。您可以使用现有或新的 EC2 实例。

按照 AWS 的 Amazon EC2 的 IAM 角色 文档使用 IAM 控制台创建一个 IAM 角色,该角色会自动生成一个实例配置文件。

  1. 创建 IAM 角色

    1. 在 AWS 中,转到您的 IAM 仪表板。单击 角色,然后单击 创建角色
    2. 选择受信任实体 页面上,在 受信任实体类型 下,选择 AWS 服务
    3. 用例 下,选择 EC2。单击 下一步

      The Select trusted entity screen in AWS
    4. 添加权限 页面上,搜索并选择 SecurityAudit。单击 下一步

      The Add permissions screen in AWS
    5. 名称、查看和创建 页面上,命名您的角色,然后单击 创建角色
  2. 将您的新 IAM 角色附加到 EC2 实例

    1. 在 AWS 中,选择一个 EC2 实例。
    2. 选择 操作 > 安全 > 修改 IAM 角色

      The EC2 page in AWS
    3. 修改 IAM 角色 页面上,搜索并选择您的新 IAM 角色。
    4. 单击 更新 IAM 角色
    5. 返回 Kibana 并 完成手动设置

确保将 CSPM 集成部署到此 EC2 实例。在 Kibana 中完成设置时,在 设置访问权限 部分,选择 假设角色 并将 角色 ARN 留空。单击 保存并继续

选项 2 - 直接访问密钥编辑

访问密钥是 IAM 用户或 AWS 账户根用户的长期凭据。要使用访问密钥作为凭据,您必须提供 访问密钥 ID密钥秘密。提供凭据后,完成手动设置

有关更多详细信息,请参阅 访问密钥和密钥秘密

您必须在创建 IAM 用户时选择 程序访问

选项 3 - 临时安全凭据编辑

您可以在 AWS 中配置临时安全凭据,使其持续特定时间。它们由访问密钥 ID、密钥秘密和安全令牌组成,安全令牌通常使用 GetSessionToken 查找。

由于临时安全凭据是短期凭据,因此一旦过期,您将需要生成新的凭据并手动更新集成的配置,以继续收集云态势数据。在凭据过期之前更新凭据,以避免数据丢失。

启用了多因素身份验证 (MFA) 的 IAM 用户需要在调用 GetSessionToken 时提交 MFA 代码。有关更多详细信息,请参阅 AWS 的 临时安全凭据 文档。

您可以使用 AWS CLI 生成临时凭据。例如,如果您启用了 MFA,可以使用以下命令

sts get-session-token --serial-number arn:aws:iam::1234:mfa/[email protected] --duration-seconds 129600 --token-code 123456

此命令的输出包含以下字段,您应该在配置 KSPM 集成时提供这些字段

  • 访问密钥 ID:访问密钥的第一部分。
  • 密钥秘密:访问密钥的第二部分。
  • 会话令牌:使用临时安全凭据时所需的令牌。

提供凭据后,完成手动设置

选项 4 - 共享凭据文件编辑

如果您在不同的工具或应用程序中使用不同的 AWS 凭据,可以使用配置文件在同一个配置文件中定义多个访问密钥。有关更多详细信息,请参阅 AWS 的 共享凭据文件 文档。

不要将 访问密钥 ID密钥秘密 提供给集成,而是提供在共享凭据文件中查找访问密钥所需的信息。

  • 凭据配置文件名称:共享凭据文件中的配置文件名称。
  • 共享凭据文件:共享凭据文件的目录。

如果您未为所有配置字段提供值,则集成将使用以下默认值。

  • 如果未提供 访问密钥 ID密钥秘密ARN 角色,则集成将检查 凭据配置文件名称
  • 如果不存在 凭据配置文件名称,则将使用默认配置文件。
  • 如果 共享凭据文件 为空,则将使用默认目录。
  • 对于 Linux 或 Unix,共享凭据文件位于 ~/.aws/credentials

提供凭据后,完成手动设置

选项 5 - IAM 角色 Amazon 资源名称 (ARN)编辑

IAM 角色 Amazon 资源名称 (ARN) 是您可以在 AWS 帐户中创建的 IAM 身份。您可以定义角色的权限。角色没有标准的长期凭据,例如密码或访问密钥。相反,当您假定角色时,它会为您的会话提供临时的安全凭据。

要使用 IAM 角色 ARN,请在 首选手动方法 下选择 假定角色,输入 ARN,然后继续进行完成手动设置。

完成手动设置编辑

提供 AWS 凭据后,在 在何处添加此集成

如果您想监控尚未部署 Elastic Agent 的 AWS 帐户或组织

  • 选择 新主机.
  • 命名 Elastic Agent 策略。使用与您要监控的云帐户或帐户的目的或团队匹配的名称。例如,dev-aws-account
  • 单击 保存并继续,然后单击 将 Elastic Agent 添加到您的主机添加代理 向导将出现并提供 Elastic Agent 二进制文件,您可以将其下载并部署到您的 AWS 帐户。

如果您想监控已部署 Elastic Agent 的 AWS 帐户或组织

  • 选择 现有主机.
  • 选择适用于您要监控的 AWS 帐户的代理策略。
  • 单击 保存并继续.