Seguridad en el registro de contenedores
Michael Komraz
21 de febrero de 2019
0 minutos de lecturaUno 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:

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):

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.



