容器工作负载保护策略编辑

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

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

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

默认策略:编辑

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

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

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

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