Seguridad en contenedores Docker: lo que debes configurar antes de poner un contenedor en producción

Contenedores Docker en infraestructura segura

Docker ha democratizado el despliegue de aplicaciones, pero también ha introducido nuevos vectores de ataque que muchos equipos desconocen. Un contenedor mal configurado puede comprometer el host completo.

Errores comunes de seguridad en Docker

  • Correr contenedores como root: si el proceso dentro del contenedor es root y hay un escape de contenedor, el atacante tiene acceso root al host.
  • Imágenes desactualizadas: usar imágenes base antiguas con vulnerabilidades conocidas.
  • API de Docker expuesta: el socket Docker (/var/run/docker.sock) montado en un contenedor da control total del host.
  • Secretos en variables de entorno o en la imagen: visibles en el historial de la imagen y en docker inspect.
  • Sin límites de recursos: un contenedor comprometido puede consumir todos los recursos del host.

Buenas prácticas

  • Corre siempre con usuario no root: USER appuser en el Dockerfile.
  • Usa imágenes base mínimas: Alpine o Distroless reducen la superficie de ataque.
  • Escanea imágenes con Trivy antes de desplegar.
  • Usa Docker Secrets o un vault para secretos, nunca variables de entorno en producción.
  • Activa read-only filesystem donde sea posible: --read-only.
  • Limita capacidades del kernel: --cap-drop ALL --cap-add CHOWN,NET_BIND_SERVICE.
  • Nunca montes el socket Docker en un contenedor de producción.

Blindara monitoriza el comportamiento en tiempo de ejecución de tus contenedores, detectando procesos anómalos, conexiones inesperadas y accesos no autorizados que el hardening inicial no pudo anticipar.

Read more