Skip to main content

Automatiza la seguridad de contenedores con pull requests para Dockerfile

Escrito por
Headshot of Danielle Inbar

Danielle Inbar

Container scanning

16 de marzo de 2021

0 minutos de lectura

La integración con tus administradores de código fuente y la creación de pull requests para corregir problemas han sido parte del éxito de Snyk a la hora de ayudar a nuestros clientes a corregir las dependencias de sus aplicaciones durante varios años. Ahora queremos ayudarte a abordar la seguridad de contenedores de una manera similar. Nos alegra compartir que estamos ampliando Snyk Container para ayudarte a corregir automáticamente los problemas en tu Dockerfile y mantener siempre actualizada la imagen base.

Panel que compara imágenes base actuales y alternativas según la cantidad y gravedad de las vulnerabilidades, con botones «Abrir un PR de corrección».

Hace poco comenzamos a dar más visibilidad a los Dockerfiles en Snyk: los detectamos automáticamente en los repositorios de git, mostramos las vulnerabilidades de sus imágenes base y te recomendamos imágenes base a las que puedes actualizar para reducir la cantidad de problemas de seguridad. Ahora queremos llevar esto al siguiente nivel y encargarnos de las correcciones por ti. A partir de hoy, Snyk te permite elegir entre la creación automática o manual de pull requests con los cambios necesarios en tu Dockerfile para usar una imagen base alternativa menos vulnerable. Esta automatización sigue mejorando los esfuerzos de tu equipo para gestionar grandes cantidades de vulnerabilidades en contenedores: no solo señala los problemas de los contenedores con anticipación, sino que también facilita y agiliza su corrección.

pull request de GitHub que recomienda actualizar a node:bookworm-slim, con una tabla que muestra vulnerabilidades de gravedad alta.

Correcciones de seguridad automatizadas a nivel de código para contenedores

Hasta ahora, Snyk te ofrecía recomendaciones de imágenes base que podías elegir usar. En el ejemplo de abajo, usamos node:10.4.0 como imagen base y Snyk Container nos muestra que contiene 956 vulnerabilidades, de las cuales 453 son de gravedad alta (al momento de escribir esto). Para esta imagen, según los datos recopilados por nuestros equipos de seguridad, recomendamos usar otra imagen base para reducir el riesgo de seguridad. En este ejemplo, una de las alternativas sería una actualización menor a node:10.23.2, que solo tiene 64 vulnerabilidades de gravedad alta.

Las nuevas pull requests de corrección te permiten seleccionar otras opciones de actualización, si lo prefieres. También permiten crear automáticamente pull requests de corrección para las actualizaciones menores.

El nuevo proceso detecta tu Dockerfile y te ofrece recomendaciones de imágenes base según la siguiente lógica:

  • Actualización menor: la actualización más segura y conveniente, que no cambia drásticamente las versiones del framework (Node, en nuestro ejemplo).

  • Actualizaciones mayores: una opción para actualizar a una versión principal que reduce más vulnerabilidades, pero que puede aumentar el riesgo de incompatibilidad de la aplicación debido al cambio de versión principal.

  • Actualizaciones alternativas: opciones viables de imágenes alternativas para reemplazar tu imagen base actual, por lo general más ligeras y capaces de reducir aún más las vulnerabilidades. Sin embargo, debido a que son más ligeras, es posible que requieran algunos pasos adicionales para usarlas.

Crearemos automáticamente pull requests para que revises y combines únicamente para la versión más reciente de la imagen base con actualización menor. Si decides abrir una pull request manualmente, puedes hacerlo y actualizar a cualquiera de las imágenes base alternativas de las recomendaciones anteriores.

pull request de GitHub que muestra un cambio en el Dockerfile de node:10 a node:debian-buster-slim para corregir las vulnerabilidades indicadas.

Disponibilidad

Estas funciones de pull requests de corrección ya están disponibles para todos los usuarios de Snyk Container en todos los planes, incluidas las cuentas gratuitas.

Snyk Container ofrece recomendaciones de imágenes base y pull requests automáticas para Docker Official Images. Este conjunto seleccionado de repositorios de Docker en Docker Hub está diseñado para ofrecer imágenes base esenciales que sirven como punto de partida para la mayoría de los usuarios de contenedores e incluye una amplia variedad de entornos de ejecución de lenguajes de programación populares, almacenes de datos y otros servicios. Como parte del programa Docker Official Images, Docker patrocina un equipo dedicado que revisa y publica todo el contenido de las imágenes oficiales y se asegura de que las actualizaciones de seguridad se apliquen a tiempo. Esto es particularmente importante porque Official Images se encuentran entre las imágenes más populares en Docker Hub.

Tenemos planes para ampliar la cobertura más allá de Docker Official Images y nos gustaría conocer tu opinión sobre otras imágenes de origen upstream que quieras que incluyamos, así como sobre cómo seleccionas tus propias imágenes personalizadas internas, si eso forma parte de tu proceso. La nueva función está disponible en la interfaz web y la API de Snyk, y se puede configurar fácilmente. En Snyk admitimos todos los administradores de repositorios basados en git, incluidos:

  • GitHub

  • GitLab

  • Bitbucket Server

  • Bitbucket Cloud

  • GitHub Enterprise Server

Consulta nuestra documentación para obtener más detalles.

Cuéntanos qué opinas

Ahora puedes relajarte y dejar que Snyk corrija los problemas de seguridad de los contenedores, ayudándote a mantener tus Dockerfiles con una imagen base actualizada. ¡Solo te queda combinar los cambios y mantenerte protegido!

Nos entusiasma conocer tu opinión para seguir mejorando tu experiencia. Si tienes comentarios o casos de uso específicos que consideras que deberíamos abordar, cuéntanos.

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.