亚马逊AWS官方博客

Amazon GuardDuty 现在支持 Amazon EKS 运行时监控



自 Amazon GuardDuty 于 2017 年推出以来,GuardDuty 每分钟能够分析多个 AWS 数据来源中的数百亿个事件,例如 AWS CloudTrail 事件日志、Amazon Virtual Private Cloud(Amazon VPC)流程日志和 DNS 查询日志、Amazon Simple Storage Service(Amazon S3)数据面板事件、Amazon Elastic Kubernetes Service(Amazon EKS)审计日志和 Amazon Relational Database Service(Amazon RDS)登录事件,以保护您的 AWS 账户和资源。

2020 年,GuardDuty 增加 Amazon S3 保护,以持续监控和分析 S3 数据访问事件和配置,从而检测 Amazon S3 中的可疑活动。去年,GuardDuty 推出如下功能:Amazon EKS 保护,通过分析您账户中现有和新 EKS 集群的 Kubernetes 审计日志来监控控制面板的活动;Amazon EBS 恶意软件防护,使用 EBS 卷扫描驻留在 EC2 实例或容器工作负载上的恶意文件;Amazon RDS 保护,用于识别对 Amazon Aurora 数据库中所储存数据的潜在威胁 — 最近正式推出

GuardDuty 使用各种 AWS 数据来源将机器学习(ML)、异常检测、网络监控和恶意文件发现相结合。检测到威胁时,GuardDuty 会自动将安全调查发现发送到 AWS Security HubAmazon EventBridgeAmazon Detective。这些集成有助于集中监控 AWS 和合作伙伴服务、自动响应恶意软件调查发现以及通过 GuardDuty 执行安全调查。

今天,我们宣布正式推出 Amazon GuardDuty EKS 运行时监控,该功能用于检测来自 30 多个安全调查发现的运行时威胁,从而保护您的 EKS 集群。新的 EKS 运行时监控使用完全托管的 EKS 附加组件,该附加组件增加对单个容器运行时活动的可见性,例如文件访问、过程执行和网络连接。

GuardDuty 现在可以识别您的 EKS 集群中可能遭到入侵的特定容器,并检测将权限从单个容器升级到底层 Amazon EC2 主机和更广泛 AWS 环境的恶意企图。GuardDuty EKS 运行时监控调查结果提供元数据上下文,以识别潜在威胁并在威胁升级之前将其遏制。

在 GuardDuty 中配置 EKS 运行时监控
首先,只需在 GuardDuty 控制台中单击几下,即可启用 EKS 运行时监控

启用 EKS 运行时监控后,GuardDuty 可以开始监控和分析您账户中所有现有和新 EKS 集群的运行时活动事件。如果您希望 GuardDuty 为账户中所有现有和新 EKS 集群部署和更新所需的 EKS 管理附加组件,请选择自动管理代理。这还将创建一个 VPC 端点,安全代理通过该端点向 GuardDuty 传送运行时事件。

如果您同时配置 EKS 审计日志监控和运行时监控,则可以在集群控制面板级别以及向下到单个 Pod 或容器操作系统级别实现最佳 EKS 保护。结合使用时,威胁检测将更具情境性,从而可以快速确定威胁优先级并做出响应。例如,基于审计日志的检测可以增强对表现出可疑行为的容器进行基于运行时的检测,并且指示 Pod 是以提升的权限异常启动的。

这些是默认选项,但它们可配置,您可以取消选中其中一个复选框以禁用 EKS 运行时监控。禁用 EKS 运行时监控时,GuardDuty 会立即停止监控和分析所有现有 EKS 集群的运行时活动事件。如果您已通过 GuardDuty 配置自动代理管理,则此操作还会删除 GuardDuty 部署的安全代理。

要了解更多信息,请参阅 AWS 文档中的配置 EKS 运行时监控

手动管理 GuardDuty 代理
如果您想手动部署和更新账户中每个集群的 EKS 托管附加组件,包括 GuardDuty 代理,请在 EKS 保护配置中取消选中自动管理代理

手动管理附加组件时,您还要负责创建 VPC 端点,安全代理通过该端点向 GuardDuty 传送运行时事件。在 VPC 端点控制台中,选择创建端点。在此步骤中,为服务类别选择其他端点服务,为美国东部(弗吉尼亚州北部)区域中的服务名称输入 com.amazonaws.us-east-1.guardduty-data,然后选择验证服务

成功验证服务名称后,选择 EKS 集群所在的 VPC 和子网。在其他设置下,选择启用 DNS 名称。在安全组下,从您的 VPC(或 EKS 集群)中选择一个启用入站端口 443 的安全组。

添加以下策略以将 VPC 端点的使用限制为仅限指定账户:

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Action": "*",
			"Resource": "*",
			"Effect": "Allow",
			"Principal": "*"
		},
		{
			"Condition": {
				"StringNotEquals": {
					"aws:PrincipalAccount": "123456789012"
				}
			},
			"Action": "*",
			"Resource": "*",
			"Effect": "Deny",
			"Principal": "*"
		}
	]
}

现在,您可以为自己的 EKS 集群安装 Amazon GuardDuty EKS 运行时监控附加组件。在 Amazon EKS 控制台上的 EKS 集群配置文件的附加组件选项卡中选择此附加组件。

在 GuardDuty 中启用 EKS 运行时监控并为 EKS 集群部署 Amazon EKS 附加组件之后,您可以查看带有 aws-guardduty-agent 前缀的新容器。GuardDuty 现在开始使用集群中所有 EC2 主机和容器的运行时活动事件。然后,GuardDuty 会分析这些事件以寻找潜在威胁。

这些 Pod 收集各种事件类型并将其发送到 GuardDuty 后端进行威胁检测和分析。手动管理附加组件时,您需要为要监控的每个 EKS 集群(包括新的 EKS 集群)执行这些步骤。

要了解更多信息,请参阅 AWS 文档中的手动管理 GuardDuty 代理

查阅 EKS 运行时安全调查结果
当 GuardDuty 检测到潜在威胁并生成安全调查发现时,您可以查看相应调查发现的详细信息。这些安全调查发现表明您的 AWS 环境中存在受入侵的 EC2 实例、容器工作负载、EKS 集群或一组泄露的凭证。

如果您想生成 EKS 运行时监控示例调查结果以用于测试,请参阅 AWS 文档中的在 GuardDuty 中生成示例调查结果。以下是潜在安全问题的示例:EKS 集群中新创建或最近修改的二进制文件已被执行。

EKS 保护调查发现类型的资源类型可以是实例EKSCluster容器。如果调查发现详细信息中的资源类型EKSCluster,则表示 EKS 集群内的 Pod 或容器可能受到入侵。 根据可能受入侵的资源类型,调查发现详细信息可能包含 Kubernetes 工作负载详细信息、EKS 集群详细信息或实例详细信息。

运行时详细信息(例如过程详细信息和任何必需的上下文)描述了有关所观察过程的信息,运行时上下文描述了有关潜在可疑活动的任何其他信息。

要修复受入侵的 Pod 或容器映像,请参阅 AWS 文档中的修复 EKS 运行时监控调查发现。本文档描述了每种资源类型的建议修复步骤。要了解有关安全调查发现类型的更多信息,请参阅 AWS 文档中的 GuardDuty EKS 运行时监控调查发现类型

现已推出
现在可以使用 Amazon GuardDuty 进行 EKS 运行时监控。有关可用 EKS 运行时监控的区域的完整列表,请访问特定区域的功能可用性

对于现有 GuardDuty 账户,使用 GuardDuty for EKS 运行时监控的前 30 天无需额外付费。如果您是首次启用 GuardDuty,则默认情况下不启用 EKS 运行时监控,需要如上所述将其启用。在 GuardDuty 中结束试用期后,您可以看到 EKS 运行时监控的估计费用。要了解更多信息,请参阅 GuardDuty 定价页面。

有关更多信息,请参阅 Amazon GuardDuty 用户指南,向 AWS re:Post for Amazon GuardDuty 发送反馈,或通过您常用的 AWS Support 联系人发送反馈。

Channy