Sécurité des conteneurs
La sécurité des conteneurs correspond à la protection de l'intégrité des conteneurs, des applications qu'ils renferment à l'infrastructure sur laquelle ils s'appuient. Elle doit être intégrée et continue. Pour assurer la sécurité continue des conteneurs, il faut généralement :
- sécuriser le pipeline de conteneurs et l'application ;
- sécuriser l'environnement de déploiement des conteneurs et l'infrastructure.
Sécurisation du pipeline de conteneurs
Voici les étapes à suivre :
Collecter des images
Les conteneurs sont constitués de couches de fichiers, que la communauté d'utilisateurs appelle des « images de conteneurs ». L'image de base est la plus importante en matière de sécurité, car elle sert de point de départ pour la création d'images dérivées. La sécurité des conteneurs commence donc par l'identification de sources fiables pour les images de base. Toutefois, même avec des images fiables, l'ajout d'applications et les changements de configuration introduisent de nouvelles variables. Lorsque vous ajoutez du contenu externe pour créer vos applications, vous devez garder à l'esprit les principes de gestion proactive de contenu.
- Exploiter les outils de sécurité de l'entreprise tout en respectant ou en améliorant les politiques de sécurité existantes
Les conteneurs sont largement utilisés, car ils facilitent la création, la mise en paquets et la promotion d'une application ou d'un service et de toutes leurs dépendances, tout au long du cycle de vie et dans différents environnements et cibles de déploiement. Néanmoins, la sécurité des conteneurs peut être difficile à mettre en œuvre. En effet, les politiques de sécurité et les listes de contrôle statiques ne s'adaptent pas aux conteneurs de l'entreprise. La chaîne d'approvisionnement nécessite davantage de services en matière de politiques de sécurité. Les équipes doivent trouver un équilibre entre les besoins réseau et les impératifs de gouvernance liés aux conteneurs. Enfin, les outils de création et d'exécution doivent être dissociés des services.

En sécurisant votre pipeline de conteneurs et en protégeant votre infrastructure, vous aurez l'assurance que vos conteneurs sont fiables, évolutifs et sûrs. Grâce à cette série de webinars, profitez du point de vue de spécialistes de la sécurité pour le cycle de vie et la pile d'applications conteneurisées.
Avant de collecter des images de conteneurs, posez-vous les questions suivantes :
- Les images de conteneurs sont-elles signées et issues de sources fiables ?
- Les couches d'exécution et du système d'exploitation sont-elles à jour ?
- À quelle fréquence les conteneurs seront-ils mis à jour et combien de temps dureront ces opérations ?
- Des problèmes connus ont-ils été identifiés et comment seront-ils suivis ?
Gérer les accès
Une fois la collecte terminée, l'étape suivante consiste à gérer l'accès à ces images et leur partage avec l'équipe qui les utilise. Cela implique de protéger les images que vous téléchargez et celles que vous créez. L'utilisation d'un registre privé vous permet de contrôler l'accès en fonction des rôles et facilite la gestion du contenu grâce à l'affectation de métadonnées au conteneur. Les métadonnées fournissent des informations qui permettent d'identifier et de suivre des vulnérabilités connues. Avec un registre privé, vous pouvez également automatiser et affecter des politiques aux images de conteneurs stockées, tout en limitant les risques d'erreurs humaines qui peuvent être à l'origine de vulnérabilités dans vos conteneurs.
Pour définir la méthode de gestion des accès, posez-vous les questions suivantes :
- Quels contrôles d'accès basés sur les rôles faut-il mettre en place pour gérer les images de conteneurs ?
- Des fonctionnalités de balisage sont-elles prévues pour faciliter le tri des images ? Les images peuvent-elles être balisées pour indiquer qu'elles ont été approuvées uniquement pour le développement, puis pour les tests et enfin pour la production ?
- Le registre fournit-il des métadonnées visibles qui permettent de suivre des vulnérabilités connues ?
- Le registre peut-il être utilisé pour affecter et automatiser une politique (par exemple, la vérification de signatures, l'analyse de code, etc.) ?
Intégrer des tests de sécurité et automatiser le déploiement
La dernière étape du pipeline est le déploiement. Une fois les versions créées, vous devez les gérer conformément aux normes du secteur. Pour cela, vous devez comprendre comment automatiser des politiques qui permettent de signaler les versions présentant des problèmes de sécurité, notamment en cas de détection de nouvelles vulnérabilités. Puisque l'application de correctifs n'est pas aussi efficace qu'une reconstruction des conteneurs, l'intégration de tests de sécurité doit inclure la définition de politiques qui déclenchent des reconstructions automatiques. La première étape de cette démarche consiste à exécuter des outils d'analyse des composants pour suivre et signaler les problèmes. La seconde étape vise à mettre en place des outils qui permettent des déploiements automatisés et basés sur des politiques.
Au moment d'intégrer des tests de sécurité et d'automatiser le déploiement, posez-vous la question suivante :
- Comment éviter l'application de correctifs aux conteneurs en cours d'exécution, et prévoir à la place d'utiliser des déclencheurs pour reconstruire et remplacer les conteneurs au moyen de mises à jour automatiques ?
Protéger l'infrastructure
Le système d'exploitation hôte fournit une autre couche de sécurité aux conteneurs en les isolant. Vous avez donc besoin d'un système d'exploitation hôte qui offre une isolation maximale des conteneurs. Cette isolation joue un rôle primordial dans la protection de l'environnement de vos déploiements de conteneurs. Le système d'exploitation hôte est activé au moyen d'un environnement d'exécution de conteneurs, qui est idéalement géré par un système d'orchestration. Pour rendre votre plateforme de conteneurs résiliente, utilisez des espaces de noms réseau qui isolent les applications et les environnements, et associez le système de stockage à l'aide de mécanismes de montage sécurisés. Une solution de gestion des API doit comprendre l'authentification et l'autorisation, l'intégration LDAP, des contrôles d'accès des points de terminaison et la limitation du débit.
Lors de l'élaboration de la stratégie de protection de l'infrastructure de conteneurs, posez-vous les questions suivantes :
- Quels conteneurs doivent pouvoir accéder à d'autres conteneurs ? Comment s'effectue leur détection ?
- Comment contrôler l'accès aux ressources partagées (réseau, stockage, etc.) et leur gestion ?
- Comment gérer les mises à jour de l'hôte ? Tous les conteneurs devront-ils être mis à jour simultanément ?
- Comment surveiller l'intégrité des conteneurs ?
- Comment faire évoluer automatiquement la capacité des applications pour répondre à la demande ?
Nous pouvons vous aider
La plateforme Red Hat® OpenShift® comprend Red Hat Enterprise Linux®. Conçue en tenant compte du travail des équipes DevOps, elle permet d'automatiser le cycle de vie de l'application conteneurisée et de sécuriser le pipeline des conteneurs. Notre catalogue de conteneurs vous donne accès à un grand nombre d'images, d'environnements d'exécution de langage, de bases de données et de solutions de middleware certifiés qui peuvent s'exécuter partout où vous exécutez Red Hat Enterprise Linux. Les images que nous fournissons sont toujours signées et vérifiées pour garantir leur origine et leur intégrité.
Nous analysons en continu nos images de conteneurs pour détecter d'éventuelles vulnérabilités, notamment à l'aide d'un index d'intégrité accessible au public et mis à jour en permanence. Nous publions également des mises à jour de sécurité et des reconstructions de conteneurs dans notre registre public. Vous pouvez à tout moment consulter notre rapport annuel sur les risques liés à la sécurité des produits Red Hat, qui explique les mesures que nous avons prises pour contrer les vulnérabilités qui affectent les logiciels d'entreprise dans le monde entier, chaque année.
Nos partenaires de sécurité complètent et étendent certaines de nos capacités de sécurité pour les conteneurs avec des intégrations certifiées. Les fonctions de sécurité sont intégrées à la plateforme Red Hat OpenShift. Avec les solutions de sécurité de nos partenaires, elles protègent les applications et conteneurs tout au long du cycle de vie DevOps.
Autres avantages de nos solutions :
- Orchestration et gestion de conteneurs à l'échelle du Web
- Console web élaborée avec fonctions de collaboration à plusieurs utilisateurs
- Interfaces CLI et IDE
- Automatisation des versions et capacités S2I (source-to-image)
- Intégration au pipeline CI
- Automatisation du déploiement
- Prise en charge de volumes de stockage distants
- Installation et administration simplifiées
- Prise en charge d'une grande variété de langages de programmation, frameworks et services