Формирование продукции Falco

Я использую инструмент обнаружения времени выполнения 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 

Главный вопрос: как и где определить желаемый результат, который должен выглядеть так?

[отметка времени], [uid], [имя пользователя], [имя процесса]

[отметка времени], [uid], [имя пользователя], [имя процесса]

....

2 ответа

Я думаю, вы идете в неправильном направлении. В вопросе указано использование инструмента Falco, поэтому вам необходимо отредактировать файл falco_rules.local.yaml. Это не имеет ничего общего с политикой аудита. Это может быть что-то вроде этого:

      - rule: spawned_process_in_container
  desc: A process was spawned in the container.
  condition: container.name = "pod" and evt.type = execve
  output: "%evt.time,%user.uid,%user.name,%proc.name"
  priority: ERROR

И когда вы пытаетесь запустить, вы можете использовать приведенную ниже команду для запуска 40 секунд.

falco -M 40 -r /etc/falco/falco_rules.local.yaml > log.txt

Это запустит falco на 40 секунд с заданными вами условиями и поместит результат в желаемом формате в файл log.txt.

PS: я знаю, что уже поздно отвечать, но кому-то это может быть полезно.

Пользовательское правило должно быть определено в файле etc / falco / falco_rules_local.yaml. Пожалуйста, проверьте правила, уже присутствующие в etc / falco / falco_rules.yaml, и используйте тот же формат для определения новых правил.

Другие вопросы по тегам