Actualizaciones y parches: Mantén Docker actualizado a la última versión para corregir posibles vulnerabilidades.
Usa imágenes oficiales: Siempre que sea posible, utiliza imágenes oficiales de Docker Hub o de fuentes confiables.
Revisa regularmente las imágenes: Usa herramientas como Trivy, Clair o Anchore para escanear vulnerabilidades en tus imágenes.
Minimiza el tamaño de la imagen: Usa imágenes base minimalistas como alpine.
Limita los privilegios: Nunca ejecutes contenedores en modo --privileged a menos que sea absolutamente necesario. Ajusta las capacidades del contenedor con --cap-add y --cap-drop.
Control de usuarios: Ejecuta procesos dentro de contenedores como usuario no root siempre que sea posible.
Configuración de red segura: Usa redes Docker personalizadas en lugar de la red predeterminada. No expongas innecesariamente puertos al host. Usa -p con precaución.
Almacenamiento seguro: Evita montar directorios sensibles del host en contenedores.
Logging y Monitorización: Activa la monitorización y registro de actividad. Considera herramientas como ELK stack o Prometheus.
Limita recursos: Usa opciones como --memory, --cpu-shares para limitar los recursos que un contenedor puede usar.
Firma de imágenes: Utiliza Docker Content Trust para firmar y verificar la integridad de las imágenes.
Runtime Protegido: Usa herramientas como Falco para monitorear actividad anómala en tiempo de ejecución.
Limita el acceso al demonio Docker: Asegúrate de que solo los usuarios que realmente lo necesiten tengan acceso al socket de Docker.
Deshabilita inter-container communication (ICC): Deshabilita ICC si no necesitas que los contenedores se comuniquen entre sí en la misma red.
Controla la versión de tus imágenes: No uses la etiqueta latest. Específicas versiones para tener un control más estricto y evitar sorpresas.
Auditorías: Considera hacer auditorías regulares a tus contenedores y configuraciones usando herramientas como Docker Bench for Security.
![]() |
Logo |
Fuente: Perito_inf