Que sont les conteneurs et pourquoi en avez-vous besoin ?
Les conteneurs permettent aux applications de continuer à fonctionner de manière fiable même lorsqu'ils sont déplacés d'un environnement informatique à un autre. Cela peut être du portable d'un développeur à un environnement de test, d'un environnement de mise en scène à la production, et peut-être d'une machine physique dans un centre de données à une machine virtuelle dans un cloud privé ou public. « Les problèmes surviennent lorsque l'environnement logiciel qui sert de support n'est pas identique », a expliqué Solomon Hykes, créateur de Docker, un logiciel libre permettant de lancer des applications dans des conteneurs logiciels.
« Vous allez tester en utilisant Python 2.7, puis il va fonctionner sur Python 3 en production et quelque chose de bizarre va se produire. Ou alors vous vous fierez au comportement d'une certaine version d'une bibliothèque SSL et une autre sera installée. Vous ferez vos tests sur Debian et la production se fera sur Red Hat et toutes sortes de choses bizarres se produiront. Et ce n'est pas seulement les différents logiciels qui peuvent causer des problèmes. La topologie du réseau diffère souvent, ou les politiques de sécurité et de stockage peuvent être différentes, mais le logiciel doit fonctionner dessus », ajoute-t-il sur la nécessité d'user des conteneurs.
Pour résoudre le problème qu'explique Solomon Hykes, les conteneurs embarquent un environnement d'exécution spécifique. En effet, un conteneur est constitué d'un environnement d'exécution complet : une application, en plus de toutes ses dépendances, les bibliothèques et autres binaires, et les fichiers de configuration nécessaires à son exécution, regroupés dans un seul paquet. La conteneurisation de la plateforme d'application et de ses dépendances permet d'éliminer les différences entre les distributions de systèmes d'exploitation et l'infrastructure sous-jacente.
Dans l'édition 2021 de son enquête sur la sécurité des conteneurs, NeuVector, un fournisseur de services de sécurité pour les conteneurs, a expliqué que la sécurisation des conteneurs exige une nouvelle approche et de nouvelles technologies. Lors de la KubeCon North America 2020, il a interrogé 156 participants pour identifier les tendances et les défis auxquels les entreprises sont confrontées lorsqu'elles entrent dans le domaine de l'informatique distribuée. Environ, 80 % des répondants avaient un déploiement actif de conteneurs et 87 % prévoyaient d'en avoir un nouveau dans les 6 à 12 prochains mois. Voici ce qu'il a découvert.
Tendances des plateformes utilisées dans la conteneurisation
NeuVector a cherché à comprendre dans un premier temps quelles plateformes et quels outils les répondants utilisaient pour construire, exploiter et sécuriser leurs infrastructures de conteneurs. L'étude a révélé que Kubernetes est la norme de facto pour l'orchestration des conteneurs. Ce n'est pas une surprise au KubeCon, mais NeuVector dit l'avoir constaté également dans d'autres recherches. OpenShift, Rancher, VMware et Docker occupant les autres places du podium. Parmi les fournisseurs de cloud computing, différentes versions d'AWS dominent, Microsoft Azure et Google Cloud Plateform prenant respectivement la deuxième et la troisième place.
Et comment font-ils pour mettre toutes ces applications sur le marché aussi rapidement ? L'automatisation du pipeline CI/CD (intégration continue et de livraison continue ou de déploiement continu.). Dans cette catégorie, Jenkins était un leader incontesté, avec GitLab en deuxième position. D'autres fournisseurs, dont CircleCI et JFrog ont arrondi de la catégorie.
Comment les équipes gèrent-elles la sécurité des conteneurs ?
Avec la volonté de mettre en œuvre une culture DevOps et d'aller plus vite, la sécurité est-elle un facteur de motivation ou un obstacle ? Et qui est responsable de la sécurisation des environnements de conteneurs ? Il s'agit là de questions posées par NeuVector aux participants au KubeCon North America 2020 pour en savoir plus sur la façon dont leurs organisations gèrent les environnements conteneurisés, principalement sur le plan de la sécurité. La bonne nouvelle est que 76 % des personnes interrogées ont indiqué que la sécurité est une priorité lorsqu'elles déploient des conteneurs et des Kubernetes.
Dans son rapport, NeuVector déclare qu'il est intéressant de noter que la responsabilité de cette sécurité est omniprésente. Si les équipes de sécurité ont conservé le contrôle dans la majorité des organisations, les équipes d'exploitation et de développement sont aussi chargées de la sécurité dans un certain nombre d'entreprises. Et bien que ce soit une nouvelle responsabilité pour beaucoup, 45 % des personnes interrogées disent que les développeurs se soucient "beaucoup ou "énormément" de la sécurité des conteneurs. Seuls 12 % ont indiqué que les développeurs se souciaient "peu ou pas du tout" de la sécurité.
Sécurité des environnements de conteneurs dans la pratique
Quelles sont les questions de sécurité les plus importantes pour les équipes qui déploient les infrastructures de conteneurs ? Selon 23 % des répondants, le problème numéro un est la complexité des Kubernetes eux-mêmes. D'autres préoccupations, tout aussi importantes pour les utilisateurs, concernent la conformité, la visibilité, la productivité et la numérisation. Ce sont des considérations communes à la plupart des produits de sécurité. Plus précisément, Kubernetes crée de nouveaux problèmes de conformité pour PCI et SOC2, nécessitant une segmentation du réseau impossible à réaliser avec Kubernetes.
La plupart des répondants, environ 61 %, utilisent la sécurité du Pod Kubernetes et/ou les politiques de sécurité du réseau comme base de leur sécurité. Elles complètent les politiques natives de Kubernetes par une analyse des vulnérabilités, une inspection et un blocage du réseau. Cependant, la grande majorité, 63 % reconnaissent qu'ils réduiront la sécurité pour maintenir une production à grande vitesse. C'est une pente glissante étant donné le nombre de vulnérabilités connues ou inconnues sur Kubernetes, y compris CVE-2020-8554, la vulnérabilité dite de « l'Homme du Milieu » (Man in the Middle), qui n'a pas encore été corrigée.
Lorsqu'un incident se produit inévitablement, quels sont les outils et les stratégies utilisés par les entreprises pour protéger les applications et les données critiques ? Environ 32 % des répondants utilisent le blocage des réseaux de couche 7. NeuVector précise également dans le rapport que les équipes utilisent en outre la mise en quarantaine des conteneurs, la capture de paquets sur le réseau, le blocage des processus de conteneurs, le blocage du réseau aux couches 3 et 4, et la surveillance de l'accès aux fichiers à un taux d'adoption plus faible.
Selon NeuVector, l'une des conclusions les plus éclairantes de l'enquête est la compréhension du niveau de formation nécessaire dans l'entreprise pour aider les équipes à déployer et à sécuriser les Kubernetes. Environ 67 % des répondants se fient à la documentation de Kubernetes et 39 % à la documentation des fournisseurs de services en ligne. Par ailleurs, 41 % ont déclaré qu'ils se tournent vers les fournisseurs de services de sécurité pour les Kubernetes afin d'obtenir des informations, tandis que 30 % recherchent des informations lors de conférences.
« Alors que les Kubernetes et les conteneurs étendent leur portée dans les infrastructures informatiques des entreprises, il est impératif que les organisations veillent à ce que la sécurité suive le rythme. Les résultats nous montrent que la sécurité est une priorité pour la majorité des organisations. Cependant, il est troublant de voir le nombre d'entreprises qui admettent avoir sacrifié la sécurité à la productivité à un moment ou à un autre », a conclu NeuVector dans son rapport.
Source : Rapport de l'étude
Et vous ?
Que pensez-vous de cette étude ? Pertinente ou pas ?
Voir aussi
51 % des 4 millions d'images Docker analysées présentent des vulnérabilités critiques, et certaines d'entre elles peuvent être considérées comme malveillantes, selon une étude de Prevasio
Mirantis acquiert Docker Enterprise et Docker lève 35 millions dollars, mais le service restera une entreprise indépendante, d'après Mirantis
Docker a lancé la version bêta publique du plugin pour les déploiements simplifiés sur AWS, pour les services ECS et Fargate
Canonical introduit Micro-Kubernetes à haute disponibilité, un cluster Kubernetes léger pour les postes de travail, les appareils IdO et l'Edge Computing
Kubernetes 1.18 est disponible et apporte la prise en charge de ContainerD sous Windows. Canonical a déjà annoncé la prise en charge de cette version