Automatiser l’analyse des conteneurs, y compris l’analyse des images conteneur

Effectué

Les termes d’analyse de conteneur et d’analyse d’images conteneur sont souvent utilisés indifféremment, bien qu’ils font référence à des aspects légèrement différents de l’analyse de composition logicielle dans les environnements conteneurisés. L’analyse de conteneur fait généralement référence au processus de détection des vulnérabilités, des configurations incorrectes ou des problèmes de sécurité dans les applications conteneurisées. Il cible l’environnement d’exécution, les dépendances, les bibliothèques et les paramètres de configuration au sein des conteneurs. L’analyse des images conteneur se concentre sur les images conteneur. Il implique d’inspecter les couches, packages, bibliothèques et configurations au sein de l’image conteneur pour identifier des problèmes tels que les vulnérabilités de sécurité et les dépendances obsolètes. L’analyse d’images cible généralement les images conteneur résidant dans les registres de conteneurs.

Il existe de nombreux outils et techniques d’analyse de conteneurs qui prennent en charge les plateformes Azure DevOps et GitHub. En général, vous pouvez tirer parti des services indépendants de la plateforme tels que Microsoft Defender pour cloud ou incorporer des outils d’analyse directement dans Azure Pipelines ou GitHub Actions.

Microsoft Defender for Cloud

Microsoft Defender pour Cloud est une plateforme de protection d’application native dans le cloud qui implémente des mesures et pratiques de sécurité conçues pour protéger les charges de travail basées sur le cloud à partir d’un large éventail de cybermenaces. Il inclut la prise en charge de l’analyse des images et des conteneurs en tirant parti des fonctionnalités de Microsoft Defender pour conteneurs et de Microsoft Defender Vulnerability Management.

Microsoft Defender pour les conteneurs

Microsoft Defender pour conteneurs est une solution native cloud qui vise à améliorer la sécurité des environnements conteneurisés, notamment les clusters Kubernetes, les registres de conteneurs et les images conteneur, dans les environnements multiclouds et locaux. Ses fonctionnalités d’Azure Policy peuvent être regroupées en quatre catégories principales :

  • La gestion de la posture de sécurité effectue une surveillance continue des charges de travail Kubernetes pour découvrir les ressources cloud, les stockez, détectez leurs configurations incorrectes, fournissez des conseils de correction, évaluez les risques correspondants et aidez à la chasse aux risques à l’aide de Defender pour Cloud Security Explorer.
  • La protection contre les menaces au moment de l’exécution fournit une détection des menaces pour les clusters Kubernetes, étroitement alignée sur l’infrastructure MITRE ATT&CK et avec une intégration avec un large éventail de produits SIEM (Security Information and Event Management) et de détection et réponse étendues (XDR).
  • Le déploiement et la supervision facilitent l’implémentation de clusters Kubernetes et le suivi de leur état.
  • L’évaluation des vulnérabilités fournit une évaluation des vulnérabilités sans agent pour les ressources multiclouds, notamment les conseils de correction et l’analyse automatisée.

L’évaluation des vulnérabilités s’appuie sur Microsoft Defender Vulnerability Management.

Gestion des vulnérabilités Microsoft Defender

Microsoft Defender Vulnerability Management offre une fonctionnalité d’analyse d’images basée sur un déclencheur ciblant des images dans les registres Azure Container Registry (ACR). Il génère automatiquement des rapports qui documentent les vulnérabilités et les corrections correspondantes pour chaque image. Il fournit également l’analyse des conteneurs déployés dans des clusters Azure Kubernetes Service (AKS) basés sur des images extraites de n’importe quel registre pris en charge par Defender pour Cloud, notamment, les conteneurs natifs d’Amazon Web Services (AWS) et Google Cloud Platform (GCP), tels que Elastic Container Registry (GCR), Google Container Registry (GCR) et Google Artifact Registry (GAR).

Toutes les images stockées dans ACR qui répondent aux critères des déclencheurs d’analyse sont automatiquement analysées pour détecter les vulnérabilités sans aucune configuration supplémentaire. Ces critères peuvent être regroupés en deux catégories principales :

  • Déclenché par les opérations push, d’importation et d’extraction. En cas d’envoi (push) ou d’importation, une analyse est généralement effectuée en quelques minutes, mais cela peut prendre jusqu’à une heure. Après des tirages individuels, les images sont analysées dans les 24 heures.
  • Exécution en continu pour les images précédemment analysées pour les vulnérabilités afin de mettre à jour leurs rapports de vulnérabilité afin de tenir compte des vulnérabilités nouvellement publiées. Ces analyses sont effectuées une fois par jour pour les images envoyées (push) au cours des 90 derniers jours, les images extraites au cours des 30 derniers jours et les images s’exécutant sur les clusters Kubernetes surveillés par Defender pour Cloud.

Les recommandations avec les rapports de vulnérabilité sont fournies pour toutes les images dans ACR, ainsi que pour les images qui s’exécutent actuellement dans des clusters Azure Kubernetes Service (AKS). Après avoir pris les mesures recommandées pour corriger le problème de sécurité et remplacer l’image dans le Registre, Microsoft Defender pour Cloud réanalyse automatiquement l’image pour confirmer que les vulnérabilités n’existent plus.

Incorporation d’outils d’analyse directement dans Azure Pipelines ou GitHub Actions.

Vous pouvez incorporer l’analyse de conteneurs et d’images directement dans vos pipelines CI/CD pour identifier automatiquement les vulnérabilités et garantir la conformité. Le processus commence par sélectionner un outil d’analyse approprié compatible avec la plateforme respective, par exemple Aqua disponible en tant qu’extension de sécurité DevOps ou Action GitHub Trivy. Vous pouvez ensuite intégrer l’outil d’analyse choisi dans le processus de génération pour analyser les images conteneur pour détecter les vulnérabilités et les problèmes de conformité. L’analyse du conteneur doit être appliquée pendant la phase CD pour évaluer le résultat du déploiement.

Dans le cadre de l’intégration CI/CD, envisagez d’empêcher le déploiement d’images au cas où ses rapports d’analyse ne respectent pas la conformité. Lors de l’implémentation de flux de travail dans GitHub, tirez parti de ses fonctionnalités Dependabot pour détecter et créer des demandes de tirage pour mettre à jour des dépendances dans des images conteneur, notamment des fichiers Dockerfile, des manifestes de package et d’autres fichiers de configuration. Automatisez les actions de correction, telles que la mise à jour corrective des vulnérabilités ou la reconstruction d’une image, en fonction des résultats de l’analyse. Implémentez une surveillance et des révisions continues des résultats de l’analyse, en tirant parti des tableaux de bord, rapports et notifications spécifiques à la plateforme.