Kubernetes 群集警报

Defender for Containers 提供了针对 Kubernetes (K8s) 控制平面和工作负载运行时威胁的增强警报功能。 Microsoft Defender 威胁智能还可以检测 K8s 容器相关的威胁,并与 Defender 传感器结合使用,提供丰富的上下文,发出全面、可操作的警报,来保护你的 K8s 环境。

控制平面检测

在 Kubernetes 中,控制平面用来管理和编排群集中的所有资源。 Defender for Containers 通过监视 K8s API 服务器的活动,来识别控制平面中可能危及整个群集安全性和完整性的潜在威胁。 捕获指示潜在安全威胁的关键事件,例如服务帐户的可疑操作或服务暴露。

Defender for Containers 捕获的可疑操作示例包括:

  • 特权容器部署可能是一种安全风险,因为它们会在主机系统中授予容器更高的权限。 监视特权容器,以发现未经授权的部署、过度使用特权以及可能导致安全漏洞的潜在错误配置。
  • 暴露在公共互联网上的风险服务可能会使 Kubernetes 群集面临潜在的攻击。 监视群集,以发现无意中暴露的服务、配置错误的宽松访问控制或缺乏适当安全措施的服务。
  • 可疑服务帐户活动可能指示群集中未经授权的访问或恶意行为。 监视群集,以发现异常模式,如过多的资源请求、未经授权的 API 调用或对敏感数据的访问。

工作负载运行时检测

Defender for Containers 使用 Defender 传感器监视 K8s 工作负载运行时活动,以检测可疑操作,包括工作负载进程创建事件。

可疑工作负载运行时活动的示例包括:

  • Web 外壳活动 - Defender for Containers 监视正在运行的容器上的活动,以识别类似于 Web 外壳调用的行为。
  • 加密挖掘活动 - Defender for Containers 使用多个启发法来识别正在运行的容器上的加密挖掘活动,包括可疑下载活动、CPU 优化、可疑进程执行等。
  • 网络扫描工具 - Defender for Containers 可识别用于恶意活动的扫描工具的使用情况。

K8s 警报模拟工具

Defender for Containers 提供了一种工具,来模拟 K8s 环境中的各种攻击场景,这些场景导致发出警报。 模拟工具在目标群集中部署两个 Pod:攻击者牺牲品。 在模拟过程中,攻击者使用真实的技术“攻击”受害者。

注意

虽然模拟工具不会运行任何恶意组件,但建议在没有生产工作负载的专用群集上运行。

模拟工具使用基于 Python 的 CLI 运行,该 CLI 在目标群集中部署 Helm 图表。

安装模拟工具

  1. 先决条件:

    • 对目标群集拥有管理权限的用户。

    • 已启用 Defender for Containers,并已安装 Defender 传感器。 可运行以下命令来检查是否已安装 Defender 传感器:

      kubectl get ds microsoft-defender-collector-ds -n kube-system

    • 本地计算机上安装 Helm 客户端。

    • 本地计算机上安装 Python 3.7 或更高版本。

  2. kubeconfig 指向目标群集。 对于 Azure Kubernetes 服务,可以运行:

    az aks get-credentials --name [cluster-name] --resource-group [resource-group]

  3. 使用以下命令下载模拟工具:

    curl -O https://raw.githubusercontent.com/microsoft/Defender-for-Cloud-Attack-Simulation/refs/heads/main/simulation.py

运行模拟工具

  1. 使用以下命令运行模拟脚本:python simulation.py

  2. 选择模拟攻击场景或选择一次模拟所有攻击场景。 可用的模拟攻击场景包括:

场景 预期警报
侦查 检测到潜在的 Web 外壳活动
检测到可疑的 Kubernetes 服务帐户操作
检测到网络扫描工具
横向移动 检测到潜在的 Web 外壳活动
检测到对云元数据服务的访问
机密收集 检测到潜在的 Web 外壳活动
检测到敏感文件访问
检测到潜在的机密侦查
加密挖掘 检测到潜在的 Web 外壳活动
检测到 Kubernetes CPU 优化
访问 ld.so.preload 的容器中的命令
检测到潜在的加密挖掘者下载
检测到容器中正在执行漂移二进制
Web shell 检测到潜在的 Web 外壳活动

注意

有些警报几乎是实时触发的,有些则可能需要长达一个小时。

后续步骤