保护 Kubernetes 集群免受勒索软件攻击
虽然容器在数据中心内提供了前所未有的速度和灵活性,但它们也面临着勒索软件、加密挖矿和僵尸网络等各种安全威胁。根据 《Red Hat 2022 年度 Kubernetes 安全状况报告》 对 300 余名 DevOps、工程设计和安全专业人员的调查,过去 12 个月内,93% 的受访者的 Kubernete 环境中至少出现过一次安全事件。威胁攻击者可能会利用此类事件来安装勒索软件和其他类型的恶意软件,因此加强 Kubernetes 集群的安全防护至关重要。
什么是 Kubernetes 集群?
Kubernetes 集群是一组运行容器化应用程序的节点。Kubernetes 集群为这些节点提供了一个完整的生态系统,其中包含 DNS 服务、负载平衡、网络、自动扩缩,以及运行应用程序操作所需的任何其他功能。Kubernetes 集群可以使用内置的层次结构和应用程序分段来承载多个应用程序,且不会限制域名空间之间的通信(图 1)。
为何要对 Kubernetes 集群进行分段?
近年来,针对容器的攻击变得越来越复杂。为逃避检测,越来越多针对 Kubernetes 集群的攻击开始采用规避和混淆技术,包括打包攻击载荷、使用 Rootkit 以及直接从内存运行恶意软件。
尽管正常操作不需要集群和 Pod 之间的通信,但这些环境默认允许这种通信。攻击者会滥用此项功能来实现勒索软件攻击活动中的横向移动,因此我们需要能够制定策略,在不引发中断的情况下限制这些流动。
用于 Kubernetes 集群分段的关键能力
出色的网络分段解决方案需要四个关键要素:监测、强制实施、监控和运营(图 2)。
对 Kubernetes 集群的全面监测
监测是 Kubernetes 环境中的关键要素。要想成功创建策略,您需要了解 Kubernetes 环境中运行的内容并确认流量仅到达您期望的目的地,这一点至关重要。Guardicore(现为 Akamai 旗下公司)可准确监测 Kubernetes 集群,让您深入了解基础架构的所有层。
展现依赖项关系的映射
该解决方案提供了映射功能,可用于监测数据中心内部和多个数据中心之间的通信,并适用于虚拟机、Kubernetes、Docker 容器等各类技术(图 3)。根据这些映射,您可以查看并检测 Pod、服务、主机或域名空间之间的任何可疑连接。
标签
通过使用多层标签,映射可以准确地反映应用程序在集群中的部署方式(图 4)。这一可视化功能可以显示应用程序管理人员规划的 Kubernetes 层次结构。这种程度的详细信息有助于 Akamai 用户准确了解集群中部署的内容,以及所部署的应用程序与基础架构其他部分之间的网络关系。
Kubernetes 原生策略强制实施
为尽可能缩小 Kubernetes 集群的攻击面,需要使用严格的分段策略。分段强制实施解决方案应该满足两项主要标准:它应该具备非侵入性特点,并且不存在任何规模和性能限制;另外,它应该通过灵活的方式为所有级别的 Kubernetes 对象(包括域名空间、控制器和 Kubernetes 标签)提供安全围栏。
Akamai 使用了原生的 Kubernetes Container Network Interface (CNI)。CNI 包含一个网络安全策略插件,该插件最初用于在 Kubernetes 中强制实施网络分段。这是一种规模不受限制的非侵入性方法。
Akamai 扩展了其出色的模板,包括专为保护 Kubernetes 业务关键型应用程序而设计的专用模板(图 5)。借助此模板,用户可以轻松选择要隔离的对象,其中包括域名空间、应用程序或任何其他对象。
高级监控能力
现在,我们利用高级日志记录和监控系统,针对 Kubernetes 网络调整了专用网络日志,可显示每个事件的目标服务、节点 IP、源端口和目标端口以及进程。这让用户可以更便捷地调查网络中的异常活动并将数据导出到第三方应用程序(如 SIEM)。
集群操作
要保护 Kubernetes 资产,首先要获得实时监测能力,提高操作意识。专用集群操作屏幕提供了有关已部署集群的所有必要数据,包括监控集群的代理数、标记代理功能的警告和告警,以及 Kubernetes 编排的状态等(图 6)。
总结
尽管我们大多数人都认为需要“假设入侵”,但很少有工具能让我们将这一概念付诸实施。尤其是对于 Kubernetes 一类的新技术,能让我们将每项资产视为外围资产的工具严重缺乏。借助 Akamai Guardicore Segmentation,我们能够让企业(甚至是采用复杂基础架构的企业)将威胁攻击者入侵我们的网络这一概念付诸实施。Akamai 针对 Kubernetes 的解决方案具有非侵入性特点,不存在任何集群规模限制,同时还提供了对 Kubernete 集群和可与任何操作系统协同工作的原生 Kubernets 强制实施的全面监测,且所有这一切都可以在您用于管理基础架构其余部分的同一控制台上完成。