Cómo utilizar Docker Scan para encontrar vulnerabilidades en sus imágenes – CloudSavvy IT

Docker ahora se envía con soporte de escaneo de seguridad incorporado. Puede escanear localmente las imágenes de su contenedor para identificar posibles vulnerabilidades. Esto acelera el ciclo de desarrollo al proporcionar comentarios más inmediatos en comparación con las canalizaciones de CI y los servicios en la nube.

La scan El comando está disponible de forma predeterminada en la versión 20.10 de Docker. Docker está asociado con Snyk para llevar los análisis de seguridad a su CLI. Aparecerá un mensaje de consentimiento por única vez la primera vez que ejecute el comando. Escriba «y» y presione enter para confirmar la integración de Snyk.

Además de dar su consentimiento a Snyk, el escaneo de contenedores también requiere un inicio de sesión en Docker Hub. Correr docker login para proporcionar su nombre de usuario y contraseña antes de comenzar a escanear.

Intenta correr docker scan --version para comprobar su instalación. Verá el número de versión del scan enchufar. La salida también nombra el proveedor de análisis de seguridad que scan usará (actualmente Snyk). Se podrían agregar proveedores adicionales en el futuro.

Cómo funcionan los escaneos

docker scan acepta un nombre de imagen como parámetro. Escaneará la imagen contra el Base de datos Snyk de las vulnerabilidades de los contenedores. Se cubre una amplia gama de problemas, que van desde imágenes base obsoletas hasta exploits contra las bibliotecas de software de código abierto que está utilizando.

Snyk puede mostrarte el Dockerfile línea que introduce una vulnerabilidad. Esto le brinda un punto de partida inmediato a medida que resuelve cada problema. Los resultados aparecerán directamente en su terminal después de que se complete el escaneo.

La base de datos de Snyk se actualiza continuamente con nuevas vulnerabilidades. No asuma que una imagen que pasa un escaneo una vez siempre obtendrá el mismo resultado en el futuro. Es una buena práctica escanear imágenes con regularidad para que sus cargas de trabajo permanezcan seguras.

Escanear una imagen

La forma más sencilla de escanear una imagen es pasar una etiqueta a docker scan:

docker scan hello-world:latest

El análisis puede tardar unos segundos en completarse. Las imágenes más grandes necesitarán más tiempo. Los resultados se mostrarán en su terminal una vez que estén disponibles. El resultado de ejemplo de un escaneo exitoso se muestra arriba.

Si bien dejar todo despejado puede ser reconfortante, la docker scan la salida es mucho más interesante cuando se detectan vulnerabilidades. Aquí hay un escaneo que encontró algunos problemas.

Cada problema tiene una breve descripción, una indicación de su gravedad y un enlace para obtener más información en el sitio web de Snyk.

Escaneos más avanzados

docker scan tiene mucha más funcionalidad que el ejemplo básico anterior. Puede personalizar el comportamiento del análisis utilizando varios indicadores.

Podría decirse que la bandera más útil es --file. Esto toma el camino hacia la imagen Dockerfile. Cuando le proporciona a Snyk un Dockerfile, puede realizar un análisis más detallado en función de su contenido. Algunas funciones de escaneo, como la detección de imágenes base desactualizadas, solo están disponibles cuando proporciona la Dockerfile.

docker scan hello-world:latest --file Dockerfile

Esto producirá un resultado similar al siguiente:

Tested 100 dependencies for known issues, found 50 issues.

According to our scan, you are currently using the most secure version of the selected base image.

La última línea indicará si su imagen base, la FROM instrucción en su Dockerfile—Es seguro. Se mostrarán sugerencias de etiquetas alternativas si la imagen está desactualizada o contiene vulnerabilidades que se han resuelto desde entonces.

A veces, es posible que desee ejecutar un análisis que ignore las vulnerabilidades en su imagen base. Pasa el --exclude-base bandera para lograr esto. Esto es útil si la imagen base contiene muchos problemas de baja gravedad y no hay una ruta de actualización disponible. La exclusión del ruido le ayuda a concentrarse en los problemas que se pueden resolver dentro de las capas de su imagen.

Personalización de la salida de escaneo

docker scan acepta algunas opciones de formato diferentes. Hasta ahora, hemos visto la salida predeterminada. Presenta problemas como una lista legible por humanos dentro de su terminal.

Pasando el --json flag indica al comando que emita el JSON sin procesar que recibe. Esto es ideal cuando estás usando docker scan mediante programación en scripts de CI o herramientas de terceros. Puede procesar el JSON usted mismo para extraer solo la información que necesita.

Otra opcion es --dependency-tree. Esto emitirá una vista de árbol de las dependencias de su imagen encima de la lista de vulnerabilidades. Esto puede ayudarlo a visualizar cómo se ingresan los diferentes paquetes, lo que le permite identificar dónde surgen los problemas.

Finalmente, puede usar el --severity marca para filtrar las vulnerabilidades no deseadas. Usar low, medium, o high para indicar la gravedad que le interesa. El comando solo informará las vulnerabilidades clasificadas en el nivel dado o por encima de él.

Limitaciones

docker scan actualmente carece de apoyo para distribuciones de Alpine Linux. Además, la versión 0.7 del complemento tiene un error grave que hace que los escaneos locales fallen con un error de «imagen no encontrada». v0.7 solo puede escanear imágenes que existen en Docker Hub y otros registros públicos. La cuestión ha sido arreglado en v0.8, pero v0.7 sigue siendo la versión que se distribuye ampliamente con las versiones de Docker en Linux.

Más allá de los problemas técnicos, el servicio Snyk impone límites de tarifas estrictos en el uso de docker scan. Puede realizar 10 escaneos gratis cada mes. Si inicia sesión con Snyk, eso aumenta a 200 escaneos por mes.

Correr docker scan --login para obtener su URL de inicio de sesión única. Cópielo en su navegador y siga las instrucciones para autenticarse. Puede iniciar sesión utilizando Docker Hub o varios proveedores externos. Una vez que haya iniciado sesión, aparecerá un botón «Autenticar». Haga clic aquí para volver a su terminal. Debería ver un mensaje «Snyk ahora está listo para ser utilizado».

Resumen

El escaneo de imágenes integrado de Docker hace que las vulnerabilidades de los contenedores sean más fáciles de descubrir y resolver. Cualquier desarrollador con acceso a la CLI de Docker y una imagen de contenedor ahora puede buscar vulnerabilidades sin tener que ingresar a un registro.

Los análisis regulares lo ayudan a proteger sus contenedores contra posibles amenazas. Las imágenes base obsoletas y las vulnerabilidades en las dependencias afectan significativamente su postura de seguridad, pero pueden pasar fácilmente desapercibidas. docker scan le brinda mayor confianza en sus contenedores al revelar problemas que de otro modo habría pasado por alto.

Deja un comentario

En esta web usamos cookies para personalizar tu experiencia de usuario.    Política de cookies
Privacidad