Un orchestrateur musical coordonne l’état des notes de musique avec plusieurs musiciens jouant de différents instruments, contrôlant la vitesse et assurant une précision et une perfection constantes. Kubernetes est similaire à bien des égards : il s’agit d’un orchestrateur numérique bien connu qui gère et exécute des applications cloud natives conteneurisées à toutes les échelles, des start-ups en démarrage aux entreprises établies.
Vous ne devriez d’ailleurs pas être surpris de savoir que ce blog vous est diffusé à partir d’un conteneur orchestré par Kubernetes.
Kubernetes est basé sur une architecture logicielle décentralisée, et dispose de divers composants et services qui fonctionnent selon le concept de l’état souhaité. Avec plusieurs composants à prendre en compte, la sécurisation de Kubernetes est plus étendue que la sécurisation d’une infrastructure d’hébergement traditionnelle. Dans cet article de blog et la série suivante, nous aborderons les divers composants Kubernetes et la manière de les sécuriser.
Composants de Kubernetes
Kubernetes dispose de composants faiblement couplés sur deux plans différents : le plan de contrôle et le plan de données. Les plans de contrôle exécutent et gèrent la communication et le fonctionnement à l’échelle du cluster à l’image d’un système cérébral dans un corps humain. Le plan de données fournit et gère la capacité de fonctionner et d’évoluer, à l’image du système musculaire.
Les composants du plan de contrôle incluent les éléments suivants :
- kube-apiserver
- kube-controller-manager, etcd (magasin de paires clé/valeur)
- kube-scheduler
- Contrôleurs d’admission
- kube-cloud-controller-manager
Les composants du plan de données incluent les éléments suivants :
- kubelet
- kube-proxy (ou network-proxy)
- Environnement d’exécution du conteneur (Docker, conteneurs)
- DNS du cluster, interface utilisateur Web
Tremplin vers la sécurité K8 - KSPM
La sécurisation de Kubernetes est une approche sur mesure, basée sur le type de déploiement (public/privé) et dépendant de l’offre Kubernetes (auto-hébergée ou PaaS par les fournisseurs de cloud). Nous devons commencer à analyser l’exposition des données et les risques associés, puis appliquer les contrôles appropriés.
Il est recommandé d’auditer d’abord vos clusters Kubernetes à l’aide d’une solution Kubernetes Security Posture Management (KSPM). Proposé soit en tant que produits autonomes, soit dans le cadre d’une plateforme plus large comme la CNAPP, KSPM analyse les composants Kubernetes à la recherche d’erreurs de configuration. Sur la base des lacunes identifiées, les équipes de sécurité peuvent définir et concevoir des configurations de sécurité et des garde-fous pour sécuriser les composants Kubernetes.
L’équipe de sécurité peut adopter différentes directives de renforcement en fonction du secteur d’activité du client. Des directives de renforcement pour Kubernetes pour différentes versions et PaaS sont proposées par le CIS benchmark, et pour l’espace fédéral et gouvernemental par NSA CISA. Le cadre MITRE ATT&CK définit également quelques techniques bien établies qu’utilisent les hackers dont nous parlerons dans cette série.
Outre l’identification et la correction des erreurs de configuration, vous souhaiterez également sécuriser vos clusters Kubernetes à l’aide d’un modèle de sécurité Zero Trust. Vous devez également sécuriser le registre d’images du conteneur, le stockage de volume persistant et le réseau. Nous développerons ces sujets dans nos prochains articles de blog.
Vous ne pouvez pas attendre la suite de la série et vous devez sécuriser votre environnement Kubernetes dès maintenant ? Parlez-en à nos experts.