Buscar vulnerabilidades en imágenes de Docker con Snyk

Gisela Torres
Computación en la nube
He buscado las vulnerabilidades en imágenes de Docker con Snyk ¡y bingo! no puedes descuidarte tampoco en este aspecto, al igual que con los secretos. En este artículo te cuento cómo lo hago.

Buscar vulnerabilidades en imágenes de Docker con Snyk

Ya queda poco para que comience el Bootcamp de DevOps de Lemoncode y es por ello que estoy revisando y actualizando el contenido de todas las demos que tengo para contar Docker. Aprovechando que estas tienen un año he querido escanear aquellas imágenes que utilicé entonces en busca de vulnerabilidades ¡y bingo! no puedes descuidarte tampoco en este aspecto, al igual que con los secretos. En este artículo te cuento cómo lo hago.

Dockerfile de ejemplo

Para que veas cómo ejecutarlo y qué información te aporta voy a utilizar este Dockerfile de ejemplo:

Lo primero que debemos hacer es generar la imagen en local a través del siguiente comando:

Ahora ya tenemos una imagen que analizar.

Escanear la imagen desde el cliente de Docker

La forma de hacer este proceso es súper sencilla, gracias a integración que se ha hecho con el servicio Snyk. Para comenzar el escaneo solo debes ejecutar lo siguiente:

Esto comenzará con el análisis donde devolverá una salida más o menos extensa, dependiendo de las vulnerabilidades que encuentre, y con un resumen final:

docker scan muestra todas las vulnerabilidades de tu imagen

En él, como ves, no solo te dice cuántas vulnerabilidades ha encontrado, incluso si haces scroll hacia arriba puedes ver en detalle cuáles son y su criticidad, sino que además te hace recomendaciones en cuanto a la imagen base que deberías de utilizar. En mi caso me ofrece varias alternativas, por lo que voy a modificar mi Dockerfile con la primera de las opciones:

Si vuelvo a generar la imagen y a escanearla:

Verás que la salida ahora muestra muchas menos vulnerabilidades y en este caso te dice que ahora ya estás usando la imagen base más segura:

También puedes incluso obtener un informe más detallado, si añades al comando el Dockerfile que genera la imagen:

E incluso excluir del análisis la imagen base, por si solo quieres centrarte el «lo que has hecho mal tú»

😛

Este servicio también puede integrarse con los repositorios de Docker Hub:

Habilitar el escaneo de vulnerabilidades cuando haces push

Pero para ello debes tener una de las suscripciones de pago.

El escaneo de vulnerabilidades en Docker Hub es de pago

Sin embargo, puedes lanzarlo en local, con el plan gratuito que tienes solo por estar logado a Docker Hub (tiene limites de escaneo claro), mientras desarrollas o quieres comprobar cómo de segura es una imagen de terceros que quieres usar.

¡Saludos!

Articulo Original-

Gisela Torres

Gisela Torres trabaja en Microsoft como Cloud Solution Architect. Se trata de un puesto técnico cuya misión es apoyar y asesorar sobre soluciones y arquitecturas cloud utilizando Microsoft Azure como plataforma. Antes de eso trabajo como arquitecta de software y desarrolladora de aplicaciones en varias empresas. Durante esos años recibio varios premios por ejemplo Most Valuable Professional en Microsoft Azure. Le encanta programar y la tecnología en general.

Más artículos de Gisela en su blog - https://www.returngis.net/

Related Posts

Únete a nuestra Newsletter

Lidera la Conversación en la Nube