Cómo implementar DevSecOps de extremo a extremo en Microsoft Azure con Snyk
26 de mayo de 2020
0 minutos de lecturaNos complace anunciar que agregamos compatibilidad con Azure Repos Server, lo que permite a los desarrolladores que usan el servicio DevOps local de Azure identificar y corregir vulnerabilidades de seguridad y problemas de licencias en dependencias de código abierto.
La nueva integración complementa nuestra compatibilidad en todo el ecosistema de Microsoft Azure: desde Azure Repos (en la nube y ahora también en las instalaciones) hasta Azure Pipelines, Azure Container Registry y Azure Functions. Así ayudamos a los usuarios de Azure a implementar DevSecOps durante todo el ciclo de vida del desarrollo de software.
Azure Repos Server forma parte de Azure DevOps Server, antes conocido como Team Foundation Server (TFS): un conjunto de herramientas colaborativas de desarrollo de software alojadas en las instalaciones. Permite a los desarrolladores administrar localmente su flujo de trabajo de desarrollo con Git, pull requests y administración avanzada de archivos.
La nueva integración permite a los desarrolladores que usan Azure Repos Server:
Detectar vulnerabilidades existentes en proyectos administrados en Azure Repos Server. Cada vulnerabilidad se muestra con información contextual y práctica, como la ruta exacta de dependencias por la que se introdujo el problema, para agilizar el proceso de clasificación.
Evitar que se introduzcan nuevas vulnerabilidades mediante el análisis de nuevos pull requests. Cada nuevo pull request se analiza en Azure Repos Server antes de integrarse, para verificar que no introduzca nuevas vulnerabilidades.
Corregir los problemas detectados. Snyk calcula la corrección necesaria tanto para las dependencias directas como para las transitivas y completa automáticamente un pull request de corrección con las actualizaciones o los parches necesarios, todo desde el flujo de trabajo de Azure Repos Server.
Monitorear continuamente la aparición de nuevas vulnerabilidades. Snyk monitorea los proyectos importados a diario y notifica a los desarrolladores cuando se divulgan nuevas vulnerabilidades. Se pueden definir políticas para configurar el nivel de gravedad de las vulnerabilidades que impide la integración.
Veamos más de cerca cómo funciona.
Integrar Snyk con Azure Repos Server
Para configurar la integración, primero necesitamos obtener dos datos de Azure: la URL de la organización de Azure Repos Server y un token de acceso.
Al crear nuestro token de acceso de Snyk, debemos asegurarnos de seleccionar Custom defined y establecer la fecha de vencimiento lo más lejana posible. Además, en Scopes | Code, debemos seleccionar Read & write.

Con esos dos datos, podemos ir a la página Integrations de Snyk y seleccionar Azure Repos.

Ahora debemos ingresar la URL de la organización de Azure Repos Server y el token que creamos antes.

Después de hacer clic en el botón Save, aparece un mensaje de confirmación que indica que Snyk se integró correctamente con Azure Repos Server.

Solo falta hacer clic en Add your Azure Repos repositories to Snyk y seleccionar los repositorios que queremos proteger con Snyk.

Snyk importa el proyecto y realiza un análisis inicial para detectar vulnerabilidades de seguridad y problemas de licencias. Como vemos en este ejemplo, nuestro proyecto de demostración en node.js contiene varias vulnerabilidades de distintos niveles de gravedad.

Corregir vulnerabilidades
Ahora que configuramos la integración, podemos empezar a usar Snyk para encontrar y corregir vulnerabilidades.
Al abrir el proyecto, vemos todos los problemas que Snyk detectó en nuestro repositorio de Azure Repos Server: 66 vulnerabilidades de seguridad y 2 problemas de licencias, introducidos a través de las dependencias de código abierto del proyecto.

Snyk ofrece recomendaciones prácticas de corrección para ayudarnos a solucionar los problemas rápidamente. Incluye la ruta completa de dependencias por la que se introdujo el problema, una indicación de si la vulnerabilidad es explotable y la actualización necesaria para corregirla.

Al hacer clic en Fix this vulnerability, se abre automáticamente en Azure Repos Server un pull request que incluye la actualización necesaria.
![pull request de Azure DevOps titulado «[Snyk] Actualización de seguridad de adm-zip de 0.4.7 a 0.4.11», que muestra que no hay conflictos de fusión y detalles sobre la corrección de vulnerabilidades.](https://res.cloudinary.com/snyk/image/upload/f_auto,w_2560,q_auto/v1615809441/wordpress-sync/azure_repos_fix_pr.png)
Seguridad continua
Snyk mantiene seguros nuestros repositorios de Azure Repos Server al monitorearlos continuamente para detectar nuevas vulnerabilidades.
Primero, Snyk nos notifica cuando se divulga una nueva vulnerabilidad y la detecta en nuestros proyectos, con todos los detalles necesarios para corregirla rápidamente.
Además, Snyk se asegura de que los cambios realizados en el código no introduzcan nuevas vulnerabilidades. Cada vez que se abre un nuevo pull request en Azure Repos Server, Snyk lo analiza automáticamente para detectar vulnerabilidades de seguridad y problemas de licencias, y así garantizar que se resuelvan antes de integrarlo.
Compatibilidad con DevSecOps durante todo el ciclo de vida de desarrollo de software (SDLC) de Azure
Esta integración es la más reciente de una serie de integraciones nativas que Snyk ofrece a los usuarios de Microsoft Azure. Ayuda a los desarrolladores a proteger sus aplicaciones durante todo el SDLC: desde el desarrollo del código, a lo largo de CI/CD y también durante la ejecución.
Para comenzar a usar cualquiera de estas integraciones, visita la página Integrations de Snyk o consulta más información en nuestra documentación de integración con Azure Repos.
Ten en cuenta que la integración es compatible con TFS v2018 Update 2 y versiones posteriores, y solo está disponible en nuestros planes Pro y Enterprise.
¡Mantente protegido!


