Scanner les images Docker sur un registre Harbor
Harbor définit l’API REST Scanner Adapter HTTP API qui peut être implémentée par un scanneur de vulnérabilités. Le registre peut alors se connecter à un tel scanneur de vulnérabilités pour faire analyser ses images Docker. Cela permet notamment d’afficher directement dans l’interface Harbor les vulnérabilités détectées sur chaque image et de définir une politique de sécurité de déploiement des images.
Cyberwatch implémente cette API et peut donc être utilisé pour scanner les images d’un registre Harbor. Nous allons voir comment configurer et utiliser cette fonctionnalité.
Prérequis
Afin de pouvoir utiliser cette fonctionnalité, il est nécessaire d’avoir préalablement configuré un moteur d’exécution Docker dans Cyberwatch. La procédure est expliquée ici.
Configurer le scanneur Harbor
Pour permettre à votre registre Harbor de se connecter à Cyberwatch, il est nécessaire de configurer le scanneur Harbor :
- Cliquer sur Administration
- Cliquer sur Outils externes
- Cliquer sur l’onglet Scanneur Harbor
- Cliquer sur le bouton Ajouter
- Choisir la source et le moteur d’exécution Docker qui seront utilisés pour scanner les images Docker
- Enregistrer
Vous obtenez les données nécessaires pour ajouter Cyberwatch comme scanneur de vulnérabilités dans Harbor. Pensez à enregistrer ces données, elles ne seront plus accessibles par la suite.
Il est possible de créer plusieurs jeux d’identifiants et définir ainsi plusieurs scanneurs dans Harbor. Cela permet de configurer au niveau de chaque projet le scanneur à utiliser. On peut ainsi répartir les scans d’image Docker entre les nœuds dans une instance multi-nœuds ou ajouter de la concurrence sur un même nœud.
Il est également possible de régler le délai entre deux requêtes de l’API Harbor. Ce temps correspond à l’intervalle entre deux requêtes de l’API lors de la création du rapport de vulnérabilités d’une image Docker.
Un temps trop court peut entraîner des problème de surcharge de l’API, un temps trop long va allonger inutilement le temps nécessaire pour scanner une image. La valeur par défaut est de 30 secondes.
Ajouter Cyberwatch comme scanneur de vulnérabilités
Vous pouvez maintenant ajouter Cyberwatch comme scanneur de vulnérabilités pour votre registre Harbor :
- Se connecter à votre registre Harbor avec un compte ayant des droits d’administrateur.
- Dans Administration, cliquer sur
Services d'Analyse
. - Cliquer sur le bouton
Nouveau scanneur
. - Remplir les informations requises en utilisant les données générées à l’étape précédente.
- Tester vos informations en cliquant sur le bouton
Tester la connexion
. - Si tout est OK, cliquer sur le bouton
Ajouter
.
Cyberwatch est maintenant ajouté comme scanneur d’images et est prêt à l’emploi.
Pour des explications complémentaires, vous pouvez vous référer à la documentation officielle (en anglais).
Scanner une image Docker
Pour scanner une image Docker depuis votre interface Harbor :
- Se rendre dans le projet du registre où se trouve l’image.
- Cliquer sur l’image.
- Cocher, dans la colonne de gauche, les versions de cette image que vous souhaitez scanner.
- Cliquer sur le bouton
Analyser
. - Une fois l’analyse terminée, un rapport succinct apparaît dans la colonne Vulnérabilités.
- Pour une version plus détaillée, cliquer sur la version analysée et descendre en bas de la page pour trouver le tableau des vulnérabilités.
Pour plus de détails, se référer à la documentation de Harbor.
Lorsqu’un scan d’image est effectué, si l’image n’existe pas déjà localement dans Cyberwatch, celle-ci est créée et peut être retrouvée dans la liste des images Docker ainsi que l’analyse complète effectuée par Cyberwatch.
Pour aller plus loin
Harbor permet de :
- mettre en place une politique de sécurité en empêchant par exemple le déploiement d’images ayant des vulnérabilités dépassant une certaine criticité,
- scanner toutes les images disponibles sur le registre,
- planifier les scans.
Ces différentes fonctionnalités sont détaillées dans la documentation de Harbor sur les scans de vulnérabilités.