Amazon Fargate (仅限 Amazon ECS)支持的先决条件 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Fargate (仅限 Amazon ECS)支持的先决条件

本节包含监控 Fargate-Amazon ECS 资源的运行时行为的先决条件。满足这些先决条件后,请参阅启用 GuardDuty 运行时监控

验证架构要求

您使用的平台可能会影响 GuardDuty 安全代理支持 GuardDuty 从 Amazon ECS 集群接收运行时事件的方式。您必须验证自己使用的是其中一个经过验证的平台。

初步注意事项:

您的 Amazon ECS 集群的 Amazon Fargate 平台必须是 Linux。相应的平台版本必须至少为 1.4.0LATEST。有关平台版本的更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Linux 平台版本

尚不支持 Windows 平台版本。

经过验证的平台

操作系统分布和 CPU 架构会影响 GuardDuty安全代理提供的支持。下表显示了用于部署 GuardDuty安全代理和配置运行时监控的经过验证的配置。

操作系统分发 1 内核支持 CPU 架构 x64 () AMD64 CPU 架构 Graviton () ARM64
Linux eBPF、Tracepoints、Kprobe 支持 支持

1 Support 支持各种操作系统- GuardDuty 已验证运行时监控支持上表中列出的操作发行版。虽然 GuardDuty 安全代理可以在上表中未列出的操作系统上运行,但该 GuardDuty 团队无法保证预期的安全值。

访问容器镜像的先决条件

以下先决条件可帮助您从 Amazon ECR 存储库访问 GuardDuty 边车容器镜像。

权限要求

任务执行角色需要特定的 Amazon Elastic Container Registry (Amazon ECR) 权限才能下载安全代理容器 GuardDuty 镜像:

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

要进一步限制 Amazon ECR 权限,您可以添加托管其 GuardDuty 安全代理的 Amazon ECR 存储库 URI(仅限 Amazon Fargate Amazon ECS)。有关更多信息,请参阅 Amazon ECR 存储库托管代理 GuardDuty

您可以使用 Amazon ECSTask ExecutionRolePolicy 托管策略,也可以将上述权限添加到您的TaskExecutionRole策略中。

任务定义配置

创建或更新 Amazon ECS 服务时,您需要在任务定义中提供子网信息:

UpdateService APIs 在《亚马逊弹性容器服务 API 参考》中运行CreateService和需要您传递子网信息。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Amazon ECS 任务定义

网络连接要求

您必须确保网络连接才能从 Amazon ECR 下载 GuardDuty 容器映像。此要求特定于, GuardDuty 因为它使用 Amazon ECR 来托管其安全代理。根据您的网络配置,您需要实现以下选项之一:

选项 1-使用公共网络接入(如果可用)

如果您的 Fargate 任务在具有出站互联网访问权限的子网中运行,则无需进行额外的网络配置。

选项 2-使用 Amazon VPC 终端节点(用于私有子网)

如果您的 Fargate 任务在无法访问互联网的私有子网中运行,则必须为 ECR 配置 VPC 终端节点,以确保托管 GuardDuty 安全代理的 ECR 存储库 URI 可通过网络访问。如果没有这些终端节点,私有子网中的任务就无法下载 GuardDuty 容器镜像。

有关 VPC 终端节点设置说明,请参阅亚马逊弹性容器注册表用户指南中的为 Amazon ECR 创建 VPC 终端节点。

有关启用 Fargate 下载容器的信息,请参阅亚马逊弹性 GuardDuty 容器注册表用户指南中的将 Amazon ECR 镜像与 Ama zon ECS 配合使用。

安全组配置

GuardDuty 容器镜像存储在 Amazon ECR 中,需要访问 Amazon S3。此要求特定于从 Amazon ECR 下载容器映像。对于网络访问受限的任务,您必须将安全组配置为允许访问 S3。

在您的安全组中添加一条出站规则,允许流量通过端口 443 访问 S3 托管前缀列表 (pl-xxxxxxxx)。要添加出站规则,请参阅 Amazon VPC 用户指南中的配置安全组规则

要在控制台中查看您的 Amazon托管前缀列表或使用 Amazon Command Line Interface (Amazon CLI) 对其进行描述,请参阅 Amazon VPC 用户指南中的Amazon托管前缀列表

在多账户环境中验证您的组织服务控制策略

本节介绍如何验证您的服务控制策略 (SCP) 设置,以确保运行时监控在整个组织中按预期运行。

如果您设置了一个或多个服务控制策略来管理组织中的权限,则必须验证它是否拒绝该guardduty:SendSecurityTelemetry操作。有关 SCPs 工作原理的信息,请参阅《Amazon Organizations 用户指南》中的 SCP 评估

如果您是成员账户,则连接到关联的委派管理员。有关组织管理 SCPs 的信息,请参阅《Amazon Organizations 用户指南》中的服务控制策略 (SCPs)

对您在多账户环境中设置的所有内容执行以下步骤: SCPs

在 SC guardduty:SendSecurityTelemetry P 中未拒绝进行验证
  1. 登录 Organizations 控制台,网址为https://console.aws.amazon.com/organizations/。您必须以 IAM 角色身份登录,或者在组织的管理账户中以根用户身份登录(不推荐)

  2. 在左侧导航窗格中,选择策略。然后,在支持的策略类型下,选择服务控制策略

  3. 服务控制策略页面上,选择要验证的策略的名称。

  4. 在政策的详情页面上,查看该政策的内容。确保它不会拒绝该guardduty:SendSecurityTelemetry操作。

    以下 SCP 策略是不拒绝guardduty:SendSecurityTelemetry操作的示例:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ..., ..., "guardduty:SendSecurityTelemetry" ], "Resource": "*" } ] }

    如果您的政策拒绝此操作,则必须更新该政策。有关更多信息,请参阅《Amazon Organizations 用户指南》中的更新服务控制策略(SCP)

验证角色权限和策略权限边界

使用以下步骤验证与角色及其策略关联的权限边界是否不是限制guardduty:SendSecurityTelemetry操作。

查看角色及其策略的权限边界
  1. 登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中的访问权限管理下,选择角色

  3. 在 “角色” 页面上,选择您TaskExecutionRole可能已创建的角色。

  4. 在所选角色页面的权限选项卡下,展开与此角色关联的策略名称。然后,确认此政策没有限制guardduty:SendSecurityTelemetry

  5. 如果设置了权限边界,则展开此部分。然后,展开每项策略以查看其不限制guardduty:SendSecurityTelemetry操作。该政策应与之类似Example SCP policy

    根据需要,执行以下操作之一:

    • 要修改策略,请选择编辑。在此策略的修改权限页面上,在策略编辑器中更新策略。确保 JSON 架构保持有效。然后选择下一步。然后,您可以查看并保存更改。

    • 要更改此权限边界并选择其他边界,请选择更改边界

    • 要移除此权限边界,请选择移除边界

    有关管理策略的信息,请参阅 IAM 用户指南 Amazon Identity and Access Management中的策略和权限

CPU 和内存限制

在 Fargate 任务定义中,您必须在任务级别指定 CPU 和内存值。下表显示了任务级 CPU 和内存值的有效组合,以及容器的相应 GuardDuty 安全代理最大内存限制。 GuardDuty

CPU 值 内存值 GuardDuty 代理最大内存限制

256 (.25 vCPU)

512 MiB、1 GB、2 GB

128MB

512 (.5 vCPU)

1GB、2GB、3GB、4GB

1024 (1 vCPU)

2 GB、3 GB、4 GB

5 GB、6 GB、7 GB、8 GB

2048 (2 vCPU)

4GB 到 16GB 之间 (以 1GB 为增量)

4096 (4 vCPU)

8 GB 至 20 GB(以 1 GB 为单位增加)

8192 (8 vCPU)

16 GB 至 28 GB(以 4 GB 为单位增加)

256 MB

32 GB 至 60 GB(以 4 GB 为单位增加)

512MB

16384(16 个 vCPU)

32 GB 到 120 GB 之间(以 8 GB 为增量)

1 GB

启用运行时监控并评估集群的覆盖率状态是否正常后,您可以设置和查看 Container Insights 指标。有关更多信息,请参阅 在 Amazon ECS 集群上设置监控

下一步是配置运行时监控和安全代理。