容器工作负载保护策略

编辑

要释放容器防御 (D4C) 集成的全部功能,您需要了解其策略语法。这将使您能够构建策略,精确地允许预期的容器行为并阻止意外行为,从而增强容器工作负载的安全态势。

D4C 集成策略由选择器响应组成。每个策略必须至少包含一个选择器和一个响应。目前,系统支持两种类型的选择器和响应:fileprocess。选择器定义要匹配的系统操作,并且可以包含多个条件(使用逻辑AND分组)以精确选择事件。响应定义在系统操作与关联选择器中指定的条件匹配时要采取的操作。

此页面上描述的默认策略提供了一个示例,该示例对于理解 D4C 策略很有用。在描述之后,您会找到选择器条件、响应字段和操作的综合词汇表。

默认策略

编辑

默认的 D4C 集成策略包含两个选择器-响应对。它旨在实现核心容器工作负载保护功能。

  • 威胁检测:第一个选择器-响应对旨在将进程遥测数据流传输到您的 Elasticsearch 集群,以便 Elastic Security 可以对其进行评估以检测威胁。选择器和响应都命名为allProcesses。选择器选择所有 fork 和 exec 事件。关联的响应指定应记录所选事件。
  • 漂移检测和预防:第二个选择器-响应对旨在在检测到容器漂移时创建警报。选择器和响应都命名为executableChanges。选择器选择所有createExecutablemodifyExecutable 事件。关联的响应指定所选事件应创建警报,这些警报将发送到您的 Elasticsearch 集群。您可以通过将其设置为阻止来修改响应以阻止漂移操作。
The defend for containers policy editor with the default policies

选择器

编辑

选择器需要一个名称和至少一个操作。它将选择指定的操作类型的全部事件,除非您还包含条件以缩小选择范围。某些条件可用于 fileprocess 选择器,而其他条件仅可用于其中一种类型的选择器。

常用条件
编辑

这些条件可用于 fileprocess 选择器。

名称 描述

containerImageFullName

要匹配的完整容器镜像名称列表。例如:docker.io/nginx

containerImageName

要匹配的容器镜像名称列表。例如:nginx

containerImageTag

要匹配的容器镜像标签列表。例如:latest

kubernetesClusterId

要匹配的 Kubernetes 集群 ID 列表。为了与 KSPM 保持一致,kube-system 命名空间的 UID 用作集群 ID。

kubernetesClusterName

要匹配的 Kubernetes 集群名称列表。

kubernetesNamespace

要匹配的 Kubernetes 命名空间列表。

kubernetesPodName

要匹配的 Kubernetes Pod 名称列表。支持尾随通配符。

kubernetesPodLabel

资源标签列表。支持尾随通配符(仅值),例如:key1:val*

文件选择器条件
编辑

这些条件仅可用于 file 选择器。

名称 描述

operation

要匹配的系统操作列表。选项包括 createExecutablemodifyExecutablecreateFilemodifyFiledeleteFile

ignoreVolumeMounts

如果设置,则忽略所有卷挂载上的文件操作。

ignoreVolumeFiles

如果设置,则忽略仅对文件挂载的操作。例如:挂载的文件、configMaps 和密钥。

targetFilePath

要包含的文件路径列表。路径是绝对路径,并且支持通配符。* 通配符匹配单个目录内的任何字符序列,而 ** 通配符匹配跨多个目录和子目录的任何字符序列。

为了确保精确地定位文件完整性监控操作,每当在选择器中使用 deleteFilemodifyFilecreateFile 操作时,都需要一个 TargetFilePath

进程选择器条件
编辑

这些条件仅可用于 process 选择器。

名称 描述

operation

要匹配的系统操作列表。选项包括 forkexec

processExecutable

要匹配的可执行文件列表(包括完整路径)。例如:/usr/bin/cat。通配符支持与上面的 targetFilePath 相同。

processName

要匹配的进程名称列表(可执行文件基本名称)。例如:bashvicat

sessionLeaderInteractive

如果设置为 true,则仅匹配交互式会话(定义为具有控制 TTY 的会话)。

响应字段
编辑

策略可以包含一个或多个响应。每个响应都包含以下字段

字段 描述

match

一个或多个相同类型(fileprocess)的选择器的数组。

exclude

可选。一个或多个选择器的数组,用作 match 中所有内容的排除项。

actions

当至少一个 match 选择器匹配且没有 exclude 选择器匹配时要执行的操作数组。选项包括 logalertblock

响应操作
编辑

D4C 响应可以包含以下操作

操作 描述

log

将事件发送到 logs-cloud_defend.file-* 数据流(对于文件响应)和 logs-cloud_defend.process-* 数据流(对于进程响应)。

alert

将事件(文件或进程)写入 logs-cloud_defend.alerts-* 数据流。

block

阻止系统操作继续进行。此阻止操作发生在事件执行之前。如果启用了阻止,则需要设置警报操作。

注意:目前,阻止仅支持文件操作。