Mettre en œuvre le DevSecOps de bout en bout sur Microsoft Azure avec Snyk
26 mai 2020
0 minutes de lectureNous sommes ravis d’annoncer la prise en charge d’Azure Repos Server. Les développeurs qui utilisent le service DevOps local d’Azure peuvent ainsi détecter et corriger les vulnérabilités de sécurité et les problèmes de licence dans leurs dépendances open source.
Cette nouvelle intégration complète notre prise en charge de l’écosystème Microsoft Azure : Azure Repos, dans le cloud et désormais aussi en local, ainsi que Azure Pipelines, Azure Container Registry et Azure Functions. Elle aide les utilisateurs d’Azure à mettre en œuvre le DevSecOps tout au long du cycle de développement logiciel.
Azure Repos Server fait partie d’Azure DevOps Server, anciennement Team Foundation Server (TFS), une suite d’outils collaboratifs de développement logiciel hébergée localement. Elle permet aux développeurs de gérer leur workflow de développement Git en local, avec des demandes de fusion et une gestion avancée des fichiers.
La nouvelle intégration permet aux développeurs qui utilisent Azure Repos Server de :
Détecter les vulnérabilités existantes dans les projets gérés dans Azure Repos Server. Chaque vulnérabilité est accompagnée d’informations contextuelles et exploitables, comme le chemin exact de dépendance par lequel le problème a été introduit, afin d’accélérer le triage.
Empêcher l’introduction de nouvelles vulnérabilités en analysant les nouvelles demandes de fusion. Chaque nouvelle demande de fusion est analysée dans Azure Repos Server avant sa fusion afin de vérifier qu’elle n’introduit pas de nouvelles vulnérabilités.
Corriger les problèmes détectés. Snyk détermine les corrections nécessaires pour les dépendances directes et transitives, puis crée automatiquement une demande de fusion contenant les mises à niveau ou les correctifs requis, directement dans le workflow Azure Repos Server.
Surveiller en continu l’apparition de nouvelles vulnérabilités. Snyk surveille quotidiennement les projets importés et avertit les développeurs dès que de nouvelles vulnérabilités sont divulguées. Des règles permettent de définir le niveau de gravité des vulnérabilités qui bloque la fusion.
Examinons cela de plus près.
Intégrer Snyk à Azure Repos Server
Pour configurer l’intégration, nous devons d’abord récupérer deux informations dans Azure : l’URL de notre organisation Azure Repos Server et un jeton d’accès.
Lors de la création de notre jeton d’accès Snyk, nous devons sélectionner Custom defined, puis choisir la date d’expiration la plus éloignée possible. De plus, sous Scopes | Code, nous devons sélectionner Read & write.

Une fois ces deux informations en main, accédons à la page Integrations de Snyk et sélectionnons Azure Repos.

Nous devons maintenant saisir l’URL de notre organisation Azure Repos Server et le jeton créé précédemment.

Après avoir cliqué sur le bouton Save, un message de confirmation indique que Snyk a bien été intégré à Azure Repos Server.

Il ne nous reste plus qu’à cliquer sur Add your Azure Repos repositories to Snyk et à sélectionner les dépôts que nous voulons sécuriser avec Snyk.

Snyk importe notre projet et effectue une première analyse à la recherche de vulnérabilités de sécurité et de problèmes de licence. Comme le montre cet exemple, notre projet de démonstration node.js comporte plusieurs vulnérabilités de différents niveaux de gravité.

Corriger les vulnérabilités
Maintenant que l’intégration est configurée, nous pouvons utiliser Snyk pour détecter et corriger les vulnérabilités.
En ouvrant le projet, nous découvrons tous les problèmes détectés par Snyk dans notre dépôt Azure Repos Server : 66 vulnérabilités de sécurité et 2 problèmes de licence provenant des dépendances open source du projet.

Snyk fournit des conseils de correction concrets pour nous aider à résoudre rapidement les problèmes. Ils indiquent notamment le chemin complet de dépendance par lequel le problème a été introduit, si la vulnérabilité est exploitable ou non, ainsi que la mise à niveau nécessaire pour la corriger.

En cliquant sur Fix this vulnerability, une demande de fusion est automatiquement créée dans Azure Repos Server avec la mise à niveau requise.
![Demande de tirage Azure DevOps intitulée « [Snyk] Mise à jour de sécurité d’adm-zip de la version 0.4.7 à la version 0.4.11 », sans conflit de fusion et présentant les détails de la correction de la vulnérabilité.](https://res.cloudinary.com/snyk/image/upload/f_auto,w_2560,q_auto/v1615809441/wordpress-sync/azure_repos_fix_pr.png)
Sécurité continue
Snyk veille à ce que nos dépôts Azure Repos Server restent sécurisés en surveillant en continu les nouvelles vulnérabilités.
Tout d’abord, Snyk nous avertit lorsqu’une nouvelle vulnérabilité est divulguée et détectée dans nos projets, en fournissant toutes les informations nécessaires pour la corriger rapidement.
Ensuite, Snyk veille également à ce que les modifications apportées au code n’introduisent pas de nouvelles vulnérabilités. Chaque fois qu’une nouvelle demande de fusion est ouverte dans Azure Repos Server, Snyk l’analyse automatiquement à la recherche de vulnérabilités de sécurité et de problèmes de licence, afin que les problèmes soient résolus avant la fusion.
Prise en charge du DevSecOps tout au long du SDLC Azure
Cette intégration vient s’ajouter aux intégrations natives que Snyk propose aux utilisateurs de Microsoft Azure. Elles aident les développeurs à sécuriser leurs applications tout au long du SDLC : du développement du code à l’exécution, en passant par la CI/CD.
Pour commencer à utiliser l’une de ces intégrations, consultez la page Integrations de Snyk ou notre documentation sur l’intégration Azure Repos.
Notez que l’intégration prend en charge TFS v2018 Update 2 et les versions ultérieures. Elle est uniquement disponible avec nos offres Pro et Enterprise.
Restez en sécurité !


