Historiquement, le DevOps est une approche qui vise à améliorer la collaboration entre les développeurs afin d’accélérer les cycles de développement, de déploiement et de maintenance des applications. Il repose sur l’automatisation, l’intégration continue (CI) et le déploiement continu (CD) pour garantir une livraison rapide et efficace des logiciels. Aujourd’hui, le DevSecOps, pour Development, Security, and Operations, constitue une évolution naturelle du DevOps, de plus en plus adoptée. Cette approche permet d’intégrer la sécurité comme un élément central du cycle de vie du développement logiciel, en s’assurant que la sécurité est prise en compte dès la conception.
Les principes clés du DevSecOps :
La phase de build correspond à l’étape où le code source d’un projet est transformé en élément exécutable, souvent sous la forme d’une image Docker. Cette phase est critique pour intégrer des contrôles de sécurité en amont et éviter la propagation de vulnérabilités dans les environnements de production.
Cyberwatch intervient dès cette étape en tant que scanneur externe pour analyser les images Docker et identifier leurs vulnérabilités directement depuis une chaîne d’intégration continue (CI), que ce soit avec GitLab CI/CD ou GitHub Actions.
Pourquoi intégrer un scan de vulnérabilités dès la phase de build ?
Une fois les images construites et validées, elles sont stockées, partagées et déployées depuis des registres Docker. Ces registres, qu’ils soient privés ou publics, facilitent la gestion, le suivi et le déploiement des images au sein des différents environnements.
Cependant, des vulnérabilités peuvent apparaître au fil du temps sur des images initialement conformes et actuellement utilisées en production. Pour anticiper ces risques, Cyberwatch assure un suivi continu et réalise des scans réguliers de vos images, permettant de détecter toute nouvelle vulnérabilité qui ne respecterait pas vos politiques de sécurité.
Grâce à ce suivi automatisé, vous êtes immédiatement alerté en cas de découverte d’une vulnérabilité critique, vous permettant ainsi d’agir rapidement pour appliquer les mesures correctives nécessaires.
Depuis Cyberwatch, il est ainsi possible de :
Imaginons un registre Docker largement utilisé, comme Harbor, où sont stockées l’ensemble des images de votre organisation. Avec Cyberwatch, vous pouvez lancer une découverte spécifique sur Harbor ou tout autre registre :
Lors de la configuration d’une découverte, vous pouvez définir le registre Docker à analyser et activer l’enregistrement automatique des images détectées.
De plus, Cyberwatch permet de supprimer automatiquement les actifs sur Cyberwatch qui correspondent à des images qui ne sont plus présentes dans le registre, garantissant ainsi un inventaire toujours à jour.
Une fois la découverte terminée, si l’option d’enregistrement automatique a été activée, les images détectées seront ajoutées directement à Cyberwatch, où elles seront analysées afin d’identifier d’éventuelles vulnérabilités. Cette découverte peut ainsi être effectuée périodiquement par Cyberwatch, qui s’assurera de garder l’inventaire conforme à l’état réel du registre, et d’en remonter les vulnérabilités présentes.
Afin d’être tenu au courant des nouvelles vulnérabilités issues de ces analyses, il est également recommandé de mettre en place des alertes, pouvant être configurées sur le périmètre des images Docker, et qui vous enverra par mail la liste des vulnérabilités impactantes selon vos critères de priorisation.
Dans la section précédente, nous avons exploré la manière de superviser un registre Docker directement depuis Cyberwatch. Toutefois, dans le cas d’Harbor, le sujet peut être abordé dans l’autre sens, et ainsi scanner les images Docker directement depuis Harbor, en utilisant Cyberwatch comme scanneur de vulnérabilités externe.
Concrètement, il vous sera possible d’exécuter un scan de vulnérabilités, et d’afficher le résultat directement depuis l’interface d’Harbor. Cette configuration permet d’améliorer l’automatisation et l’analyse de sécurité des images, toujours dans le but de détecter rapidement les vulnérabilités.
La procédure présentée est complètement décrite dans la documentation.
La première étape consiste à configurer Cyberwatch comme scanneur de vulnérabilité sur Harbor. Les éléments de configuration, notamment les clés d’API et d’authentification nécessaires peuvent être obtenus depuis la section d’administration de Cyberwatch.
Une fois le scanneur configuré, il sera possible de le sélectionner par défaut :
De cette manière, toujours depuis l’interface d’Harbor, il vous sera possible d’exécuter une analyse de vulnérabilités sur les images souhaitées, et d’en obtenir les résultats directement.
Dans une approche DevSecOps, la gestion, le traitement et le partage pertinent des informations sont aussi importants que l’analyse des risques et des vulnérabilités.
En effet, une analyse, aussi optimale soit-elle, n’est efficace que si l’information est correctement diffusée aux parties prenantes. La capacité à extraire, structurer et exploiter les résultats des analyses permet d’optimiser la remédiation des vulnérabilités et d’assurer un suivi efficace des mesures de sécurité mises en place.
Pour faciliter cette gestion, Cyberwatch propose plusieurs mécanismes de récupération et de visualisation des données :
Envie de scanner vos images Docker avant même qu’elles ne soient déployées dans votre registre ?
Nous allons prochainement publier un article pour vous montrer comment intégrer le scan de vulnérabilités Cyberwatch dans un pipeline CI/CD, afin d’identifier les vulnérabilités dès la phase de build !