Supported OS Linux Windows

Versión de la integración2.0.0

Información general

Falco es una herramienta de seguridad nativa de la nube. Proporciona detección de amenazas casi en tiempo real para cargas de trabajo en la nube, en contenedores y en Kubernetes aprovechando la información en tiempo de ejecución. Falco puede monitorizar eventos definidos con reglas personalizables de diversas fuentes, incluido el núcleo Linux, y enriquecerlos con metadatos del servidor de API Kubernetes, del tiempo de ejecución del contenedor y más. Esta integración ingiere los siguientes logs:

  • Alerta: Representa detalles como el nombre de la regla, la descripción, la condición, el mensaje de salida, el nivel de prioridad y las etiquetas (tags).

La integración de Falco ingiere de forma continua datos de los logs de Falco a través del webhook. Antes de la ingesta de los datos, normaliza y enriquece los logs, garantizando un formato de datos constante y mejorando el contenido de la información para el procesamiento y el análisis posteriores. La integración proporciona información sobre los logs de alertas a través de los dashboards predefinidos.

Configuración

Configuración

Recopilación de métricas

Falco expone métricas con formato Prometheus que ofrecen una observabilidad de tu tiempo de ejecución, tu procesamiento de eventos y tu postura de seguridad. El Datadog Agent puede recopilar estas métricas mediante la integración de OpenMetrics. Sigue los pasos que se indican a continuación para activar y configurar la recopilación de métricas de Falco.

1. Activar las métricas de Prometheus en Falco

Edita tu archivo de configuración falco.yaml para activar el endpoint de métricas:

metrics:
  enabled: true
  listen_address: "<FALCO_HOST>"
  listen_port: 8765

Reinicia Falco para aplicar los cambios:

systemctl restart falco

Si Falco se instala con Helm, puedes activar las métricas con:

helm upgrade -i falco falcosecurity/falco \
  --set metrics.enabled=true \
  --set metrics.listen_address="<FALCO_HOST>" \
  --set metrics.listen_port=8765
2. Configurar el Datadog Agent

Actualiza tu configuración del Datadog Agent para scrapear el endpoint de métricas Prometheus de Falco. Por ejemplo, añade lo siguiente a conf.d/prometheus.d/conf.yaml:

instances:
  - openmetrics_endpoint: http://<FALCO_HOST>:8765/metrics

Sustituye <FALCO_HOST> por el nombre de host o la dirección IP donde se ejecuta Falco.

En los entornos Kubernetes, puedes utilizar plantillas de integración de Autodiscovery para configurar el Agent para que detecte y extraiga automáticamente los endpoints de métricas de Falco.

3. Validación

Después de la configuración, comprueba que Datadog ingiere las métricas de Falco. Deberías ver métricas con el prefijo falco. en el Explorador de métricas de Datadog.

Recopilación de logs

Reenvío de API
  • Actualiza los parámetros en el archivo de configuración (falco.yaml) como se muestra a continuación:

    json_output: true
    http_output:
      enabled: true
      url: <DATADOG_WEBHOOK_URL> 
    

    Nota: Sustituye <DATADOG_WEBHOOK_URL> por la URL de entrada correcta para tu sitio Datadog, como por ejemplo https://http-intake.logs.us3.datadoghq.com/api/v2/logs?dd-api-key=<dd-api-key>&ddsource=falco para US3.

    • Reinicia Falco utilizando el siguiente comando:

      systemctl restart falco
      
  • Si Falco se instala utilizando Helm, puedes utilizar el siguiente comando para añadir o actualizar la URL HTTP:

    helm upgrade -i falco falcosecurity/falco \
    --set falco.http_output.enabled=true \
    --set falco.http_output.url="<DATADOG_WEBHOOK_URL>" \
    --set falco.json_output=true \
    --set json_include_output_property=true
    

    Nota: Sustituye <DATADOG_WEBHOOK_URL> por la URL de entrada correcta para tu sitio Datadog, como por ejemplo https://http-intake.logs.us3.datadoghq.com/api/v2/logs?dd-api-key=<dd-api-key>&ddsource=falco para US3.

Agent
  1. La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent, actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Añade este bloque de configuración a tu archivo falco.d/conf.yaml para empezar a recopilar logs de Falco:

    logs:
      - type: file
        path: <PATH TO LOGS>
        service: myservice
        source: falco
    

    Cambia los valores de los parámetros path y service, y configúralos para tu entorno. Consulta el ejemplo falco.d/conf.yaml para conocer todas las opciones de configuración disponibles.

  3. Reinicia el Agent.

Nota: Asegúrate de que el usuario datadog-agent tiene acceso de lectura y ejecución para el rastreo de los archivos de logs de los que quieres recopilar logs.

master

Datos recopilados

Métricas

falco.container.memory.used
(gauge)
Uso de memoria del proceso Falco en despliegues de contenedores (similar a container_memory_working_set_bytes)
Se muestra en bytes
falco.cpu.usage.ratio
(gauge)
Porcentaje de uso de CPU del proceso Falco (equivalente a la salida ps)
falco.duration.seconds.count
(count)
Duración total en segundos que Falco se ha estado ejecutando
Se muestra en segundos
falco.evt.hostname
(gauge)
Información sobre el nombre de host
falco.evt.source
(gauge)
Información sobre fuentes de eventos (por ejemplo, syscall o fuentes basadas en complementos)
falco.host.cpu.usage.ratio
(gauge)
Porcentaje global de uso de CPU de todos los procesos en ejecución en el sistema anfitrión
falco.host.memory.used
(gauge)
Uso total de memoria en bytes de todos los procesos en ejecución en el sistema anfitrión
Se muestra en bytes
falco.host.num.cpus
(gauge)
Número total de CPU en el sistema anfitrión
Se muestra como cpu
falco.host.open.fds
(gauge)
Número total de descriptores de archivo abiertos en el sistema anfitrión
Se muestra como archivo
falco.host.procs.running
(gauge)
Número de procesos actualmente en ejecución en el sistema anfitrión (de /proc/stat)
Se muestra como proceso
falco.jemalloc.active.count
(count)
Asignación de memoria activa por el asignador de memoria jemalloc
Se muestra en bytes
falco.jemalloc.allocated.count
(count)
Memoria total asignada por el asignador de memoria jemalloc
Se muestra en bytes
falco.jemalloc.mapped.count
(count)
Memoria asignada por el asignador de memoria jemalloc
Se muestra en bytes
falco.jemalloc.metadata.count
(count)
Memoria utilizada para los metadatos jemalloc
Se muestra en bytes
falco.jemalloc.metadata.thp.count
(count)
Memoria Transparent Huge Page
Se muestra en bytes
falco.jemalloc.resident.count
(count)
Memoria residente mantenida por el asignador de memoria jemalloc
Se muestra en bytes
falco.jemalloc.retained.count
(count)
Memoria retenida por jemalloc para futuras asignaciones
Se muestra en bytes
falco.jemalloc.zero.reallocs.count
(count)
Memoria de reasignaciones de tamaño cero en jemalloc
Se muestra en bytes
falco.kernel.release
(gauge)
Información sobre la versión del núcleo
falco.memory.pss
(gauge)
Uso de memoria Proportional Set Size del proceso Falco
Se muestra en bytes
falco.memory.rss
(gauge)
Uso de memoria Resident Set Size del proceso Falco
Se muestra en bytes
falco.memory.vsz
(gauge)
Uso de memoria Virtual Set Size del proceso Falco
Se muestra en bytes
falco.outputs.queue.num.drops.count
(count)
Número total de eventos descartados de la cola de salida
falco.rules.matches.count
(count)
Número total de coincidencias de reglas detectadas por las reglas de seguridad de Falco
falco.scap.engine.name
(gauge)
Información del motor SCAP (por ejemplo, bpf modern_bpf o kmod)
falco.scap.n.added.fds.count
(count)
Número total de descriptores de archivo añadidos a las tablas internas de seguimiento
Se muestra como archivo
falco.scap.n.added.threads.count
(count)
Número total de subprocesos añadidos a las tablas internas de seguimiento
Se muestra como subproceso
falco.scap.n.cached.fd.lookups.count
(count)
Número total de búsquedas correctas de descriptores de archivo desde la caché
falco.scap.n.cached.thread.lookups.count
(count)
Número total de búsquedas de subprocesos realizadas con éxito en la caché
falco.scap.n.containers
(gauge)
Número actual de contenedores rastreados
falco.scap.n.drops.buffer.count
(count)
Número total de eventos descartados por problemas de buffer
falco.scap.n.drops.count
(count)
Número total de descartes de eventos del lado del núcleo
falco.scap.n.drops.full.threadtable.count
(count)
Número total de eventos descartados debido a una tabla de subprocesos llena
falco.scap.n.drops.scratch.map.count
(count)
Número total de eventos descartados debido a problemas con el mapa Scratch
falco.scap.n.evts.count
(count)
Número total de eventos capturados por el motor de captura de llamadas al sistema
falco.scap.n.failed.fd.lookups.count
(count)
Número total de búsquedas fallidas de descriptores de archivo
Se muestra como archivo
falco.scap.n.failed.thread.lookups.count
(count)
Número total de búsquedas de subprocesos fallidas
falco.scap.n.fds
(gauge)
Número actual de descriptores de archivo almacenados en tablas internas
Se muestra como archivo
falco.scap.n.missing.container.images
(gauge)
Número de contenedores con imágenes faltantes o desconocidas
falco.scap.n.noncached.fd.lookups.count
(count)
Número total de búsquedas de descriptores de archivo no almacenados en caché
Se muestra como archivo
falco.scap.n.noncached.thread.lookups.count
(count)
Número total de búsquedas de subprocesos no almacenados en caché
falco.scap.n.removed.fds.count
(count)
Número total de descriptores de archivo eliminados de las tablas de seguimiento internas
Se muestra como archivo
falco.scap.n.removed.threads.count
(count)
Número total de subprocesos eliminados de las tablas de seguimiento internas
Se muestra como subproceso
falco.scap.n.retrieve.evts.drops.count
(count)
Número total de eventos descartados durante el proceso de recuperación
falco.scap.n.retrieved.evts.count
(count)
Número total de eventos recuperados con éxito del núcleo
falco.scap.n.store.evts.drops.count
(count)
Número total de eventos descartados durante el proceso de almacenamiento
falco.scap.n.stored.evts.count
(count)
Número total de eventos almacenados correctamente
falco.scap.n.threads
(gauge)
Número actual de subprocesos almacenados en las tablas internas de seguimiento
Se muestra como subproceso
falco.sha256.config.files
(gauge)
Información hash SHA256 de los archivos de configuración de Falco
falco.sha256.rules.files
(calibre)
Información hash SHA256 de los archivos de reglas de Falco

Logs

La integración de Falco recopila y envía logs de alerta de Falco a Datadog.

Eventos

La integración de Falco no incluye eventos.

Soporte

Para obtener más ayuda, ponte en contacto con el servicio de asistencia de Datadog.