Skip to main content

Seguridad en el registro de contenedores

Escrito por

Michael Komraz

Security in The Container Registry small

21 de febrero de 2019

0 minutos de lectura

Uno de los principios clave de Snyk es lo que llamamos «primero el desarrollador». En nuestra visión del producto, esto significa integrarnos con el flujo de trabajo y las herramientas existentes de los desarrolladores mediante integraciones potentes, para que asumir la responsabilidad de la seguridad sea lo más sencillo posible.

En otras palabras, queremos ofrecer la opción de abordar la seguridad donde los desarrolladores ya trabajan, por ejemplo:

  • En el IDE, por ejemplo, con nuestro plugin de IntelliJ, lanzado a finales de 2018

  • En el nivel de Git, donde los desarrolladores pueden abrir pull request para corregir problemas actuales y prevenir otros futuros

  • En la etapa de compilación, que, como punto de control, suele ser un complemento más orientado a DevOps que Git

  • En PaaS y en tiempo de ejecución, por ejemplo, con nuestras integraciones dePivotal para droplet, buildpack y broker

  • En herramientas de gestión de proyectos y mensajería, como JIRA, Slack y otras

Capas de contenedores y riesgos ocultos

Los contenedores (en el sentido más amplio del término) han sido uno de los cambios más significativos de la industria de TI y plantean nuevos desafíos de seguridad, tanto para el desarrollo como para las operaciones. Por ejemplo, en el «viejo» mundo de los servidores y las máquinas virtuales, muchos equipos corporativos usan una metodología de «imagen dorada» para que Operaciones mantenga el control sobre la capa base (sistema operativo y paquetes) de sus aplicaciones. La forma en que se crean, distribuyen y usan las imágenes de Docker hace poco realista que los equipos basados en la nube trabajen según esta metodología, ya que las imágenes de contenedores tienen muchas capas cuyo origen o solidez no siempre están claros.

La administración de vulnerabilidades en contenedores de Snyk analiza imágenes de Docker inspeccionando tanto los paquetes del sistema operativo como los binarios clave, y coteja los resultados con nuestra base de datos de vulnerabilidades patentada. Así, ofrece visibilidad sobre las dependencias directas e indirectas ocultas en las capas de la imagen. En la siguiente captura, podemos ver cómo Snyk profundiza cinco capas para señalar un problema de gravedad alta:

Captura de terminal que informa sobre una vulnerabilidad de denegación de servicio de alta gravedad en libidn11 y muestra la cadena de dependencias de paquetes de su Dockerfile.

Encontrar los riesgos es solo el primer paso: el siguiente desafío es corregirlos sin interrumpir el flujo de trabajo, por eso ofrecemos consejos de corrección en la herramienta. Otra consideración importante es basar todo esto en la información adecuada y minimizar los falsos positivos, algo que ofrece la base de datos de vulnerabilidades líder en la industria de Snyk.

Pero un desarrollador seguro no debería detenerse ahí. El siguiente paso plantea otro desafío de seguridad: publicar una imagen potencialmente comprometida en tu registro de contenedores. Hacerlo manualmente y con una supervisión de seguridad rigurosa puede ser ineficiente, mientras que automatizarlo sin las medidas de protección necesarias puede dificultar mucho más el control operativo y las auditorías. El enfoque de Snyk busca automatizar el proceso según prácticas de seguridad sólidas, como se muestra en el siguiente ejemplo.

Hello-ACR-world

Creamosesta aplicación de demostración para analizar todas las imágenes de Docker que se publican en Azure Container Registry (ACR). En lugar de ralentizar el ciclo de desarrollo, integramos el análisis y los consejos de corrección en el flujo de ACR Tasks. En el siguiente archivo .yaml, podemos ver que, entre las tareas estándar BUILD y PUSH de ACR Tasks, agregamos un script que busca vulnerabilidades tanto en la imagen como en la aplicación (binarios):

Editor de código con tema oscuro que muestra una canalización de compilación YAML con comandos de imagen de Docker, pruebas de vulnerabilidades de Snyk, variables de entorno y un paso para enviar la imagen.

La configuración está definida para que PUSH falle si se encuentran vulnerabilidades del sistema operativo de gravedad alta o vulnerabilidades de la aplicación de gravedad media-alta. Cuando esto sucede, el análisis falla y no podemos continuar con PUSH. En este breve video podemos ver el proceso con un poco más de detalle:

En resumen

El modelo de contenedores conlleva riesgos adicionales de seguridad y cumplimiento. Podemos usar la administración de vulnerabilidades en contenedores de Snyk para encontrar y corregir vulnerabilidades directas y, lo que es más importante en este caso, indirectas en nuestras imágenes de contenedores. Además, podemos automatizar aún más DevOps agregando Snyk como punto de control antes de publicar una imagen sin corregir en nuestro registro de contenedores. Estos pasos, junto con las capacidades de Snyk para el control de código fuente, CI/CD y PaaS, conforman un caso de uso integral convincente para los contenedores.

Cuéntanos qué registros de contenedores usas y cómo es tu proceso de automatización para equilibrar la eficiencia y la seguridad.

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.

Leer más

feature customer snowflake
Article

Seguridad desde el inicio: presentamos la integración de Snyk Studio con Snowflake Cortex Code

Snyk Studio se integra con Snowflake Cortex Code para analizar código generado por IA, dependencias y contenedores en busca de vulnerabilidades durante el desarrollo.

blog feature pypi spoof
Article

Toda la Snyk AI Security Platform, gratis para quienes mantienen proyectos de código abierto

Quienes mantienen proyectos de código abierto reciben reportes de vulnerabilidades reales sin parar y necesitan ayuda para priorizarlas, corregirlas y publicar soluciones más rápido. El Secure Developer Program de Snyk ofrece a los proyectos que cumplen los requisitos acceso gratis a Snyk AI Security Platform.

feature insights announcement
Blog

Compromiso de la cadena de suministro de node-gyp: un gusano de npm que se propaga solo y se oculta en binding.gyp

Un nuevo gusano de npm abusa de binding.gyp para activar node-gyp durante la instalación y permitir que paquetes maliciosos ejecuten código sin scripts del ciclo de vida. Roba credenciales, persiste en GitHub y se propaga entre mantenedores.