托管 Kubernetes 威胁因素

已完成

在托管 Kubernetes 环境中,解决安全问题涉及了解和缓解各种实例的威胁。 此处是特定实例中威胁因素的明细:

被盗用帐户

  • 威胁因素:攻击者通过窃取的凭据、API 令牌或密钥获取 Kubernetes 群集的访问权限。 这可能会导致未经授权的访问、数据盗窃和恶意部署。
  • 缓解措施:实施强身份验证机制、多重身份验证 (MFA)、定期轮换凭据和最低特权访问原则。

易受攻击或配置错误的映像

  • 威胁因素:部署后,攻击者可以利用存在漏洞或配置错误的容器映像。 这些漏洞可能包括过时的软件、不安全的默认设置或嵌入式机密。
  • 缓解措施:在部署前使用映像扫描工具检测漏洞,强制实施映像证明策略,并采用容器映像签名流程。

环境配置错误

  • 威胁因素:Kubernetes 设置或部署描述符中的配置错误可能会使群集受到攻击。 常见问题包括公开的仪表板接口、过度宽松的 RBAC 设置和不安全的终结点。
  • 缓解措施:遵循安全配置最佳做法,定期使用自动化工具审核配置,并采用准入控制器来执行策略合规性。

应用攻击级别

  • 威胁因素:在容器中运行的应用程序可能容易受到通过传统的 Web 攻击途径实现的攻击,例如 SQL 注入或跨站脚本 (XSS) 的攻击,这可能会损害容器,或导致进一步的群集攻击。
  • 缓解措施:采用应用程序安全最佳做法,例如输入验证和输出编码,并使用 Web 应用程序防火墙 (WAF)。 在持续集成 (CI)/持续交付和或部署 (CD) 管道(包括静态和动态分析工具)中实现安全性。

节点级攻击

  • 威胁因素:如果攻击者获得对 Kubernetes 节点的访问权限,他们可能会提升特权来控制整个群集。 漏洞可能来自过时的操作系统或 Kubernetes 组件。
  • 缓解措施:使用最新的安全补丁保持节点更新,使用网络策略和防火墙限制对节点的访问,并使用基于主机的入侵检测系统 (HIDS)。

未经授权的流量

  • 威胁因素:如果未正确配置网络策略,则可能发生对群集的未经授权访问,从而允许攻击者泄露数据、提供恶意软件或攻击公开的服务。
  • 缓解措施:实施严格的网络策略来控制入口和出口流量,使用命名空间隔离敏感工作负载,以及监视流量是否存在异常模式。

在托管 Kubernetes 环境中解决这些威胁需要一种分层的安全方法,其中包括特定于 Kubernetes 的做法和传统的安全措施。 持续监视、定期审核和在群集所有方面遵循最低特权原则是可靠 Kubernetes 安全策略的重要组成部分。

显示 na 托管 Kubernetes 威胁因素示例的关系图。

常见攻击技术

  • 利用易受攻击的映像 - 群集中面向公众的易受攻击的应用程序,可对群集进行初始访问。 反面案例: SolarWinds、Log4j
  • 访问公开的应用程序 - 向 Internet 公开的敏感接口存在安全风险。 某些常用框架不打算向 Internet 公开,因此默认情况下不需要身份验证。 因此,向 Internet 公开它们会允许在未经身份验证的情况下访问敏感接口,从而可能支持恶意行动者在群集中运行代码或部署容器。 已遭到攻击的此类接口示例包括 Apache NiFi、Kubeflow、Argo Workflow、Weave Scope 和 Kubernetes 仪表板。
  • 部署后门容器 - 攻击者在群集中的容器中运行其恶意代码。 通过使用 Kubernetes 控制器(如 DaemonSet 或部署),攻击者可确保在群集的一个或多个节点中运行恒定数量的容器。
  • 滥用宽松角色 SA - 服务帐户 (SA) 表示 Kubernetes 中的应用程序标识。 默认情况下,SA 会装载至群集中每个已创建的 Pod。 使用 SA,Pod 中的容器可以将请求发送到 Kubernetes API 服务器。 有权访问 Pod 的攻击者可访问 SA 令牌,并根据 SA 权限在群集中执行操作。 如果未启用 RBAC,则 SA 在群集中具有无限制的权限。 如果启用了 RBAC,则其权限由与之关联的 RoleBindings 和 ClusterRoleBindings 确定。
  • 逃逸到主机 - hostPath 卷可将目录或文件从主机装载到容器。 有权在群集中创建新容器的攻击者可以创建具有可写 hostPath 卷的容器,并在基础主机上获得持久性。 例如,可以通过在主机上创建 cron 作业来实现后者。

显示 Kubernetes 常见攻击技术示例的关系图。