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í.