# falco.yaml: Configuración mínima para QueComanTierra con respuesta activa
#
# Falco por defecto sólo DETECTA. Con program_output le decimos que pipe
# cada alerta que coincida con una regla CRITICAL/WARNING al response script.

rules_file:
  - /etc/falco/falco_rules.yaml          # reglas upstream de Falco
  - /opt/qct/detection/falco_rules.yaml  # reglas QueComanTierra

# ── Salidas ────────────────────────────────────────────────────────────────

json_output: true          # el response script consume JSON

# stdout: útil en desarrollo / journald
stdout_output:
  enabled: true

# file: persistencia local
file_output:
  enabled: true
  keep_alive: false
  filename: /var/log/falco.log

# program_output: cada alerta se pipe al response handler
# El script recibe el JSON completo en stdin.
# keep_alive: false → proceso nuevo por alerta (más seguro, más lento).
# Para entornos de producción con alto volumen, poner true y manejar
# el stream NDJSON dentro del script.
program_output:
  enabled: true
  keep_alive: false
  program: "/opt/qct/detection/falco_response.sh"

# ── Filtros de prioridad ───────────────────────────────────────────────────
# Solo dispara program_output para WARNING y superior.
# NOTICE/INFO se escriben a log pero no activan respuesta.
priority: warning

# ── Syscall buffer ─────────────────────────────────────────────────────────
# Aumentar si se pierden eventos durante el bulk xargs (Regla 3).
syscall_buf_size_preset: 4   # 4 MB por CPU

# ── Métricas (opcional) ────────────────────────────────────────────────────
metrics:
  enabled: true
  interval: 60s
  resource_utilization_enabled: true
