Skip to main content

Autenticación de Docker Hub: ¿Será 2021 el año en que habilites 2FA en Docker Hub?

Escrito por
Blog Headers

15 de marzo de 2021

0 minutos de lectura

A juzgar por las reacciones del público durante mis charlas anteriores sobre «Cómo proteger contenedores vulnerándolos», así como por las reacciones recientes en Twitter, no muchos conocen la función relativamente reciente de autenticación multifactor de Docker Hub.

En octubre de 2019, para mejorar el mecanismo de autenticación de Docker Hub, Docker lanzó una versión beta de la autenticación de dos factores (también conocida como 2FA). Esta nueva función refuerza aún más la seguridad de la cadena de suministro de software del principal y más grande centro de imágenes de contenedores y aplicaciones de Docker.

Uno de los temas que abordé durante mis charlas fue la disponibilidad de 2FA para quienes mantienen y desarrollan en el registro de npm y el registro de Docker Hub. Quería medir la reacción del público ante la siguiente diapositiva, que indica que ninguna cuenta de Docker Hub había habilitado 2FA.

Diapositiva titulada «Estado de la 2FA en el ecosistema» que indica aproximadamente el 0 % de todos los usuarios al 1 de octubre de 2019, con un ícono de ballena.

¿Qué hay detrás de esta cifra?

En pocas palabras, Docker Hub no admitió mecanismos multifactor hasta octubre de 2019. Si comparamos con otros registros, los datos compartidos sobre el registro npmjs en enero de 2020 muestran que solo el 9,27 % de los desarrolladores había habilitado 2FA. Dado que 2FA se introdujo en npmjs a finales de 2017, los desarrolladores se están quedando atrás en la seguridad de su cadena de suministro de software.

Docker Hub implementa 2FA

Dado que Docker Hub es el principal registro de software para imágenes de contenedores y aloja millones de imágenes de Docker, es evidente que la seguridad de la cadena de suministro de software debe tomarse en serio.

La comunidad recibió con entusiasmo el anuncio del equipo de Docker en el repositorio de GitHub sobre sus planes para implementar la compatibilidad con 2FA en la autenticación de Docker Hub.

Comentario que dice «Ahora planeamos implementarlo a partir de finales de junio», con reacciones de pulgar hacia arriba, sonrisa, celebración y cohete.

En octubre de 2019 se anunció oficialmente la versión beta de la compatibilidad con 2FA en Docker Hub y quedó disponible para que los usuarios la habilitaran.

Habilita la autenticación de dos factores en Docker Hub

Anteriormente, describimos 10 prácticas recomendadas para la seguridad de imágenes de Docker. La compatibilidad con 2FA en la autenticación de Docker Hub representa un avance importante para la seguridad de las imágenes de Docker y de la cadena de suministro de software. Lo mejor para tu proyecto es habilitarla. Así, reduces el riesgo de que un atacante comprometa tu cuenta e inserte imágenes maliciosas de contenedores Docker en el registro de contenedores.

¿Cómo habilitar la autenticación de dos factores en Docker?

Para habilitar la autenticación de dos factores, ve a la configuración de seguridad de tu cuenta en Docker Hub y sigue las instrucciones. Cuando termines, ¡considera compartir la buena noticia y correr la voz!

Pantalla de configuración de autenticación de dos factores que muestra la 2FA activada, botones para usar códigos de recuperación y desactivarla, y una opción para generar un código nuevo.

La seguridad de tus imágenes de contenedor

¿Es suficiente 2FA en Docker Hub para protegerte?

Proteger el acceso a tus repositorios de imágenes es excelente; ahora hablemos de las imágenes en sí. Snyk Container Scanner permite a los desarrolladores analizar imágenes en busca de CVE directamente desde su escritorio: todo un cambio para una seguridad que prioriza a los desarrolladores. Pruébalo tú mismo instalando la CLI de Snyk y ejecutando este sencillo comando (reemplaza node:latest con la etiqueta de tu imagen):

$ snyk container test node:latest

...

Project name:      docker-image|node
Docker image:      node:latest
Platform:          linux/amd64
Base image:        node:19.8.1-bullseye
Licenses:          enabled

Tested 410 dependencies for known issues, found 211 issues.

Base Image            Vulnerabilities  Severity
node:19.8.1-bullseye  211              5 critical, 5 high, 2 medium, 199 low

Recommendations for base image upgrade:

Alternative image types
Base Image               Vulnerabilities  Severity
node:19.8-bullseye-slim  43               0 critical, 0 high, 0 medium, 43 low
node:buster-slim         60               0 critical, 3 high, 1 medium, 56 low
node:19.8-buster         387              2 critical, 12 high, 24 medium, 349 low

Si tienes disponible el Dockerfile de tu imagen, puedes obtener aún más detalles agregando --file Dockerfile al comando anterior. Puedes consultar usos más avanzados de la línea de comandos en el sitio de documentación de la CLI de Snyk Container.

El análisis de Snyk Container también se puede integrar directamente con tus repositorios de Docker Hub y ofrecer visibilidad completa de las vulnerabilidades de seguridad que se envían allí. Además, puede supervisar tus imágenes y alertarte sobre las vulnerabilidades que se detecten en el futuro, aunque no las hayas cambiado ni enviado imágenes nuevas.

Snyk es gratis para proyectos de código abierto y también ofrece un nivel gratuito para proyectos privados, así que puedes registrarte en Snyk para probar y corregir tus imágenes de Docker. Eso sí, ¡no te detengas ahí! Importa también tus proyectos de aplicaciones.

Seguridad de contenedores centrada en los desarrolladores

Snyk encuentra y corrige automáticamente vulnerabilidades en imágenes de contenedores y cargas de trabajo de Kubernetes.

Más prácticas de seguridad para Docker: