Vue d’ensemble de la phase d’acquisition
L’acquisition d’images conteneur externes à utiliser comme images de base ou utilitaires est la première étape de la chaîne d’approvisionnement pour les conteneurs. Les entreprises peuvent ne pas avoir l’expertise ou les ressources nécessaires pour créer chaque élément logiciel provenant de la source et avoir besoin de s’appuyer sur des sources externes pour les images conteneur. Par exemple, ces images sont des images de système d’exploitation ou d’infrastructure, des proxys de service comme NGINX et Envoy, ou des images de journalisation et de métriques telles que Fluentd et Kafka. Il est important d’établir certaines case activée de qualité avant d’utiliser et de s’assurer que ces images sont conformes aux stratégies d’entreprise.
Le framework CSSC (Containers Secure Supply Chain) de Microsoft identifie la nécessité d’acquérir des images externes. L’infrastructure CSSC recommande un ensemble de pratiques et d’outils standard pour vous aider à acquérir en toute sécurité les images conteneur externes pour une utilisation interne. Dans cet article, vous allez découvrir les objectifs, les pratiques standard et les outils que vous pouvez utiliser dans la phase Acquire de l’infrastructure CSSC.
Background
Actuellement, les entreprises n’ont pas de processus établi pour l’acquisition d’images conteneur externes. Les approches varient largement en fonction de la taille et de l’expertise de l’entreprise.
Les entreprises axées sur la sécurité apportent des images pré-approuvées à partir de sources externes, telles que Docker Hub, dans un registre de quarantaine interne. Ces images sont inspectées pour les vulnérabilités et les programmes malveillants avant qu’elles ne soient publiées pour une utilisation interne. Toutefois, ce processus n’est pas uniforme ou complètement automatisé. Les entreprises n’ont pas non plus de méthode pour garantir l’authenticité et l’intégrité de ces images tout au long de la chaîne d’approvisionnement. Enfin, ils n’ont pas de moyen cohérent d’enrichir les images avec des métadonnées supplémentaires pour les étapes suivantes de la chaîne d’approvisionnement.
Les entreprises qui démarrent leur parcours de sécurité utilisent des images conteneur à partir de registres externes directement dans leurs scripts de génération et de déploiement. Cette approche peut introduire des vulnérabilités, des programmes malveillants et des logiciels non conformes compromettant la disponibilité des builds d’images et des services conteneurisés.
L’étape Acquire de l’infrastructure CSSC recommande un ensemble d’étapes et de contrôles de sécurité qui doivent être implémentés pour s’assurer que les images externes sont validées et conformes aux stratégies d’entreprise avant d’être utilisées en interne.
Pratiques recommandées
Microsoft recommande de créer des logiciels à partir de la source dans la mesure du possible. Si les entreprises ne sont pas en mesure de le faire, nous vous recommandons les pratiques suivantes pour l’acquisition d’images conteneur externes et d’artefacts natifs cloud.
- Importez des images externes dans un registre interne sous le contrôle de l’entreprise pour supprimer la dépendance vis-à-vis des tiers et réduire l’impact sur la disponibilité. Vous devez importer des images uniquement à partir de sources fiables.
- Lorsqu’elles sont disponibles, vérifiez les signatures des images externes pour garantir l’authenticité et l’intégrité de l’image de l’éditeur pendant le processus d’importation.
- Avant d’autoriser l’utilisation interne, analysez les images conteneur pour détecter les vulnérabilités et les programmes malveillants afin de réduire le risque d’introduire des failles de sécurité.
- Enrichissez des images conteneur avec des métadonnées supplémentaires telles que les SBOMs, la provenance et le cycle de vie pour activer les stratégies dans les phases suivantes de la chaîne d’approvisionnement logicielle.
- Signer des images conteneur et des métadonnées pertinentes avec des clés d’entreprise pour garantir l’intégrité et fournir un tampon approuvé d’approbation pour une utilisation interne.
Les conseils de l’infrastructure CSSC de Microsoft correspondent également aux conseils pour sécuriser les matériaux dans les meilleures pratiques de la chaîne d’approvisionnement logiciel DENCP.
Flux de travail pour l’acquisition d’images externes
Malgré les entreprises de confiance placées dans des fournisseurs ou des projets open source, elles doivent toujours valider le logiciel qu’ils acquiert à partir de sources externes. Les images conteneur et les artefacts natifs cloud ne sont pas une exception. L’infrastructure CSSC recommande le flux de travail suivant pour l’acquisition d’images externes.
- Importez des images conteneur et des artefacts natifs cloud dans un registre interne sous contrôle d’entreprise.
- Mettez en quarantaine les images dans le Registre interne pour les empêcher d’être utilisées en interne jusqu’à ce qu’elles soient validées.
- Validez les signatures associées à l’image pour garantir l’authenticité et l’intégrité de l’image, si les signatures sont présentes dans le Registre externe.
- Validez toutes les autres métadonnées associées à l’image, y compris les SBOMs et la provenance pour empêcher la violation des stratégies d’entreprise, telles que les licences non conformes, si des métadonnées supplémentaires sont présentes dans le Registre externe.
- Analysez les images pour détecter les vulnérabilités connues et les programmes malveillants afin d’empêcher l’introduction de failles de sécurité.
- 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.
- S’il n’est pas disponible, générez SBOM et provenance pour l’image et joignez-les en tant qu’attestations d’image à utiliser dans les étapes suivantes de la chaîne d’approvisionnement.
- Enrichissez les images avec des métadonnées supplémentaires telles que les métadonnées de cycle de vie à utiliser dans les étapes suivantes de la chaîne d’approvisionnement.
- Signez l’image 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 une utilisation interne.
- Si l’image répond aux stratégies internes, publiez l’image dans le registre d’or pour une utilisation interne.
Objectifs de sécurité dans la phase Acquisition
Le fait d’avoir un flux de travail bien défini pour l’acquisition d’images externes aide les entreprises à accroître leur sécurité et à réduire la surface d’attaque sur leur chaîne d’approvisionnement pour les conteneurs. L’étape Acquire de l’infrastructure CSSC est destinée à satisfaire les objectifs de sécurité suivants.
Réduire la surface d’attaque en raison de dépendances externes
Les registres publics sont vulnérables à différents types d’attaques en raison de leur nature ouverte et du manque de mesures de sécurité strictes. Permettre aux utilisateurs au sein de l’entreprise d’extraire directement des images à partir de registres externes les expose à des attaques telles que la confusion des dépendances et la typosquatting.
La phase Acquire de l’infrastructure CSSC résout ce risque en centralisant l’acquisition et la gestion des artefacts externes et en offrant aux utilisateurs internes une source unique de vérité pour toutes les images et artefacts natifs cloud.
Réduire le risque d’introduire des failles de sécurité
Le manque de processus de vérification et d’approbation stricts pour les images dans les registres publics signifie que tout le monde peut pousser des images sans examen rigoureux. Cela augmente le risque d’utilisation par inadvertance d’images compromises qui peuvent introduire des vulnérabilités de sécurité dans les applications d’entreprise.
L’étape Acquire résout ce risque en ajoutant une étape requise pour l’analyse des vulnérabilités et des programmes malveillants des images avant qu’elles ne soient approuvées pour une utilisation interne. Un autre avantage supplémentaire de l’importation des images dans un registre interne, ces images peuvent désormais être analysées et corrigées régulièrement.
Augmenter la disponibilité des builds et déploiements de conteneurs
En raison de la nécessité de distribuer des images conteneur à l’échelle mondiale, les registres publics sont susceptibles d’être limités. Les registres publics sont également des cibles d’attaques DDoS qui peuvent avoir un impact sur la distribution d’images. Enfin, les registres publics sont hébergés sur l’infrastructure qui n’est pas sous contrôle d’entreprise et peuvent être affectés par des pannes. Tout cela peut entraîner des retards ou des échecs dans les builds et les déploiements d’entreprise.
En important des images à partir de registres externes dans un registre interne, l’étape Acquire résout ce risque en supprimant la dépendance vis-à-vis des registres externes et en permettant aux entreprises de contrôler le taux auquel elles extrayent des images à partir de registres internes. Les registres privés peuvent également être mieux protégés contre les attaques externes et se conformer aux exigences de disponibilité de l’entreprise.
Contrôler le cycle de vie des images externes
Les éditeurs de logiciels peuvent mettre à jour des images dans des registres externes sans préavis. Cela peut entraîner des modifications inattendues dans les builds et les déploiements d’entreprise. En outre, les images peuvent être supprimées des registres externes sans préavis, ce qui peut entraîner l’échec des builds et déploiements d’entreprise.
En introduisant un registre intermédiaire pour héberger les images externes, l’étape Acquire résout ce risque en offrant des versions mises en cache des images nécessaires pour une utilisation interne. Cela permet aux entreprises de contrôler le cycle de vie des images et de s’assurer qu’elles sont retirées en fonction des stratégies d’entreprise.
Garantir une qualité d’image minimale
Bien que certains éditeurs d’images externes commencent à inclure des attestations telles que les SBOMs et la provenance, ainsi que des images conteneur, de nombreuses images dans les registres publics n’ont pas de telles attestations. Cela est également dû au fait que certains registres publics ne prennent pas en charge ces fonctionnalités. Cela rend difficile pour les entreprises de s’assurer que les images qu’elles acquièrent sont conformes à leurs stratégies.
Dans l’étape Acquire de l’infrastructure CSSC, les entreprises peuvent enrichir les images avec des métadonnées supplémentaires, notamment des SBOMs, une provenance, un cycle de vie 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 une utilisation interne.
Outils recommandés
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 d’acquisition et à répondre aux objectifs de sécurité répertoriés ci-dessus.
Outils et services pour l’importation d’images externes
Azure Container Registry (ACR) est un registre géré conforme à OCI qui prend en charge la distribution d’images conteneur et d’autres artefacts natifs cloud. ACR est conforme aux dernières spécifications OCI et peut être utilisé pour stocker les artefacts de la chaîne d’approvisionnement.
La fonctionnalité d’importation ACR peut être utilisée pour importer des images à partir de registres externes dans ACR. L’importation conserve la synthèse et les balises d’image et vous permet d’importer des images à partir de n’importe quel registre public et privé qui prend en charge l’API Docker Registry V2.
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 également être utilisé pour copier des images et d’autres artefacts OCI à partir de registres externes dans ACR.
Outils et services pour la validation d’images externes
ACR Tasks est une suite de fonctionnalités dans Azure Container Registry qui permet aux entreprises d’automatiser différentes tâches telles que l’analyse des vulnérabilités ou la validation de la signature ou SBOM. Les tâches ACR peuvent être utilisées pour valider les images externes une fois qu’elles sont importées dans Azure Container Registry. Les tâches ACR peuvent également être utilisées pour automatiser l’importation d’images à partir de registres externes dans Azure Container Registry.
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.
Outils pour enrichir des images externes avec des métadonnées d’entreprise
En tant qu’outil polyvalent pour interagir avec les registres OCI, ORAS peut également être utilisé pour ajouter des annotations et attacher des métadonnées à une image conteneur. ORAS peut être utilisé pour ajouter des SBOMs, une provenance, un cycle de vie 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.
Étapes suivantes
Consultez la vue d’ensemble de l’étape catalogue pour héberger en toute sécurité des images conteneur pour une utilisation interne.