2.7. Utiliser les registres de conteneurs en toute sécurité
Les registres de conteneurs stockent les images des conteneurs :
- Rendre les images accessibles aux autres
- Organiser les images dans des référentiels qui peuvent inclure plusieurs versions d'une image
- Il est possible de limiter l'accès aux images en fonction de différentes méthodes d'authentification ou de les rendre accessibles au public
Il existe des registres de conteneurs publics, tels que Quay.io et Docker Hub, où de nombreuses personnes et organisations partagent leurs images. Le Red Hat Registry propose des images Red Hat et partenaires prises en charge, tandis que le Red Hat Ecosystem Catalog propose des descriptions détaillées et des contrôles de santé pour ces images. Pour gérer votre propre registre, vous pouvez acheter un registre de conteneurs tel que Red Hat Quay.
Du point de vue de la sécurité, certains registres proposent des fonctions spéciales pour vérifier et améliorer la santé de vos conteneurs. Par exemple, Red Hat Quay propose une analyse des vulnérabilités des conteneurs avec Clair Security Scanner, des déclencheurs de construction pour reconstruire automatiquement les images lorsque le code source est modifié dans GitHub et d'autres emplacements, et la possibilité d'utiliser le contrôle d'accès basé sur les rôles (RBAC) pour sécuriser l'accès aux images.
2.7.1. Savoir d'où viennent les conteneurs ?
Il existe des outils que vous pouvez utiliser pour analyser et suivre le contenu de vos images de conteneurs téléchargées et déployées. Cependant, il existe de nombreuses sources publiques d'images de conteneurs. Lorsque vous utilisez des registres de conteneurs publics, vous pouvez ajouter une couche de protection en utilisant des sources fiables.
2.7.2. Conteneurs immuables et certifiés
La consommation des mises à jour de sécurité est particulièrement importante lors de la gestion de immutable containers. Les conteneurs immuables sont des conteneurs qui ne seront jamais modifiés en cours d'exécution. Lorsque vous déployez des conteneurs immuables, vous n'intervenez pas dans le conteneur en cours d'exécution pour remplacer un ou plusieurs binaires. D'un point de vue opérationnel, vous reconstruisez et redéployez une image de conteneur mise à jour pour remplacer un conteneur au lieu de le modifier.
Les images certifiées par Red Hat sont les suivantes :
- Absence de vulnérabilités connues dans les composants ou les couches de la plate-forme
- Compatible avec toutes les plateformes RHEL, du bare metal au cloud
- Supporté par Red Hat
La liste des vulnérabilités connues est en constante évolution, vous devez donc suivre le contenu de vos images de conteneurs déployées, ainsi que les images nouvellement téléchargées, au fil du temps. Vous pouvez utiliser les Red Hat Security Advisories (RHSA ) pour vous avertir de tout problème récemment découvert dans les images de conteneurs certifiées par Red Hat, et vous diriger vers l'image mise à jour. Vous pouvez également consulter le catalogue de l'écosystème Red Hat pour rechercher ces problèmes et d'autres problèmes liés à la sécurité pour chaque image Red Hat.
2.7.3. Obtenir des conteneurs à partir du Red Hat Registry et de l'Ecosystem Catalog
Red Hat répertorie les images de conteneurs certifiées pour les produits Red Hat et les offres des partenaires dans la section Images de conteneurs du catalogue de l'écosystème Red Hat. À partir de ce catalogue, vous pouvez voir les détails de chaque image, y compris le CVE, les listes de paquets logiciels et les scores de santé.
Les images Red Hat sont en fait stockées dans ce que l'on appelle le Red Hat Registry, qui est représenté par un registre de conteneurs public (registry.access.redhat.com
) et un registre authentifié (registry.redhat.io
). Les deux comprennent fondamentalement le même ensemble d'images de conteneurs, registry.redhat.io
comprenant quelques images supplémentaires qui nécessitent une authentification avec les informations d'identification de l'abonnement Red Hat.
Le contenu des conteneurs est surveillé par Red Hat pour détecter les vulnérabilités et est mis à jour régulièrement. Lorsque Red Hat publie des mises à jour de sécurité, telles que des correctifs pour glibc, DROWN, ou Dirty Cow, toutes les images de conteneurs affectées sont également reconstruites et poussées vers le Red Hat Registry.
Red Hat utilise une adresse health index
pour refléter le risque de sécurité de chaque conteneur fourni par le catalogue de l'écosystème Red Hat. Étant donné que les conteneurs consomment des logiciels fournis par Red Hat et le processus d'errata, les conteneurs anciens et périmés ne sont pas sûrs, tandis que les nouveaux conteneurs sont plus sûrs.
Pour illustrer l'âge des conteneurs, le Red Hat Ecosystem Catalog utilise un système de classement. Une note de fraîcheur est une mesure des errata de sécurité les plus anciens et les plus graves disponibles pour une image. \L'image "A" est plus à jour que l'image "F". Voir les notes de l'Indice de santé des conteneurs utilisées dans le Catalogue de l'écosystème Red Hat pour plus de détails sur ce système de notation.
Consultez le Centre de sécurité des produits Red Hat pour obtenir des détails sur les mises à jour de sécurité et les vulnérabilités liées aux logiciels Red Hat. Consultez les avis de sécurité de Red Hat pour rechercher des avis spécifiques et des CVE.
2.7.4. Registre des conteneurs OpenShift
OpenShift Container Platform inclut OpenShift Container Registry, un registre privé fonctionnant comme un composant intégré de la plateforme que vous pouvez utiliser pour gérer vos images de conteneurs. L'OpenShift Container Registry fournit des contrôles d'accès basés sur les rôles qui vous permettent de gérer qui peut tirer et pousser quelles images de conteneurs.
OpenShift Container Platform prend également en charge l'intégration avec d'autres registres privés que vous utilisez peut-être déjà, tels que Red Hat Quay.
Ressources supplémentaires
2.7.5. Stockage de conteneurs à l'aide de Red Hat Quay
Red Hat Quay est un produit de registre de conteneurs de qualité professionnelle de Red Hat. Le développement de Red Hat Quay se fait par le biais du projet Quay en amont. Red Hat Quay peut être déployé sur site ou via la version hébergée de Red Hat Quay sur Quay.io.
Les fonctionnalités de Red Hat Quay relatives à la sécurité sont les suivantes :
- Time machine: Permet aux images comportant des balises anciennes d'expirer après une période définie ou en fonction d'un délai d'expiration choisi par l'utilisateur.
- Repository mirroring: Vous permet de mettre en miroir d'autres registres pour des raisons de sécurité, comme l'hébergement d'un référentiel public sur Red Hat Quay derrière le pare-feu d'une entreprise, ou pour des raisons de performance, afin de garder les registres plus près de l'endroit où ils sont utilisés.
- Action log storage: Sauvegarder la sortie des journaux de Red Hat Quay dans le stockage Elasticsearch pour permettre une recherche et une analyse ultérieures.
- Clair security scanning: Analyser les images par rapport à diverses bases de données de vulnérabilités Linux, en fonction de l'origine de chaque image de conteneur.
- Internal authentication: Utilisez la base de données locale par défaut pour gérer l'authentification RBAC à Red Hat Quay ou choisissez entre LDAP, Keystone (OpenStack), l'authentification personnalisée JWT ou l'authentification par jeton d'application externe.
- External authorization (OAuth): Autoriser l'accès à Red Hat Quay à partir de GitHub, GitHub Enterprise ou Google Authentication.
- Access settings: Générer des jetons pour permettre l'accès à Red Hat Quay à partir de docker, rkt, l'accès anonyme, les comptes créés par l'utilisateur, les mots de passe client cryptés, ou l'autocomplétion du préfixe du nom d'utilisateur.
L'intégration de Red Hat Quay avec OpenShift Container Platform se poursuit, avec plusieurs opérateurs OpenShift Container Platform particulièrement intéressants. L'opérateur Quay Bridge vous permet de remplacer le registre d'images interne d'OpenShift par Red Hat Quay. L'opérateur Red Hat Quay Container Security Operator vous permet de vérifier les vulnérabilités des images exécutées dans OpenShift Container Platform qui ont été extraites des registres Red Hat Quay.