Gestion de la sécurité des images avec Vulnerability Advisor
Vulnerability Advisor est fourni dans le cadre de IBM Cloud® Container Registry. L'assistant de détection des vulnérabilités (Vulnerability Advisor) vérifie le statut de sécurité des images de conteneur fournies par IBM, des tiers, ou ajoutées aux espaces de nom de registre de votre organisation.
Vulnerability Advisor fournit une gestion de la sécurité pour IBM Cloud Container Registry Vulnerability Advisor génère un rapport sur l'état de la sécurité qui comprend des suggestions de correctifs et de meilleures pratiques.
Lorsque vous ajoutez une image à un espace de noms, cette image est automatiquement analysée par Vulnerability Advisor pour détecter des problèmes de sécurité et des vulnérabilités potentielles. Si des problèmes de sécurité sont identifiés, des instructions vous sont soumises afin de vous aider à résoudre la vulnérabilité signalée.
Les problèmes détectés par Vulnerability Advisor génèrent un verdict stipulant qu'il n'est pas recommandé de déployer cette image. Si vous choisissez de déployer l'image, les conteneurs qui sont déployés à partir de celle-ci comportent des problèmes connus qui peuvent être exploités pour attaquer ou compromettre le conteneur. Le verdict est ajusté en fonction des exemptions que vous avez spécifiées.
La résolution des problèmes de sécurité signalés par Vulnerability Advisor peut vous aider à sécuriser votre infrastructure IBM Cloud.
L'utilisation de Portieris pour bloquer le déploiement d'images présentant des problèmes détectés par Vulnerability Advisor est obsolète.
A propos de Vulnerability Advisor
Vulnerability Advisor fournit des fonctions vous permettant de sécuriser vos images.
Les fonctions suivantes sont disponibles dans la version 4 :
- Analyse les images en vue de détecter des problèmes
- Permet de créer un rapport d'évaluation basé sur les pratiques de sécurité spécifiques à IBM Cloud Kubernetes Service.
- Fournit des instructions sur la manière de corriger un paquet vulnérable signalé dans ses rapports.
- Applique des règles d'exemption à des rapports au niveau d'un compte, d'un espace de nom, d'un référentiel ou d'une étiquette pour indiquer que des problèmes signalés ne s'appliquent pas à votre cas d'utilisation.
La colonne Statut de sécurité de l'onglet Images du tableau de bord Container Registry affiche le nombre de problèmes associés à chaque image. Pour en savoir plus sur les problèmes, cliquez sur le lien dans la colonne Statut de sécurité.
Le tableau de bord Vulnerability Advisor fournit une présentation et une évaluation de la sécurité d'une image. Pour plus d'informations sur le tableau de bord Vulnerability Advisor, voir Examen d'un rapport de vulnérabilité.
Les images chiffrées ne sont pas analysées par Vulnerability Advisor.
Protection des données
Pour analyser des images et des conteneurs de votre compte afin de détecter les problèmes de sécurité, Vulnerability Advisor collecte, stocke et traite les informations suivantes :
- Zones à format libre, notamment ID, descriptions et noms d'image (registre, espace de nom, nom de référentiel et étiquette de l'image)
- Métadonnées relatives aux modes de fichier et horodatages de création des fichiers de configuration
- Contenu des fichiers de configuration système et d'application dans les images et les conteneurs
- Packages et bibliothèques installés (y compris leurs versions)
Ne placez pas d'informations personnelles dans une zone ou un emplacement traité par Vulnerability Advisor, comme identifiées dans la liste précédente.
Les résultats d'analyse, agrégés au niveau d'un centre de données, sont traités afin de fournir des métriques anonymisées pour faire fonctionner et améliorer le service.
Dans la version 4, l'image est indexée lors de son premier envoi vers Container Registry, et ce rapport d'indexation est stocké dans la base de données. Lorsque Vulnerability Advisor est interrogé, le rapport d'indexation de l'image est récupéré et une évaluation de la vulnérabilité est produite. Cette action se produit dynamiquement à chaque fois que Vulnerability Advisor est interrogé. Par conséquent, il n'existe pas de résultat d'analyse prégénéré à supprimer. Toutefois, le rapport d'indexation de l'image est supprimé dans les 30 jours suivant la suppression de l'image du registre.
Types de vulnérabilités
Packages vulnérables
Vulnerability Advisor recherche des packages vulnérables dans les images qui utilisent des systèmes d'exploitation pris en charge et fournit un lien vers les éventuels bulletins de sécurité pertinents concernant la vulnérabilité concernée.
Les packages comportant des problèmes de vulnérabilité connus sont affichés dans les résultats d'analyse. Les vulnérabilités éventuelles sont mises à jour quotidiennement d'après les avis de sécurité publiés pour les images Docker répertoriées dans le tableau suivant. Généralement, pour qu'un package vulnérable réussisse l'examen, une version plus récente de ce package incluant un correctif pour la vulnérabilité est requise. Un même package peut recenser plusieurs vulnérabilités et, dans ce cas, une seule mise à jour du package peut résoudre plusieurs vulnérabilités.
Vulnerability Advisor ne renvoie les vulnérabilités que lorsqu'un correctif est publié par le distributeur. Les vulnérabilités déclarées qui ne sont pas encore corrigées ou qui ne le seront pas ne sont pas signalées par Vulnerability Advisor Par conséquent, si Vulnerability Advisor ne signale aucune vulnérabilité, l'image peut toujours présenter un risque.
Pour la version 4, l'image est indexée la première fois qu'elle est poussée. Par la suite, l'évaluation de la vulnérabilité est calculée chaque fois que le Vulnerability Advisor est interrogé sur cette image. Les images ne sont numérisées que si elles comportent une étiquette.
Les tableaux suivants présentent les images de base prises en charge par Docker que Vulnerability Advisor analyse afin de détecter les paquets vulnérables.
Vulnerability Advisor ne prend en charge que les versions de plateforme actuellement prises en charge par le fournisseur de cette plateforme.
| Image de base Docker | Versions prises en charge | Source des avis de sécurité |
|---|---|---|
| Alpine | Toutes les versions stables avec le support de sécurité du fournisseur. La fonction Edge est également prise en charge. | Base de données SecDBAlpine. |
| Debian | Toutes les versions stables avec le support de sécurité du fournisseur.
Les CVE concernant les paquets binaires associés au paquet source Debian |
Traqueur de bogues de sécurité Debian. |
| GoogleContainerTools sans distorsion | Toutes les versions stables avec le support de sécurité du fournisseur. | GoogleContainerTools sans distorsion |
| Red Hat® Enterprise Linux® (RHEL) | RHEL/UBI 7, RHEL/UBI 8 et RHEL/UBI 9 | Red Hat API de données de sécurité. |
| Ubuntu | Toutes les versions stables avec le support de sécurité du fournisseur. | Ubuntu Suivi CVE. |
Si vous utilisez une image basée sur une distribution de système d'exploitation figurant dans le tableau ci-dessus, mais dont la version n'est pas prise en charge par le fournisseur et pour laquelle aucune donnée de sécurité n'est disponible,
par exemple Debian 10 ou antérieure, Vulnerability Advisor peut signaler No issues pour votre image.
Problèmes de configuration
Les problèmes de configuration ne sont pas pris en charge dans la version 4 de Vulnerability Advisor
Définition de la version de Vulnerability Advisor
Pour récupérer les résultats de la version 4, exécutez la commande suivante ibmcloud cr va-version-set suivante. La seule valeur valide est v4.
ibmcloud cr va-version-set v4
Vous pouvez également définir une variable d'environnement va_version et indiquer la version du Vulnerability Advisor que vous souhaitez utiliser. La seule valeur valide est v4.
Si vous essayez de définir une version non valide de Vulnerability Advisor, vous obtenez une erreur. Pour obtenir de l'aide, consultez la section Pourquoi obtenez-vous une erreur indiquant qu'une version non valide de Vulnerability Advisor a été spécifiée?
Examen d'un rapport de vulnérabilités
Avant de déployer une image, vous pouvez examiner son rapport Vulnerability Advisor pour plus d'informations sur les éventuels packages vulnérables et paramètres de conteneur ou d'application non sécurisés.
Vous pouvez également vérifier si l'image est conforme aux règles de l'organisation.
Si vous ne corrigez pas les problèmes détectés, ceux-ci peuvent avoir un impact sur la sécurité des conteneurs qui utilisent cette image. Si vous utilisez la mise en application dans votre environnement d'exécution de conteneur, vous pouvez être empêché de déployer cette image à moins que toutes les questions soient exemptées par votre politique.
Si votre image ne répond pas aux exigences définies par la règle de votre organisation, vous devez configurer l'image pour qu'elle se conforme à ces exigences avant de pouvoir la déployer. Pour plus d'informations sur la consultation et la modification de la règle de l'organisation, voir Définition de règles d'exemption de l'organisation.
Examen d'un rapport de vulnérabilité via la console IBM Cloud
Vous pouvez vérifier la sécurité des images d' Docker s stockées dans vos espaces de noms sur Container Registry à l'aide de la console IBM Cloud.
-
Connectez-vous à IBM Cloud.
-
Cliquez sur l'icône du Menu de navigation, puis sur Container Registry.
-
Cliquez sur Images. Une liste de vos images s'affiche dans le tableau Images avec le statut de sécurité de chaque image.
-
Pour afficher le rapport de l'image indiquant
latest(dernière), cliquez sur la ligne de cette image. L'onglet Détails de l'image s'ouvre et affiche les données de cette image. Si aucune baliselatestn'existe dans le référentiel, l'image la plus récente est utilisée. -
Si la colonne Statut de sécurité indique des problèmes, pour en savoir plus, cliquez sur l'onglet Problèmes par type. Le tableau des vulnérabilités s'affiche.
-
Tableau Vulnérabilités. Ce tableau présente l'identifiant de vulnérabilité de chaque problème, le statut de la politique associée, les paquets concernés et la marche à suivre pour résoudre le problème. Pour afficher plus d'informations sur ce problème, développez la ligne. Ceci affichera un récapitulatif du problème ainsi qu'un lien vers l'avis de sécurité correspondant du fournisseur. Une liste des packages s'affiche avec les problèmes de vulnérabilité connus.
La liste est mise à jour quotidiennement d'après les avis de sécurité publiés pour les images Docker répertoriées dans Types de vulnérabilité. Généralement, pour qu'un package vulnérable réussisse l'examen, une version plus récente de ce package incluant un correctif pour la vulnérabilité est requise. Un même paquet peut répertorier plusieurs vulnérabilités et, dans ce cas, une seule mise à jour du paquet permet de corriger plusieurs problèmes. Cliquez sur le code de l'avis de sécurité pour afficher plus d'informations sur le package et sur la procédure à suivre pour le mettre à jour.
-
-
Effectuez l'action corrective pour chaque problème mentionné dans le rapport et reconstruisez l'image.
Examen d'un rapport de vulnérabilité via l'interface CLI
Vous pouvez vérifier la sécurité des images d' Docker s stockées dans vos espaces de noms sur IBM Cloud Container Registry à l'aide de l'interface de ligne de commande (CLI).
-
Recensez les images dans votre compte IBM Cloud. La liste de toutes les images est renvoyée, sans considération de l'espace de nom où elles sont stockées.
ibmcloud cr image-list -
Vérifiez le statut dans la colonne du STATUT DE SECURITE.
No Issuesaucun problème de sécurité n'a été détecté.<X> IssuesLes problèmes de sécurité ou vulnérabilités potentiels qui ont été détectés, où<X>correspond au nombre de problèmes.Scanningl'image est en cours d'analyse et le statut de vulnérabilité final n'est pas déterminé.Unsupported OSL'analyse n'a trouvé aucune distribution de système d'exploitation (OS) prise en charge.
-
Pour afficher les détails de l'état, consultez le rapport Vulnerability Advisor en exécutant la commande suivante. Où
REGIONest la région,MY_NAMESPACEest votre espace de noms,MY_IMAGEest votre image, etTAGest votre balise.ibmcloud cr va REGION.icr.io/MY_NAMESPACE/MY_IMAGE:TAG
Définition de règles d'exemption de l'organisation
Si vous souhaitez gérer la sécurité d'une organisation IBM Cloud, vous pouvez utiliser votre paramètre de règle pour déterminer si un problème est exempt ou non.
Vous pouvez déployer des conteneurs à partir de n'importe quelle image, quel que soit l'état de sécurité.
Pour en savoir plus sur les autorisations requises pour gérer les exemptions, consultez la section Rôles d'accès pour la configuration d' IBM Cloud Container Registry.
L'utilisation de Portieris pour bloquer le déploiement d'images présentant des problèmes détectés par Vulnerability Advisor est obsolète.
Définition de politiques d'exemption à l'aide de la console d' IBM Cloud
Si vous utilisez la console IBM Cloud, vous pouvez définir un espace de nom, un référentiel ou une étiquette comme portée de la règle d'exemption. Si vous voulez utiliser le condensé comme portée, vous devez vous servir de l'interface de ligne de commande. Voir Définition de règles d'exemption de l'organisation à l'aide de l'interface de ligne de commande.
Si vous souhaitez définir des exceptions à la politique à l'aide de la console IBM Cloud, procédez comme suit :
-
Connectez-vous à IBM Cloud. Vous devez être connecté pour que Vulnerability Advisor soit visible dans la console IBM Cloud.
-
Cliquez sur l'icône du Menu de navigation, puis sur Container Registry.
-
Cliquez sur Paramètres.
-
Dans la section Security policy exemptions, cliquez sur Créer.
-
Sélectionnez le type de problème.
-
Entre l'ID du problème.
Vous pouvez trouver cette information dans votre rapport de vulnérabilités. La colonne ID de vulnérabilité contient l'ID à utiliser pour les CVE ou les avis de sécurité.
-
Sélectionnez l'espace de nom du registre, le référentiel, l'image et l'étiquette auxquels appliquer l'exemption.
-
Cliquez sur Créer.
Vous pouvez également modifier et supprimer des exemptions en survolant la ligne concernée et en cliquant sur l'icône Ouvrir et fermer la liste des options.
Définition de règles d'exemption à l'aide de l'interface de ligne de commande
Si vous utilisez l'interface de ligne de commande, vous pouvez définir un espace de nom, un référentiel, un condensé ou une étiquette comme portée de la règle d'exemption.
Si vous souhaitez définir des exceptions à la politique à l'aide de l'interface de ligne de commande (CLI), vous pouvez exécuter les commandes suivantes :
- Pour créer une exemption pour un problème de sécurité, exécutez la commande
ibmcloud cr exemption-add. - Pour recenser vos exemptions pour des problèmes de sécurité, exécutez la commande
ibmcloud cr exemption-list. - Pour répertorier les types de problèmes de sécurité que vous pouvez exempter, exécutez la commande
ibmcloud cr exemption-types. - Pour supprimer une exemption pour un problème de sécurité, exécutez la commande
ibmcloud cr exemption-rm.
Pour plus d'informations sur les commandes, utilisez l'option --help lorsque vous exécutez la commande.