Detectar y alertar sobre actividad sospechosa dentro de contenedores en ejecución o en nodos del clúster.
→Desplegar Falco como un DaemonSet. Falco usa eBPF o un módulo del kernel para monitorizar llamadas al sistema y alerta sobre comportamientos anómalos basados en su conjunto de reglas (por ejemplo, shell en contenedor, conexiones de red inesperadas).
Por qué: Falco proporciona visibilidad en tiempo real del comportamiento en tiempo de ejecución, permitiendo la detección de amenazas como escapes de contenedores, criptominado o exfiltración de datos que el escaneo estático no puede ver.
Referencia↗
Una regla predeterminada de Falco está generando demasiados falsos positivos.
→Crear un archivo de reglas de Falco personalizado para anular la regla predeterminada. Añadir excepciones a la `condition` de la regla para excluir comportamientos conocidos como seguros, como procesos específicos o imágenes de contenedor (por ejemplo, `and not container.image.repository contains "debug"`).
Por qué: Ajustar las reglas es fundamental para operacionalizar la seguridad en tiempo de ejecución. Reducir el ruido asegura que los equipos de seguridad puedan centrarse en alertas accionables y de alta prioridad.
Registrar un log cronológico e inmutable de todas las acciones realizadas contra la API de Kubernetes.
→Habilitar el registro de auditoría en el `kube-apiserver` proporcionando las banderas `--audit-policy-file` y `--audit-log-path`. Configurar la política para definir qué se registra y a qué nivel.
Por qué: Los logs de auditoría son esenciales para el análisis de seguridad, la investigación de incidentes y el cumplimiento. Proporcionan un registro definitivo de quién hizo qué y cuándo.
Referencia↗
Auditar el acceso a recursos sensibles como Secrets sin registrar el contenido del secreto.
→Configurar la regla de política de auditoría para Secrets para usar `level: Metadata`. Esto registra el usuario, la marca de tiempo, el recurso y el verbo, pero omite los cuerpos de solicitud y respuesta.
Por qué: Esto proporciona responsabilidad sobre quién accede a los secretos sin crear un nuevo riesgo de seguridad al escribir datos sensibles en los logs de auditoría.
Agrupar logs de todos los componentes del clúster y aplicaciones para un análisis centralizado.
→Desplegar un agente de recolección de logs (por ejemplo, Fluentd, Vector) como un DaemonSet para recolectar logs de los nodos y reenviarlos a un SIEM centralizado o sistema de gestión de logs (por ejemplo, Elasticsearch, Splunk).
Por qué: El registro centralizado es crucial para correlacionar eventos en todo el clúster durante una investigación de incidentes y para mantener registros a largo plazo para el cumplimiento.
Reenviar las alertas de seguridad de Falco a un sistema externo para notificación y respuesta.
→Desplegar `Falcosidekick` junto con Falco. Configurarlo para recibir alertas de Falco y reenviarlas a salidas como Slack, PagerDuty o un SIEM.
Por qué: Falcosidekick proporciona un mecanismo flexible y robusto para integrar las alertas en tiempo real de Falco en los flujos de trabajo operativos y de seguridad existentes.
Detectar si un contenedor en ejecución ha sido modificado, lo que podría indicar un compromiso.
→Aplicar contenedores inmutables con `readOnlyRootFilesystem: true`. Usar una herramienta de seguridad en tiempo de ejecución como Falco para monitorizar y alertar sobre cualquier escritura de archivos en ubicaciones inesperadas.
Por qué: En un modelo inmutable, los contenedores nunca se modifican en tiempo de ejecución; se reemplazan. Cualquier desviación de este patrón es un fuerte indicador de una posible brecha de seguridad.