Partager via


Vue d’ensemble de l’étape de génération

La création d’images conteneur est la troisième étape de l’infrastructure CSSC (Containers Secure Supply Chain). Bien que certaines entreprises extrayent directement les images de base à partir de sources externes, d’autres peuvent extraire les images de base du catalogue interne sans vérifier les images par rapport à leurs signatures et attestations. Il est essentiel de s’assurer que les images de base sont toujours extraites du catalogue interne et vérifiées avant l’utilisation. Après avoir créé les images, certaines entreprises les publient sans vulnérabilité et analyse des programmes malveillants, et ne parviennent pas à générer des attestations telles que SBOM, qui ne peuvent pas être vérifiées dans les étapes suivantes de la chaîne d’approvisionnement. Il est essentiel de s’assurer que les images conteneur produites sont approuvées et conformes aux stratégies d’entreprise.

L’infrastructure CSSC (Containers Secure Supply Chain) de Microsoft identifie la nécessité de créer des images conteneur et fournit un ensemble de bonnes pratiques et d’outils pour vous aider à créer des images approuvées et conformes en toute sécurité. Dans cet article, vous allez découvrir les objectifs, les meilleures pratiques et les outils que vous pouvez utiliser dans la phase Build de l’infrastructure CSSC.

Background

Actuellement, les entreprises utilisent différentes approches pour créer des images conteneur conformes en toute sécurité. Avant de créer des images conteneur, les équipes internes doivent extraire des images de base à partir de registres d’or internes. Toutefois, ces images ne sont pas vérifiées avant l’utilisation, ce qui n’est pas recommandé, car les registres dorés peuvent être compromis et les images peuvent devenir malveillantes. Les entreprises contrôlent également la source des bibliothèques et des packages ajoutés aux images conteneur pour garantir la qualité.

Après avoir créé des images conteneur, les entreprises génèrent des métadonnées supplémentaires pour s’assurer que les images conteneur sont conformes. Certaines entreprises tirent parti d’un document de provenance SLSA pour savoir quelle validation Git est responsable de la production de l’image conteneur et s’il est reproductible. D’autres utilisent des étiquettes Docker pour fournir une provenance sur le propriétaire de l’image conteneur et qui est responsable de la validation de l’image. Certaines entreprises analysent l’image pour détecter les vulnérabilités et les programmes malveillants et génèrent des rapports en conséquence.

L’étape build de l’infrastructure CSSC recommande un ensemble d’étapes et de contrôles de sécurité qui doivent être implémentés pour produire des images conteneur fiables et conformes avant leur publication.

Microsoft recommande les pratiques suivantes pour créer des images conteneur conformes en toute sécurité.

  • Tirez des images de base uniquement à partir du catalogue interne pour réduire la surface d’attaque et améliorer la sécurité.
  • Lorsqu’elles sont disponibles, vérifiez les signatures et les attestations des images de base avant de les utiliser pour vous assurer qu’elles sont fiables et conformes.
  • Les images sans distribution contiennent uniquement l’application et ses dépendances d’exécution, sans composants logiciels ou système d’exploitation supplémentaires. Utilisez des images distroless comme images de base pour réduire la surface d’attaque et améliorer la sécurité.
  • Appliquez l’accès de privilège minimum à la plateforme ou au service de build pour vous assurer que seuls les utilisateurs autorisés sont en mesure d’apporter des modifications ou des modifications, réduisant ainsi le risque d’accès non autorisé, de violations de données et d’autres incidents de sécurité.
  • Analysez les images conteneur pour détecter les vulnérabilités et les programmes malveillants après la génération afin d’atténuer le risque d’introduire des vulnérabilités de sécurité.
  • Enrichissez des images conteneur après la génération avec des métadonnées supplémentaires telles que SBOM et des métadonnées de provenance.
  • Signez des images conteneur et des métadonnées pertinentes après la génération avec des clés d’entreprise pour garantir l’intégrité et fournir un tampon approuvé d’approbation pour une utilisation interne.
  • Corrigez les images conteneur en temps opportun pour résoudre les vulnérabilités connues.
  • Conservez les dépendances raisonnablement à jour pour suivre les vulnérabilités et les correctifs de sécurité.

Flux de travail pour la création d’images conteneur conformes

L’étape build dispose d’un flux de travail en place pour créer une image conteneur conforme aux organisations et aux stratégies de sécurité. Il est essentiel d’appliquer le contrôle d’accès au niveau des privilèges à la plateforme ou au service de génération pour les utilisateurs autorisés uniquement. Lorsque des images de base sont disponibles dans le catalogue, le workflow build effectue les opérations suivantes :

  1. Extraire des images de base à partir du catalogue interne uniquement.
  2. Vérifiez les images de base avant de l’utiliser pour vous assurer qu’elles sont fiables et conformes.
  3. Ajoutez des frameworks, du code d’application et/ou des configurations supplémentaires à partir d’une source d’approbation en plus des images de base pour la génération.
  4. Générez SBOM pendant le processus de génération.
  5. Analysez l’image conteneur résultante pour détecter les vulnérabilités connues et les programmes malveillants après la génération pour empêcher l’introduction de failles de sécurité.
  6. Corriger l’image conteneur résultante pour résoudre les vulnérabilités connues et les programmes malveillants
  7. Attachez les rapports de vulnérabilité et de programmes malveillants en tant qu’attestations d’image à utiliser dans les étapes suivantes de la chaîne d’approvisionnement.
  8. Attachez SBOM en tant qu’attestations d’image à utiliser dans les étapes suivantes de la chaîne d’approvisionnement.
  9. Enrichissez l’image résultante avec des métadonnées supplémentaires telles que les métadonnées de provenance à utiliser dans les étapes suivantes de la chaîne d’approvisionnement.
  10. Signer l’image résultante et les métadonnées pertinentes avec des clés d’entreprise pour garantir l’intégrité et fournir un tampon approuvé d’approbation pour l’étape de déploiement

Objectifs de sécurité dans l’étape Build

La création d’images conteneur fiables et conformes permet aux entreprises d’augmenter leur sécurité et de réduire la surface d’attaque sur leur chaîne d’approvisionnement pour les conteneurs. L’étape build de l’infrastructure CSSC est destinée à satisfaire les objectifs de sécurité suivants.

Réduire la surface d’attaque en raison d’un contrôle d’accès incorrect

Les utilisateurs internes peuvent apporter des modifications inattendues ou des configurations incorrectes sur l’infrastructure de build. La phase de génération dans l’infrastructure CSSC résout ce risque en appliquant par défaut le contrôle d’accès des privilèges minimum, afin que les propriétaires de ressources puissent s’assurer que la personne appropriée dispose des autorisations appropriées pour apporter des modifications et des configurations, ce qui réduit la surface d’attaque.

Réduire la surface d’attaque des utilisateurs internes malveillants

Le vol d’identité peut être utilisé pour accéder à la plateforme de génération, modifier des fichiers binaires et injecter des modifications illicites invisibles pour les développeurs et les utilisateurs d’origine. Il existe également un risque d’injecter du code vulnérable ou une mauvaise configuration par les utilisateurs internes. La phase de génération de l’infrastructure CSSC résout ce risque en appliquant le contrôle d’accès en fonction du rôle Azure (Azure RBAC) et en appliquant la révision du code à partir de différentes propriétaire de code s.

Réduire la surface d’attaque en raison de dépendances externes

Les images de base provenant de sources externes peuvent être malveillantes. Les registres externes peuvent être compromis. La phase de génération dans l’infrastructure CSSC résout ce risque en utilisant des images de base du catalogue uniquement et en les vérifiant par rapport à leurs signatures, rapports de vulnérabilité et de programmes malveillants, et d’autres métadonnées d’image avant de les utiliser.

Les packages logiciels open source malveillants avec des portes dérobées masquées peuvent empêcher les fichiers binaires du package de ne pas correspondre au code source. La validité des dépendances ou des composants open source peut expirer, bloquant les derniers correctifs de sécurité de amont. L’étape build de l’infrastructure CSSC résout ce risque en utilisant des bibliothèques approuvées, l’analyse des vulnérabilités et des programmes malveillants régulièrement, et la mise à jour des bibliothèques.

Réduire la surface d’attaque en raison de builds compromises

Les agents de build vulnérables peuvent injecter des fichiers binaires côté ou du code malveillant qui peut provoquer des attaques telles que l’attaque SolarWinds. La phase de génération dans l’infrastructure CSSC résout ce risque en corrigeant régulièrement les agents de build.

Garantir une qualité d’image minimale

Dans l’étape Build de l’infrastructure CSSC, les entreprises peuvent configurer les étapes requises pour l’analyse des vulnérabilités et des programmes malveillants des images après la génération et générer des rapports. Les entreprises peuvent également enrichir les images après la génération avec des métadonnées supplémentaires, notamment des SBOMs, des métadonnées de provenance et d’autres métadonnées internes qui répondent à leurs stratégies. Ils peuvent également signer les artefacts avec des clés d’entreprise pour garantir l’intégrité et fournir un tampon approuvé d’approbation pour la phase de déploiement.

Microsoft propose un ensemble d’outils et de services qui peuvent aider les entreprises à implémenter les étapes recommandées dans le flux de travail de phase de génération et à répondre aux objectifs de sécurité répertoriés ci-dessus.

Outils pour rester à jour après la génération

Dependabot est un outil permettant d’automatiser les mises à jour des dépendances par le biais de demandes d’extraction. Pour plus d’informations et les étapes suivantes, reportez-vous à ce guide.

Copa est un projet open source soutenu par Microsoft, traite les vulnérabilités du package de système d’exploitation Linux dans les images conteneur en fonction des résultats de l’analyse des vulnérabilités. Pour plus d’informations et les étapes suivantes, reportez-vous à ce guide.

Outils et services pour l’analyse continue des vulnérabilités et la mise à jour corrective des images

Microsoft Defender pour le cloud est la solution native cloud pour améliorer, surveiller et maintenir la sécurité de vos charges de travail conteneurisées. Microsoft Defender pour le cloud offre des outils d’évaluation et de gestion des vulnérabilités pour les images stockées dans Azure Container Registry.

Copa est un projet open source soutenu par Microsoft, traite les vulnérabilités du package de système d’exploitation Linux dans les images conteneur en fonction des résultats de l’analyse des vulnérabilités. Pour plus d’informations et les étapes suivantes, reportez-vous à ce guide.

Outils et services pour enrichir des images externes avec des métadonnées d’entreprise

ORAS est un projet CNCF soutenu par Microsoft qui offre une interface CLI open source et des bibliothèques pour interagir avec les registres OCI. ORAS peut être utilisé pour ajouter des annotations et attacher des métadonnées à une image conteneur. ORAS peut être utilisé pour ajouter des SBOMs, des métadonnées de provenance et d’autres métadonnées pour enrichir les images pour les étapes suivantes de la chaîne d’approvisionnement.

L’outil SBOM de Microsoft est un outil open source, hautement évolutif et prêt pour l’entreprise pour créer des SBOMs compatibles SPDX 2.2 pour toute variété d’artefacts. L’outil SBOM peut être utilisé pour générer des SBOMs détaillées pour les images conteneur.

Le projet prédicateur est un projet CNCF soutenu par Microsoft qui développe des spécifications et des outils pour la signature et la vérification des artefacts logiciels. L’outil du notation projet d’avocat peut être utilisé pour signer des images conteneur et d’autres artefacts natifs cloud avec des clés d’entreprise.

Azure Key Vault est un service cloud qui fournit un emplacement sécurisé et centralisé pour le stockage et la gestion des clés de chiffrement, des secrets et des certificats. AKV peut être utilisé pour stocker et gérer vos clés d’entreprise de manière sécurisée et fiable.

Étapes suivantes

Consultez la vue d’ensemble de la phase de déploiement pour déployer en toute sécurité des images conteneur.