本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
修复 Amazon EKS 集群的暴露
AmazonSecurity Hub 可以生成亚马逊 Elastic Kubernetes Service(亚马逊 EKS)集群的曝光结果。
暴露调查发现中涉及的 Amazon EKS 集群及其识别信息列在调查发现详细信息的资源部分中。您可以在 Security Hub 控制台上检索这些资源详细信息,也可以通过 Security Hub CSPM AP GetFindingsV2I 的操作以编程方式检索这些资源详细信息。
在确定暴露调查发现中涉及的资源后,如果不需要该资源,您可以将其删除。删除不必要的资源可以减少您的曝光概况和Amazon成本。如果资源至关重要,请按照这些建议的修复步骤进行操作以帮助降低风险。修复主题根据特征的类型进行划分。
单个暴露调查发现包含在多个修复主题中发现的问题。相反,您只需解决一个修复主题即可解决暴露调查发现并降低其严重性级别。您的风险修复方法取决于您的组织要求和工作负载。
注意
本主题中提供的补救指南可能需要在其他Amazon资源中进行进一步的咨询。
目录
Amazon EKS 集群的错误配置特征
以下是 Amazon EKS 集群的错误配置特征和建议的修复步骤。
Amazon EKS 集群允许公开访问
Amazon EKS 集群端点是您用来与集群的 Kubernetes API 服务器进行通信的端点。默认情况下,此端点对互联网是公开的。公共端点会增加您的攻击面和未经授权访问您的 Kubernetes API 服务器的风险,从而可能允许攻击者访问或修改集群资源或访问敏感数据。遵循安全最佳实践,Amazon建议将对 EKS 集群终端节点的访问限制为仅必要的 IP 范围。
修改端点访问
在暴露调查发现中,打开资源。这将打开受影响的 Amazon EKS 集群。您可以将集群配置为使用私有访问、公开访问或两者兼而有之。通过私有访问,源自集群 VPC 内的 Kubernetes API 请求将使用私有 VPC 端点。通过公开访问,源自集群 VPC 外部的 Kubernetes API 请求将使用公有端点。
修改或移除对集群的公开访问
要修改现有集群的端点访问,请参阅《Amazon Elastic Kubernetes Service 用户指南》中的修改集群端点访问。根据特定 IP 范围或安全组实施更严格的规则。如果需要有限的公开访问,请将访问限制于特定 CIDR 数据块范围或使用前缀列表。
Amazon EKS 集群使用不受支持的 Kubernetes 版本
Amazon EKS 对每个 Kubernetes 版本的支持时间都是有限的。使用不受支持的 Kubernetes 版本运行集群可能会使您的环境面临安全漏洞,因为过时的版本将不再发布 CVE 补丁。不受支持的版本可能包含攻击者可以利用的已知安全漏洞,并且缺少新版本中可能提供的安全功能。遵循安全最佳实践,Amazon建议您不断更新您的 Kubernetes 版本。
更新 Kubernetes 版本
在暴露调查发现中,打开资源。这将打开受影响的 Amazon EKS 集群。在更新集群之前,请查看《Amazon Elastic Kubernetes Service 用户指南》中的标准支持上的可用版本,了解当前支持的 Kubernetes 版本列表。
Amazon EKS 集群使用未加密的 Kubernetes 密钥
默认情况下,Kubernetes 密钥以未加密形式存储在 API 服务器的底层数据存储(etcd)中。任何具有 API 访问权限或 etcd 访问权限的人都可以检索或修改密钥。为防止发生这种情况,您应该对 Kubernetes 密钥进行静态加密。如果 Kubernetes 密钥未加密,一旦 etcd 遭到入侵,它们就很容易受到未经授权的访问。由于密钥通常包含密码和 API 令牌等敏感信息,因此泄露密钥可能会导致未经授权访问其他应用程序和数据。按照安全最佳实践,Amazon建议对存储在 Kubernetes 密钥中的所有敏感信息进行加密。
加密 Kubernetes 密钥
Amazon EKS 支持使用 KMS 密钥通过信封加密对 Kubernetes 密钥进行加密。要为您的 EKS 集群启用 Kubernetes 密钥加密,请参阅《Amazon EKS 用户指南》中的在现有集群上使用 KMS 加密 Kubernetes 密钥。
Amazon EKS 集群的漏洞特征
以下是 Amazon EKS 集群的漏洞特征。
Amazon EKS 集群的一个容器存在可通过网络利用的软件漏洞,被利用的可能性很高
安装在 EKS 集群上的软件包可能会暴露在常见漏洞和漏洞中(CVEs)。 CVEs 危急会给您的Amazon环境带来严重的安全风险。未经授权的用户可以利用这些未修补的漏洞来破坏数据的保密性、完整性或可用性,或访问其他系统。利用可能性较高的严重漏洞代表直接的安全威胁,因为漏洞利用代码可能已经公开并被攻击者或自动扫描工具积极使用。按照安全最佳实践,Amazon建议修补这些漏洞以保护您的实例免受攻击。
更新受影响的实例
将容器映像更新到包含已识别漏洞的安全修复的较新版本。这通常包括使用更新的基础映像或依赖项重建容器映像,然后将新映像部署到 Amazon EKS 集群。
Amazon EKS 集群的一个容器存在软件漏洞
安装在 Amazon EKS 集群上的软件包可能会暴露在常见漏洞和漏洞中(CVEs)。非临界 CVEs 表示安全漏洞,与严重漏洞相比,其严重性或可利用性较低。 CVEs虽然这些漏洞不会造成直接风险,但攻击者仍可以利用这些未修补的漏洞来破坏数据的保密性、完整性或可用性,或访问其他系统。按照安全最佳实践,Amazon建议修补这些漏洞以保护您的实例免受攻击。
更新受影响的实例
将容器映像更新到包含已识别漏洞的安全修复的较新版本。这通常包括使用更新的基础映像或依赖项重建容器映像,然后将新映像部署到 Amazon EKS 集群。
Amazon EKS 集群有一个装有 End-Of-Life操作系统的容器
Amazon EKS 容器镜像所依赖的 end-of-life操作系统不再由原始开发者支持或维护。这会使容器面临安全漏洞和潜在攻击。当操作系统上线时 end-of-life,供应商通常会停止发布新的安全公告。现有的安全公告也可以从供应商 Feed 中删除。因此,Amazon Inspector可能会停止生成已知的调查结果 CVEs,从而在安全覆盖方面造成进一步的漏洞。
请参阅《亚马逊检查员用户指南》中的已停产操作系统,了解有关亚马逊检查员可以检测到的已使用寿命终止的操作系统的信息。
更新到支持的操作系统版本
我们建议更新到支持的操作系统版本。在风险调查结果中,打开资源以访问受影响的资源。在更新容器映像中的操作系统版本之前,请查看 Amazon Inspector 用户指南中支持的操作系统中的可用版本,了解当前支持的操作系统版本列表。更新容器映像后,重新构建容器并将其重新部署到 Amazon EKS 集群。
Amazon EKS 集群有一个装有恶意软件包的容器
恶意软件包是包含有害代码的软件组件,旨在危害系统和数据的机密性、完整性和可用性。恶意软件包会对您的 Amazon EKS 集群构成严重威胁,因为攻击者可以在不利用漏洞的情况下自动执行恶意代码。按照安全最佳实践,Amazon建议移除恶意软件包,以保护您的集群免受潜在攻击。
移除恶意软件包
在特征的 “漏洞” 选项卡的 “参考” 部分中查看恶意软件包的详细信息,以了解威胁。从您的容器镜像中移除已识别的恶意软件包。然后,删除带有受损图像的 pod。更新您的 Kubernetes 部署以使用更新的容器镜像。然后,部署您的更改并重新部署 pod。
EKS 集群有恶意文件
恶意文件包含有害代码,旨在危害系统和数据的机密性、完整性和可用性。恶意文件会对您的集群构成严重威胁,因为攻击者可以在不利用漏洞的情况下自动执行恶意代码。遵循安全最佳实践,Amazon建议删除恶意文件以保护您的集群免受潜在攻击。
移除恶意文件
要识别包含恶意文件的特定亚马逊 Elastic Block Store (Amazon EBS) 卷,请查看该特征发现详情的 “资源” 部分。识别出带有恶意文件的卷后,请移除已识别的恶意文件。删除恶意文件后,请考虑执行扫描,以确保可能由恶意文件安装的所有文件都已删除。有关更多信息,请参阅 GuardDuty中的启动按需恶意软件扫描。