Découvertes Docker

Les découvertes Docker permettent de lister un ensemble d’images Docker à partir d’un registre ou encore d’un déploiement existant. Les images Docker découvertes peuvent ensuite être ajoutées par une action groupée à Cyberwatch afin d’être scannées.

AWS EKS

Si vous disposez d’un ou plusieurs cluster Amazon Elastic Kubernetes Service, il est possible de les scanner avec Cyberwatch pour lister toutes les images Docker qui sont déployées dessus.

Les découvertes AWS EKS requièrent un jeu d’identifiant Amazon Web Services, que vous pouvez créer depuis le menu Identifiants enregistrés. Le jeu d’identifiants doit avoir la politique ViewOnlyAccess.

Une fois le jeu d’identifiants prêt, vous pourrez créer la découverte AWS EKS depuis le menu Découvertes, en cliquant sur le bouton Ajouter puis sur AWS EKS dans la partie Images Docker. Vous pouvez retrouver les informations relatives à la création de la découverte ici.

Service Azure Kubernetes (AKS)

Si vous disposez d’un ou plusieurs cluster Service Azure Kubernetes (AKS), il est possible de les scanner avec Cyberwatch pour lister toutes les images Docker qui sont déployées dessus.

Les découvertes AKS requièrent un jeu d’identifiants Microsoft Azure, que vous pouvez créer depuis le menu Identifiants enregistrés, et sont documentés à ce lien. Le jeu d’identifiants doit avoir accès en lecture aux routes Managed Clusters et aux clusters à scanner.

Une fois le jeu d’identifiants prêt, vous pourrez créer la découverte AKS depuis le menu Découvertes, en cliquant sur le bouton Ajouter puis sur Service Azure Kubernetes (AKS) dans la partie Images Docker. Vous pouvez retrouver les informations relatives à la création de la découverte ici.

Registres Docker

Si vous disposez d’un registre Docker privé, ainsi que d’un compte de services ayant la permission d’énumérer son catalogue d’images, vous pouvez créer une découverte d’actifs dans Cyberwatch pour lister automatiquement les images disponibles.

Afin d’utiliser les découvertes d’images Docker, vous devez d’abord enregistrer votre registre Docker depuis le menu Identifiants enregistrés. Vous pourrez ensuite lancer la découverte depuis le menu Découvertes, en cliquant sur le bouton Ajouter puis sur Registre Docker dans la partie Images Docker et en choisissant votre registre comme Identifiants.

Si le registre est bien configuré, la découverte listera l’ensemble des images trouvées ainsi que l’ensemble de leurs tags.

Registres Harbor

Un registre Harbor peut être scanné comme tout autre registre Docker mais exige pour cela des identifiants d’administrateur système Harbor. La découverte Registre Harbor utilise à la place l’API REST de Harbor pour découvrir les images Docker accessibles et fonctionne même avec un compte invité. Toutefois, il sera nécessaire d’utiliser un compte d’administrateur système Harbor pour pouvoir accéder à l’ensemble des projets présents sur le registre.

Afin d’utiliser la découverte Registre Harbor, vous devez d’abord enregistrer votre registre en tant que Registre Docker depuis le menu Identifiants enregistrés. Vous pourrez ensuite lancer la découverte depuis le menu Découvertes, en cliquant sur le bouton Ajouter puis sur Registre Docker dans la partie Images Docker et en choisissant votre registre comme Identifiants. Si le registre est bien configuré, la découverte listera l’ensemble des images trouvées.

Sur un registre Harbor, la découverte Registre Docker remonte tous les artefacts ayant un tag, et pas seulement les images alors que la découverte Registre Harbor permet de remonter toutes les images qu’elles aient un tag ou non.

Docker Swarm

Les découvertes Docker Swarm permettent de lister l’ensemble des images disponibles localement sur un moteur d’exécution Docker. Elles s’appliquent pour les déploiements Docker Swarm, mais ne s’y limitent pas : tout daemon Docker est compatible.

Seules les images associées à un tag sont reconnues, ce qui exclut toutes les images intermédiaires, où encore celles spécifiées par ID.

Un jeu d’identifiant Moteur d’exécution Docker est requis pour ce type de découverte. Leur création est décrite dans la documentation sur les images Docker.

Un fois le jeu d’identifiant prêt, vous pourrez créer la découverte Docker Swarm depuis le menu Découvertes, en cliquant sur le bouton Ajouter puis sur Docker Swarm dans la partie Images Docker.

Kubernetes

Si vous disposez d’un cluster Kubernetes, il est possible de le scanner avec Cyberwatch pour lister toutes les images Docker qui sont déployées dessus.

Les découvertes Kubernetes requièrent un jeu d’identifiant Kubernetes, que vous pouvez créer depuis le menu Identifiants enregistrés. Les informations de connexions essentielles sont (1) le point d’entrée vers l’API Kubernetes, par exemple https://ip-du-cluster:6443, (2) le mode d’authentification, qui sera par Jeton d’authentification(typiquement un JWT) ou par Certificat client, et (3) les identifiants de connexion requis par le mode d’authentification choisi.

Le point d’entrée vers l’API Kubernetes et le Jeton d’authentification peuvent facilement être extraites d’un YAML de configuration Kubernetes pour un compte de service en cherchant les clés server: et token:.

Vous pouvez générez un Certificat client en suivant la documentation officielle.

Un fois le jeu d’identifiant prêt, vous pourrez créer la découverte Kubernetes depuis le menu Découvertes, en cliquant sur le bouton Ajouter puis sur Kubernetes dans la partie Images Docker.

GitLab Container Registry

GitLab intègre un registre Docker appelé GitLab Container Registry permettant de stocker les images Docker de projets GitLab. Il peut être scanné comme tout autre registre Docker, mais exige pour cela des identifiants super-administrateur. La découverte GitLab Container Registry utilise à la place l’API REST de GitLab pour découvrir les images Docker accessibles et fonctionne même avec un utilisateur standard.

Cette découverte requiert un jeton d’accès (access token) GitLab que vous pouvez créer depuis les paramètres utilisateur de votre compte sur GitLab. Le jeton d’accès doit avoir la permission read_api. Une fois créé, vous devrez l’ajouter à Cyberwatch comme Identifiants enregistrés.

Enfin, vous pourrez créer la découverte depuis le menu Découvertes en choisissant le type GitLab Container Registry puis en sélectionnant votre jeu d’identifiants.

Découverte en provenance des Linux

Les scans Cyberwatch sur Linux localisent et analysent les images des conteneurs Docker en cours d’exécution sur une machine Linux.

Cette découverte permet de récupérer toutes les images Docker présentes sur toutes les machines Linux dans le Périmètre de transfert.

Par défaut, le Périmètre de transfert inclut tous les actifs Linux, mais il est possible de le restreindre en sélectionnant un ou plusieurs groupes dans le champ Périmètre de transfert du formulaire.

Ajouter les images Docker découvertes

Depuis la liste des actifs découverts, vous pourrez voir et filtrer les images qui n’ont pas d’actifs associés. Pour les ajouter à Cyberwatch, vous pouvez sélectionnez celles que vous souhaitez scanner et cliquer sur Actions groupées > Scanner comme images Docker.

Pour scanner une image, il vous faudra un moteur d’exécution Docker. Si vous n’en avez pas déjà configuré un, veuillez vous référer à la documentation Ajouter une image Docker.

L’ajout d’images Docker nouvellement découvertes à Cyberwatch peut être automatisé en renseignant dans le formulaire d’édition de la découverte un moteur d’exécution.

Le registre est automatiquement choisi à partir du nom de l’image découverte. Par exemple, une image example.com/library/hello utilisera automatiquement le registre Docker example.com, à condition cependant qu’il ait été ajouté en tant qu’identifiant enregistré. Si le registre est nouveau, un identifiant enregistré sera automatiquement créé, et pourra être manuellement édité par la suite si une authentification est requise. Il est parfois possible d’indiquer un registre de préférence, mais il ne sera utilisé que pour les images découvertes dont le registre figurant dans le nom correspond avec le point d’entrée du registre.


Retour en haut