运行时监控如何与 Amazon EKS 集群结合使用 - Amazon GuardDuty

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

运行时监控如何与 Amazon EKS 集群结合使用

运行时监控使用 E KS 附加组件 aws-guardduty-agent,也称为 GuardDuty 安全代理。在您的 EKS 集群上部署 GuardDuty安全代理后, GuardDuty 就可以接收这些 EKS 集群的运行时事件了。

备注

运行时监控支持在亚马逊 EC2 实例上运行的 Amazon EKS 集群和亚马逊 EKS 自动模式。

运行时监控不支持带有 Amazon EKS 混合节点的 Amazon EKS 集群以及正在运行的集群 AWS Fargate。

有关这些 Amazon EKS 功能的信息,请参阅什么是亚马逊 EKS?Amazon EKS 用户指南中。

您可以在账户或集群级别监控 Amazon EKS 集群的运行时事件。您只能管理要监控以进行威胁检测的 Amazon EKS 集群 GuardDuty 的安全代理。您可以手动管理 GuardDuty 安全客户端,也可以使用自动代理配置来代表您管理安全客户端。 GuardDuty

当您使用自动代理配置方法 GuardDuty 来允许代表您管理安全代理的部署时,它将自动创建亚马逊虚拟私有云 (Amazon VPC) 终端节点。安全代理使用此 Amazon VPC 终端节点将 GuardDuty 运行时事件传送到。

除了 VPC 终端节点外, GuardDuty 还会创建一个新的安全组。入站(入口)规则控制允许访问与安全组关联的资源的流量。 GuardDuty 添加与您的资源的 VPC CIDR 范围相匹配的入站规则,并在 CIDR 范围发生变化时对其进行调整。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC CIDR 范围

备注
  • 使用 VPC 端点不会产生额外的成本。

  • 使用带有自动代理的集中式 VPC — 当您对资源类型使用 GuardDuty 自动代理配置时, GuardDuty 将代表您为所有资源类型创建 VPC 终端节点 VPCs。这包括集中式 VPC 和分支 VPCs。 GuardDuty 不支持仅为集中式 VPC 创建 VPC 终端节点。有关集中式 VPC 工作原理的更多信息,请参阅AWS 白皮书《构建可扩展且安全的多 VPC AWS 网络基础设施》中的 “接口 VPC 终端节点”。

在 Amazon EKS 集群中管理 GuardDuty安全代理的方法

在 2023 年 9 月 13 日之前,您可以配置 GuardDuty 为在账户级别管理安全代理。此行为表明,默认情况下, GuardDuty 将在属于的所有 EKS 集群上管理安全代理 AWS 账户。现在, GuardDuty 提供了精细的功能来帮助您选择 GuardDuty 要管理安全代理的 EKS 集群。

选择 手动管理 GuardDuty 安全代理 后,您仍然可以选择要监控的 EKS 集群。但是,要手动管理代理,先决条件 AWS 账户 是为您创建 Amazon VPC 终端节点。

注意

无论您使用哪种方法来管理 GuardDuty 安全代理,EKS 运行时监控始终在账户级别启用。

通过以下方式管理安全代理 GuardDuty

GuardDuty 代表您部署和管理安全客户端。在任何时候,您都可以使用以下方法之一监控账户中的 EKS 集群。

监控所有 EKS 集群

当您想要 GuardDuty 为账户中的所有 EKS 集群部署和管理安全代理时,请使用此方法。默认情况下,还 GuardDuty 会在您的账户中创建的潜在新 EKS 集群上部署安全代理。

使用此方法的影响
  • GuardDuty 创建一个 Amazon Virtual Private Cloud (Amazon VPC) 终端节点, GuardDuty 安全代理通过该终端节点将运行时事件传送到 GuardDuty。当您通过管理安全代理时,创建 Amazon VPC 终端节点不会产生额外费用 GuardDuty。

  • 您的工作节点必须具有通往活动 guardduty-data VPC 终端节点的有效网络路径。 GuardDuty 在您的 EKS 集群上部署安全代理。Amazon Elastic Kubernetes Service(Amazon EKS)将协调 EKS 集群内节点上安全代理的部署。

  • 根据 IP 可用性, GuardDuty 选择要创建 VPC 终端节点的子网。如果您使用高级网络拓扑,则必须验证连接是否可行。

排除选定的 EKS 集群

如果您想要 GuardDuty 管理账户中所有 EKS 集群的安全代理,但不包括特定的 EKS 集群,请使用此方法。此方法使用基于标签 1 的方法,在这种方法中,您可以标记不希望接收运行时事件的 EKS 集群。预定义标签必须以 GuardDutyManaged-false 作为键值对。

使用此方法的影响

此方法要求只有在向要排除在监控范围之外的 EKS 集群添加标签后,才能启用 GuardDuty 代理自动管理。

因此,当 通过以下方式管理安全代理 GuardDuty 适用于此方法时,也会产生影响。在启用 GuardDuty 代理自动管理之前添加标签时,既 GuardDuty 不会为不受监控的 EKS 集群部署也不管理安全代理。

注意事项
  • 在启用自动代理配置之前,您必须将标签键值对添加为GuardDutyManagedfalse对于选定的 EKS 集群,否则,在您使用标签之前, GuardDuty 安全代理将部署在所有 EKS 集群上。

  • 您必须防止标签被修改,除非由可信身份修改。

    重要

    使用服务控制策略或 IAM policy 管理修改 EKS 集群 GuardDutyManaged 标签值的权限。有关更多信息,请参阅用户指南中的服务控制策略 (SCPs)IAM AWS Organizations 用户指南中的控制 AWS 资源访问权限

  • 对于您不想监控的潜在新 EKS 集群,请确保在创建此 EKS 集群时添加 GuardDutyManaged-false 键值对。

  • 此方法的注意事项与 监控所有 EKS 集群 的注意事项相同。

包含选定的 EKS 集群

如果您只 GuardDuty 想为账户中的精选 EKS 集群部署和管理安全代理更新,请使用此方法。此方法使用基于标签 1 的方法,在这种方法中,您可以标记要接收运行时事件的 EKS 集群。

使用此方法的影响
  • 通过使用包含标签, GuardDuty 将仅为标有 GuardDutyManaged-true 作为键值对的精选 EKS 集群自动部署和管理安全代理。

  • 使用此方法的影响与 监控所有 EKS 集群 的影响相同。

注意事项
  • 如果 GuardDutyManaged 标签的值未设置为 true,则包含标签将无法按预期工作,这可能会影响对您的 EKS 集群的监控。

  • 为确保监控您选择性 EKS 集群,您需要防止标签被修改,除非由可信身份进行修改。

    重要

    使用服务控制策略或 IAM policy 管理修改 EKS 集群 GuardDutyManaged 标签值的权限。有关更多信息,请参阅用户指南中的服务控制策略 (SCPs)IAM AWS Organizations 用户指南中的控制 AWS 资源访问权限

  • 对于您不想监控的潜在新 EKS 集群,请确保在创建此 EKS 集群时添加 GuardDutyManaged-false 键值对。

  • 此方法的注意事项与 监控所有 EKS 集群 的注意事项相同。

1 有关标记选择性 EKS 集群的更多信息,请参阅《Amazon EKS 用户指南》中的标记 Amazon EKS 资源

手动管理 GuardDuty 安全代理

如果您想在所有 EKS 集群上手动部署和管理 GuardDuty 安全代理,请使用此方法。确保为您的账户启用 EKS 运行时监控。如果您不启用 EKS 运行时监控,则 GuardDuty安全代理可能无法按预期运行。

使用此方法的影响

您需要在 EKS 集群中协调 GuardDuty 安全代理的部署,跨所有账户以及该功能可用 AWS 区域 的地方。发布代理 GuardDuty 版本时,您还需要对其进行更新。有关适用于 EKS 的代理版本的更多信息,请参阅GuardDuty 适用于 Amazon EKS 集群的安全代理

注意事项

随着新集群和工作负载的持续部署,您必须在监控和解决覆盖率缺口的同时,支持安全的数据流。