【问题标题】:Falco output formationFalco输出形成
【发布时间】:2021-05-05 05:37:05
【问题描述】:

我正在使用运行时检测工具 Falco 分析容器行为至少 40 秒,使用检测新生成和执行进程的过滤器存储包含检测到的事件的事件文件 art /opt/falco-incident.txt。我尝试将输出结果格式化为每行一个,格式为 [timestamp],[uid],[user-name],[processName]

我创建了 yaml 文件 audit.yaml

apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata
  namespace: ""
  verb: ""
  resources:
  - group: ""
    resource: ""
  - name: audit
    hostPath:
      path: /etc/kubernetes/audit.yaml
      type: File
  - name: audit-log
    hostPath:
      path: /var/log/all-resources.log
      type: FileOrCreate
  - mountPath: /etc/kubernetes/audit.yaml
    name: audit
    readOnly: true
  - mountPath: /var/log/all-resources.log
    name: audit-log
    readOnly: false

我通过添加这 3 行来编辑 kube-apiserver

 - --audit-policy-file=/etc/kubernetes/audit.yaml
 - --audit-log-path=/var/log/all-resources.log
 - --audit-log-maxage=1 

主要问题是:如何以及在何处定义应如下所示的所需输出?

[时间戳],[uid],[用户名],[进程名]

[时间戳],[uid],[用户名],[进程名]

....

【问题讨论】:

  • 请提供更多细节。您是否在问如何将 falco 的默认输出格式化为所需的格式?还是你问的是k8s审计策略配置?
  • 是的,我需要编辑 falce 的默认输出并将其格式化为 [timestamp],[uid],[user-name],[processName]
  • 看来您的审核策略不正确,请参考Audit policy,尤其是[Log backend]、[Webhook backend]。在 audit.k8s.io/v1 我们没有这样的参数:mountPath, hostPath 它应该在 kube-apiserver yaml 文件中指定。请提供使用过的 yaml/部署、当前审计事件、falco 事件 - 首选 json 格式。您是否在 falco config 中尝试过 [program_output] 并将输出通过管道传输到 jq
  • 有没有办法以这种格式打印输出

标签: kubernetes falco


【解决方案1】:

自定义规则应在文件 etc/falco/falco_rules_local.yaml 中定义。请检查 etc/falco/falco_rules.yaml 中已经存在的规则,并使用相同的格式定义新规则。

【讨论】:

  • 有没有办法以这种格式打印输出?
猜你喜欢
  • 2021-12-29
  • 1970-01-01
  • 2022-09-27
  • 2022-10-08
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
  • 1970-01-01
  • 2022-08-05
相关资源
最近更新 更多