Background
Docker contenedores logs monitoring security Wazuh Ciberseguridad

Monitorización de contenedores Docker con Wazuh

Monitorización de contenedores Docker con Wazuh: Guía práctica para implementación empresarial en Wazuh

AI Security
8 min lectura
Background

Problema que resuelve

La adopción masiva de Docker introduce nuevos desafíos de seguridad y visibilidad. Los contenedores son efímeros, se escalan dinámicamente y generan logs descentralizados. Sin una monitorización centralizada, es imposible detectar actividades maliciosas, vulnerabilidades en imágenes o configuraciones inseguras, dejando la infraestructura expuesta.

Caso de uso empresarial

Una empresa de e-commerce migra su plataforma a microservicios en Docker. Necesitan cumplir con PCI DSS, lo que requiere auditoría de logs, detección de accesos no autorizados y escaneo de vulnerabilidades en las imágenes de contenedor desplegadas en producción. Wazuh centraliza toda esta información.

Requisitos previos

  • Wazuh Manager 4.7 o superior desplegado
  • Agente Wazuh instalado en el host Docker (Linux)
  • Docker y Docker Compose instalados en el host
  • Permisos de sudo para ejecutar comandos de administración

Implementación paso a paso

Paso 1. Configurar el agente Wazuh para recoger logs de Docker

# Editar la configuración del agente
sudo nano /var/ossec/etc/ossec.conf

En este archivo, dentro de la sección ossec_config, añade un bloque localfile para monitorizar el socket de Docker y otro para los logs de contenedores en formato json. Especifica la ruta /var/lib/docker/containers/*/*.log.

Paso 2. Habilitar la integración de Docker en el agente

# Editar la configuración de integraciones
sudo nano /var/ossec/etc/shared/docker.yaml

Crea este archivo con una sección de integraciones. Define una integración de tipo docker que ejecute el comando 'docker ps' y otra de tipo vulnerability_detector configurada para escanear imágenes Docker.

Paso 3. Reiniciar el agente Wazuh

sudo systemctl restart wazuh-agent
sudo tail -f /var/ossec/logs/ossec.log

Paso 4. Desplegar un entorno de prueba con Docker Compose

Crea un archivo docker-compose.yml con 3 servicios. Un servicio web que use la imagen nginx, un servicio app que use una imagen node y un servicio db que use la imagen mysql. Asegúrate de definir volúmenes para persistencia de la base de datos.

# Levantar los servicios
sudo docker-compose up -d
# Verificar que están corriendo
sudo docker-compose ps

Ejemplo práctico

Wazuh detecta automáticamente los nuevos contenedores. La integración de vulnerability_detector escaneará las imágenes nginx, node y mysql contra la base de datos de CVE. Si se encuentra una vulnerabilidad crítica (por ejemplo, CVE-2021-44228 en una versión antigua de Log4j en la app Node), Wazuh generará una alerta de nivel 12 en el dashboard, indicando el ID del CVE, la imagen afectada y el contenedor. Simultáneamente, si un atacante ejecuta un comando shell interactivo en el contenedor de la base de datos, Wazuh capturará este evento del log de Docker y activará una regerta de alerta por actividad sospechosa.

Conclusión y próximos pasos

Wazuh proporciona una capa de seguridad integral para entornos Docker, unificando la monitorización de logs, la detección de intrusiones y el escaneo proactivo de vulnerabilidades. Para escalar esta solución a un clúster Kubernetes o a un entorno de producción multi-host, se requiere configurar el agente en cada nodo y centralizar la gestión en el manager. Solicita una consulta gratuita para implementar esta solución.


¿Necesitas implementar esta solución? Solicita una consulta gratuita aquí.

Background