0

我使用 minikube 创建了一个本地测试环境来测试自定义 falco 规则。

目标是在命名空间和 pod 名称中搜索关键字,并为其设置 Info 优先级,以便可以在 Kibana 中过滤掉它们。

以下是我编写的自定义宏和规则:

- macro: ns_contains_whitelist_terms
  condition: k8s.ns.name = monitoring or k8s.ns.name = jenkins

- macro: pod_name_contains_whitelist_terms
  condition: >
    (k8s.pod.name startswith meseeks or
    k8s.pod.name startswith jenkins or
    k8s.pod.name startswith wazuh)
    
- rule: priority_whitelist_ns_alert
  desc: add an Info priority to the monitoring and jenkins namespaces
  condition: ns_contains_whitelist_terms
  output: "Namespace is jenkins or monitoring findme1" 
  priority: INFO
  tag: whitelist
  
- rule: priority_whitelist_pod_name_alert
  desc: add an Info priority to pods that start with wazuh, jenkins or meseeks
  condition: pod_name_contains_whitelist_terms
  output: "Pod name starts with wazuh, jenkins or meseeks findme2"
  priority: INFO
  tag: whitelist

我已经创建了命名空间和 pod 来测试规则,它们会在我期望的时候触发(例如,当 falco 启动时,当我生成 shell 或与 pod 交互时)。

但是,警报会反复触发,有时一次有数百个,因此当我 grep 日志时的输出类似于此示例

出于好奇,当不同事件发生时,我计算了不同规则警报的行数,并注意到它们并不相同。见下表:

事件 命名空间规则已触发 #: 已触发 Pod 名称规则 #:
启动 6 4
产卵壳 106 55
适当的更新 943 23
安装 wget 84 26

我能想到这些规则会被多次触发的唯一两个原因是

  1. 我写错了规则,或者
  2. 后台发生的事件(不是我直接触发的)导致规则重复触发。

我相信 2 的可能性更大,但如果任何人能够确认我写的规则看起来不错或有任何其他见解,我将不胜感激。

4

0 回答 0