En plein essor depuis plusieurs années, les containers ont modifié la façon dont nous développons, déployons et maintenons des logiciels. De par leur légèreté et leur flexibilité, ils ont permis l’apparition de nouvelles formes d’architectures d’application, consistant à constituer des applications au sein de containers séparés pour ensuite déployer ces containers sur un cluster de machines virtuelles ou physiques. Toutefois, cette nouvelle approche a créé le besoin de nouveaux outils « d’orchestration de containers » pour automatiser le déploiement, le management, le networking, le scaling et la disponibilité des applications basées sur container.
Intervient alors Kubernetes
Kubernetes est un projet Open Source créé par Google en 2015. Il permet d’automatiser le déploiement et la gestion d’applications multi-container à l’échelle. Il s’agit d’un système permettant d’exécuter et de coordonner des applications containerisées sur un cluster de machines. C’est une plateforme conçue pour gérer entièrement le cycle de vie des applications et services containerisés en utilisant des méthodes de prédictibilité, de scalabilité et de haute disponibilité.
Principalement compatible avec Docker, Kubernetes peut fonctionner avec n’importe quel système de container conforme au standard Open Container Initiative en termes de formats d’images et d’environnements d’exécution. De par son caractère open source, Kubernetes peut aussi être utilisé librement par n’importe qui, n’importe où.
Un système qui n’est pas infaillible
Kubernetes est devenu l’un des systèmes d'orchestration de conteneurs dans le cloud les plus populaires. Ce n'était donc qu'une question de temps avant que sa première faille de sécurité majeure soit découverte. Identifié par CVE-2018-1002105, le bogue a été noté 9,8 / 10 sur l’échelle de sévérité CVSS étant donné qu’une attaque peut être exécutée à distance, n’a pas besoin d’être complexe et aucune interaction de l'utilisateur ou privilège spécial n'est requis. Comme l’explique Jordan Liggitt, un ingénieur Google, ce bogue permet une escalade de privilège dans Kubernetes.
Selon les conclusions de ses tests, avec « une requête spécialement conçue, des utilisateurs autorisés à établir une connexion à un serveur principal via l'API Kubernetes peuvent ensuite envoyer des requêtes arbitraires », tout en restant identifiés.
« Il n'y a pas de moyen simple de détecter si cette vulnérabilité a été utilisée, étant donné que les demandes non autorisées sont effectuées via une connexion authentifiée, elles n'apparaissent pas dans les journaux », ajoute-t-il.
Parlant des impacts de la vulnérabilité, il indique que « Dans les configurations par défaut, tous les utilisateurs (authentifiés et non authentifiés) sont autorisés à effectuer des appels API de découverte qui permettent cette escalade ».
Jordan Liggitt a déclaré que les versions v1.10.11, v1.11.5 et v1.12.3 de Kubernetes ont été mises à disposition pour corriger ce bogue. Les administrateurs sont donc invités à l’installer.
Le bogue a été repéré par Darren Shepherd, architecte en chef et cofondateur de Rancher Labs.
Le petit mot de Red Hat OpenShift
Red Hat OpenShift, une plateforme de conteneur orientée entreprise, a introduit des correctifs pour toutes les variantes de produit. Ashesh Badani, responsable d'OpenShift chez Red Hat, a déclaré :
Envoyé par Ashesh Badani
Voir aussi :
Google cède le contrôle opérationnel de Kubernetes à la communauté, qui devra désormais supporter les coûts d'infrastructure cloud du projet
Microsoft lance la première préversion de Visual Studio Kubernetes Tools, pour simplifier l'expérience Kubernetes pour les développeurs Visual Studio
Docker 2.0 EE, la plateforme de pilotage d'architectures en containers, bénéficie de la technologie Kubernetes, qui vient aux côtés de Swarm
Le système de gestion des applications conteneurisées Kubernetes passe en version 1.10 et s'accompagne de fonctionnalités de stockage (en bêta)
Windows Server 2019 disponible en préversion avec un meilleur support de Linux et Kubernetes et des améliorations de sécurité