问题描述
我正在使用运行时检测工具 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
我编辑了 kube-apiserver,添加了这 3 行
- --audit-policy-file=/etc/kubernetes/audit.yaml
- --audit-log-path=/var/log/all-resources.log
- --audit-log-maxage=1
主要问题是:如何以及在何处定义应如下所示的所需输出?
[时间戳],[用户名],[进程名]
[时间戳],[进程名]
....
解决方法
自定义规则应在文件 etc/falco/falco_rules_local.yaml 中定义。请检查 etc/falco/falco_rules.yaml 中已经存在的规则,并使用相同的格式来定义新规则。