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 :

  1. Cliquer sur Administration
  2. Cliquer sur Outils externes
  3. Cliquer sur l’onglet Scanneur Harbor
  4. Cliquer sur le bouton Ajouter
  5. Choisir la source et le moteur d’exécution Docker qui seront utilisés pour scanner les images Docker
  6. 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.

Associer un registre au scanneur Harbor dans le champ Identifiants permet d’utiliser ses identifiants lors des requêtes d’analyse des images par Harbor, les images Docker créées pourront être scannées à nouveau depuis l’interface de Cyberwatch. Le comportement par défaut est d’utiliser les identifiants éphémères fournis par Harbor. À noter que ces identifiants expirent après l’analyse initiale.

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 :

  1. Se connecter à votre registre Harbor avec un compte ayant des droits d’administrateur.
  2. Dans Administration, cliquer sur Services d'Analyse.
  3. Cliquer sur le bouton Nouveau scanneur.
  4. Remplir les informations requises en utilisant les données générées à l’étape précédente.
  5. Tester vos informations en cliquant sur le bouton Tester la connexion.
  6. 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 :

  1. Se rendre dans le projet du registre où se trouve l’image.
  2. Cliquer sur l’image.
  3. Cocher, dans la colonne de gauche, les versions de cette image que vous souhaitez scanner.
  4. Cliquer sur le bouton Analyser.
  5. Une fois l’analyse terminée, un rapport succinct apparaît dans la colonne Vulnérabilités.
  6. 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.

Workflow pour un registre Harbor

Pour faciliter le suivi des images Docker d’un registre Harbor, nous vous suggérons le workflow suivant.

Dans l’interface Cyberwatch :

  1. Configurer le registre Harbor.
  2. Créer une découverte registre Harbor. Dans les paramètres, sélectionner l’option Supprimer uniquement les actifs dissociés de toutes découvertes ou Supprimer tous les actifs dissociés de cette découverte pour le champ Suppression des actifs dissociés et une période de lancement adéquate au cas d’usage.
  3. Configurer le scanneur Harbor en associant le registre Harbor créé précédemment.

Dans l’interface de Harbor :

  1. Ajouter Cyberwatch comme scanneur de vulnérabilités avec les données que vous venez de générer durant la configuration du scanneur Harbor.
  2. Lancer un scan des images Docker présentes : dans Administration > Services d'analyse > Vulnerability, cliquer sur le bouton Analyser maintenant.
  3. Cocher l’option Analyse automatique des images lors de l'envoi dans l’onglet Configuration de chaque projet du registre.

Une fois ces étapes effectuées, les images Docker du registre ont été scannées et les futures nouvelles images le seront automatiquement. Et la découverte Registre Harbor permet de maintenir à jour les images Docker du registre dans 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.


Retour en haut