Accueil La sécurité des infrastructures Kubernetes en question

La sécurité des infrastructures Kubernetes en question

© Microsoft - DR.

Alors que les entreprises adoptent désormais massivement les conteneurs logiciels, l’orchestrateur Kubernetes s’impose comme la clé de voûte de ces infrastructures. Une cible de choix pour les attaquants qu’il convient de protéger.

 

A l’image de la virtualisation il y a quelques décennies, les conteneurs sont en train de s’imposer comme l’infrastructure IT préférée des DSI. Selon Gartner, 75% des entreprises auront des applications en conteneurs en production à l’horizon 2022.

Flexible et multi-cloud, l’approche a de quoi séduire, mais comme toute technologie doit encore mûrir. Des failles de sécurité sont découvertes régulièrement dans les conteneurs et le rapport annuel Snyk sur la sécurité des solutions Open Source a montré dans son édition 2019 que 10 des images Docker les plus populaires contiennent au moins 30 vulnérabilités. Kubernetes, la plateforme qui permet d’orchestrer une infrastructure dynamique de conteneurs, peut elle-même constituer une cible de choix pour d’éventuels attaquants. En octobre dernier était révélée une faille critique sur l’orchestrateur de conteneurs permettant à un attaquant de réaliser une escalade de privilège et ainsi accéder à des données ou même exécuter du code malveillant dans le cluster. La faille a été corrigée avant que celle-ci ne soit révélée, mais alors que beaucoup d’entreprises déploient aujourd’hui des conteneurs en production, cette alerte de sécurité résonne comme un avertissement sans frais. Villeret Foyang, ingénieur logiciel chez Margo souligne : « Kubernetes n’est certainement pas assez mature pour la production mais les entreprises l’adoptent car c’est une solution efficace au problème de scalabilité des conteneurs. Une application sans failles de sécurité n’existe pas mais à chaque version elle continue d’être adoptée. Kubernetes ne fait pas exception à cette règle. » L’ingénieur souligne néanmoins le dynamisme de la communauté et des failles de sécurité qui sont rapidement corrigées. Un patching rapide de l’infrastructure doit être ma règle et doit être intégré aux processus CI/CD afin d’écarter les failles de sécurité identifiées.

Tour de contrôle de l’architecture, le Control Plane Kubernetes représente une cible de choix pour l’attaquant d’un cluster. Il convient de la protéger et mettre à jour.

Des bonnes pratiques en train de s’imposer

En parallèle à cette hygiène de la plateforme, l’équipe DevOps doit mettre en œuvre des bonnes pratiques au niveau de ses conteneurs et de son “master” Kubernetes et de chaque Kubelet. De nombreux catalogues de bonnes pratiques ont été publiés afin d’aider les RSSI et les Ops à protéger les plateformes Kubernetes. C’est notamment le cas des benchmarks édités par le CIS (Center for Internet) ou, autre exemple, le catalogue de bonnes pratiques édité par VMware. Celui-ci prend en compte la sécurité des accès et des autorisations sur le “Control Plane” Kubernetes, le serveur d’API de l’architecture, la sécurisation des accès réseau et bien évidemment le durcissement des nœuds et conteneurs du cluster. Un outil tel que kube-bench, par exemple, permet de vérifier que le cluster est configuré d’une façon qui correspond aux dernières recommandations de sécurité du CIS.

Le recours à SELinux et AppArmor est bien évidemment conseillé lorsque les conteneurs le permettent. Parmi les solutions pouvant être mises en œuvre pour sécuriser l’infrastructure, Villeret Foyang, chez Margo, pointe le rôle de Falco, un moteur de sécurité qui, à partir de règles définies vérifie le comportement des applications portées par la plateforme. Autres briques de sécurité importantes, Clair ou Trivy, des outils d’analyse statique des vulnérabilités ou encore les solutions éditées par Anchor Security et Aqua Security pour l’analyse de conformité des conteneurs. L’expert conclut : « Ce qui est positif, c’est que la plateforme Kubernetes est en amélioration continue et c’est rassurant car la moindre faille de sécurité sera certainement exploitée, mais corrigée très vite. »

Les grands éditeurs de solutions de sécurité ont bien évidemment adapté leur portefeuille de solutions à cet essor des conteneurs. F5 Networks a pris le contrôle de Nginx, un éditeur spécialisé dans ces nouvelles architectures en mai 2019. Check Point Software a réalisé l’acquisition de Protego en décembre 2016 afin de muscler son offre CloudGuard et protéger les infrastructures Kubernetes et Serverless. Palo Alto Networks s’appuie sur son offre de protection pour le Cloud Prisma afin de proposer une solution de protection full-stack des infrastructures Kubernetes. Autre exemple, Fortinet a doté son FortiOS de connecteurs vers tous les principaux services Kubernetes managés (AWS ELK, Azure AKS, Google Cloud GKE et Oracle OKE).

Les services managés en première ligne

Les fournisseurs Cloud ont aussi une carte à jouer dans la sécurité des architectures Kubernetes. Souvent, les entreprises optent pour des plateformes Kubernetes managées, à l’image d’Amazon Elastic Kubernetes Service (EKS), Azure Container Service (AKS) chez Microsoft et de Google Kubernetes Engine. « Les services Kubernetes managés simplifient la gestion du cluster, les solutions Cloud par exemple délèguent la responsabilité de la gestion opérationnelle du cluster au fournisseur » explique Bassem Ben Lazreg Cloud Builder et référent Kubernetes chez WeScale, « cependant, il est de la responsabilité de l’utilisateur de sécuriser ses déploiements en suivant les bonnes pratiques et en choisissant la bonne combinaison de services qui répond à ses exigences de sécurité. »

IBM et Red Hat cherchent à se différencier sur le marché en proposant une approche qui ne se limite pas aux seuls outils Open Source proposés par les fournisseurs de Paas. Les ingénieurs IBM SREs (Site Reliability Engineer) surveillent en permanence le master qui contrôle le cluster et ses composants. Les offres IBM Cloud Kubernetes Service et Red Hat OpenShift permettent de créer des clusters Kubernetes sur des nœuds worker virtuels ou bare metal qui peuvent être connectés à des réseaux locaux virtuels. « Les clusters VPC sont créés dans votre propre Cloud privé virtuel qui vous offre la sécurité d’un environnement de Cloud privé avec l’évolutivité dynamique d’un Cloud public » précise Lionel Macé, Solution Architect chez IBM Cloud Europe. L’entreprise peut s’assurer de l’intégrité des images exécutée sur son cluster en activant l’approbation de contenu dans le registre IBM Cloud Container Registry.

Si Kubernetes a pu présenter et présentera des failles de sécurité, les éléments se mettent en place pour gérer les architectures modernes des applications de demain.