Vous utilisez Kubernetes. C’est très bien ! Qu’en est-il de sa sécurité ?
Nous savons tous que Kubernetes est devenu l’une des meilleures plateformes d’orchestration de conteneurs à l’heure actuelle. Plus de 80 % des organisations utilisent aujourd’hui Kubernetes d’une manière ou d’une autre. Il automatise simplement les configurations de provisionnement et la gestion des conteneurs.
Mais au-delà de la simplicité, la sécurité est aussi l’une des parties les plus cruciales de toute application conteneurisée. Vous devez savoir comment fournir une sécurité robuste aux applications fonctionnant sur le cluster Kubernetes. Les problèmes de sécurité ont augmenté de façon exponentielle au cours des dernières années, c’est pourquoi ce domaine concerne toutes les organisations.
Si vous connaissez les bases de Kubernetes, vous savez que Kubernetes, par défaut, attribue une adresse IP à chaque port dans les clusters et fournit une sécurité basée sur l’IP. Mais Kubernetes ne fournit que les mesures de sécurité de base. Malheureusement, lorsque vous parlez de surveillance avancée de la sécurité et d’application de la conformité par les administrateurs, Kubernetes n’offre pas ce niveau de sécurité. Mais heureusement, de nombreux scanners Kubernetes open-source tiers peuvent vous aider à sécuriser vos clusters Kubernetes.
Voici quelques avantages de l’utilisation des scanners Kubernetes :
- Identifie les mauvaises configurations et les vulnérabilités dans le cluster, les conteneurs, les pods
- Fournit des solutions pour corriger les mauvaises configurations et supprimer les vulnérabilités
- Il donne une vue en temps réel de la santé du cluster.
- Donne plus de confiance à l’équipe DevOps pour développer et déployer les applications sur un cluster Kubernetes
- Il aide à éviter les défaillances du cluster en identifiant le problème à un stade précoce.
Explorons les outils suivants pour vous aider à trouver les vulnérabilités de sécurité et les mauvaises configurations afin d’assurer la sécurité de vos applications conteneurisées.
Trivy
Trivy est un outil d’analyse de vulnérabilité d’Aqua Security capable d’analyser Kubernetes, AWS, l’image du conteneur, l’image virtuelle Git repo (à distance), et plus encore.
Trivy prend en charge la plupart des langages de programmation et des systèmes d’exploitation populaires, et même il peut vous aider à trouver des problèmes de sécurité et des erreurs de configuration dans les fichiers IaC.
Kube Bench
Kube Bench est l’un des outils de sécurité de qualité open-source qui vérifie si vos déploiements répondent aux critères de sécurité du CIS (Center for Internet Security).
Il prend en charge les tests de référence pour plusieurs versions de Kubernetes. En outre, il signale les erreurs et aide à les corriger. Il fournit une solution pour corriger les erreurs. Cet outil vérifie également que l’autorisation et l’authentification des utilisateurs sont correctes et que les données sont cryptées en toute sécurité. Il s’assure que le déploiement autorisé jusqu’à autorise le principal CIS.
Caractéristiques de Kube Bench :
- Application écrite en tant que Go
- Test pour les maîtres et les nœuds Kubernetes
- Disponible en tant que conteneur
- Les tests sont définis en YAML, plus facile à étendre et à mettre à jour
- Supporte les sorties au format JSON
Checkov
Checkov est un outil de sécurité utilisé pour prévenir les erreurs de configuration du cloud pendant la construction pour Kubernetes, Terraform, Cloudformation, Serverless framework, et d’autres langages d’infrastructure en tant que code. Il est écrit en Python et vise à accroître l’adoption de la sécurité et la conformité aux meilleures pratiques.
Vous pouvez exécuter des scans à l’aide de Checkov pour analyser l’infrastructure en tant que code.
Caractéristiques de Checkov :
- Open-source et simple d’utilisation
- Plus de 500 politiques de sécurité intégrées
- Meilleures pratiques de conformité pour AWS, Azure et Google Cloud
- Supporte plusieurs formats de sortie – CLI, JUnit XML, JSON
- Intégrez les scans à vos pipelines CI/CD
- Exécute l’analyse pour le dossier d’entrée qui contient vos fichiers Terraform et Cloudformation
MKIT
MKIT est l’acronyme de Managed Kubernetes Inspection Tool (outil d’inspection de Kubernetes géré). Cet outil vous aide à identifier rapidement les principaux risques de sécurité pour les clusters Kubernetes et leurs ressources. Il offre des moyens rapides et faciles d’évaluer les mauvaises configurations dans le cluster et les charges de travail.
L’outil est livré avec une interface qui s’exécute par défaut sur http://localhost:8000
. Il vous donne un aperçu des vérifications échouées et des vérifications réussies. Dans la section des ressources affectées, vous obtiendrez les détails des ressources affectées et non affectées.
Caractéristiques de MKIT :
- Construit à l’aide de bibliothèques et d’outils open-source
- Facile à installer et à utiliser
- Prend en charge plusieurs fournisseurs Kubernetes – AKS, EKS et GKE
- Stocke les données sensibles à l’intérieur du conteneur
- Fournit une interface web
Kubei
Kubei est utilisé pour évaluer les risques immédiats dans un cluster Kubernetes. La majeure partie de Kubei est écrite dans le langage de programmation Go. Il couvre tous les benchmarks CIS Docker.
Il analyse toutes les images utilisées par le cluster Kubernetes, les pods d’application, les pods système, etc. Vous disposez de plusieurs options pour personnaliser l’analyse en termes de niveau d’intérêt des vulnérabilités, de vitesse de l’analyse, de portée de l’analyse, etc. Grâce à l’interface graphique qu’il fournit, vous pouvez visualiser toutes les vulnérabilités qu’il trouve dans le cluster et comment les atténuer.
Caractéristiques de Kubei :
- Scanner de vulnérabilité Open-Source Kubernetes Runtime
- Analyse les images publiques hébergées dans votre registre
- Fournit un état en temps réel de la santé du cluster
- Interface utilisateur Web pour la visualisation des analyses
- Fournit de multiples options personnalisées pour l’analyse
Kube Scan
Kube Scan est un scanner de conteneurs qui se présente sous la forme d’un conteneur. Vous l’installez dans un nouveau cluster, après quoi il analyse les charges de travail qui s’exécutent actuellement dans votre cluster et vous indique le score de risque et les détails du risque dans l’interface utilisateur Web conviviale. Le score de risque va de 0 à 10, 0 signifiant aucun risque et 10 un risque élevé.
La formule et les règles de notation utilisées par Kube scan sont basées sur KCCSS, le Kubernetes Common Configuration Scoring System, qui est un cadre open-source. Il est similaire à CVSS (Common Vulnerability Scoring System). Il utilise plus de 30 paramètres de sécurité tels que les politiques Kubernetes, les capacités, les niveaux de privilèges et crée une base de risque pour fournir un score de risque. Le score de risque est également basé sur la facilité d’exploitation ou l’impact élevé et la portée de l’exploitation.
Caractéristiques de Kube Scan :
- Outil open-source d’évaluation des risques
- Interface Web avec l’évaluation des risques et les détails de la note de risque
- Il s’exécute en tant que conteneur dans la grappe.
- Rescanne le cluster toutes les 24 heures
Kubeaudit
Kubeaudit, comme son nom l’indique, est un outil open-source d’audit de cluster Kubernetes. Il détecte les erreurs de configuration de sécurité dans les ressources Kubernetes et vous indique comment les résoudre. Il est écrit en langage Go, ce qui permet de l’utiliser comme un paquetage Go ou un outil en ligne de commande. Vous pouvez l’installer sur votre machine en utilisant brew avec une seule commande.
Il suggère diverses pratiques telles que l’exécution d’applications sans utilisateur root, l’accès en lecture seule au système de fichiers root, l’absence d’octroi de privilèges supplémentaires aux applications du cluster afin de prévenir les problèmes de sécurité les plus courants. Il dispose d’une liste exhaustive d’auditeurs utilisés pour tester les problèmes de sécurité du cluster Kubernetes, tels que le SecurityContext des pods.
Caractéristiques de Kubeaudit :
- Outil d’audit Kubernetes open-source
- Fournit trois modes différents – manifest, local, cluster, pour auditer le cluster
- Donne le résultat de l’audit à trois niveaux de gravité – Error, Warn, Info
- Utilise plusieurs auditeurs intégrés pour auditer les conteneurs, les pods et les espaces de noms
Kubesec
Kubesec est un outil open-source d’analyse des risques de sécurité pour les ressources Kubernetes. Il valide la configuration et les fichiers manifestes utilisés pour le déploiement et les opérations des clusters Kubernetes. Vous pouvez l’installer sur votre système en utilisant son image de conteneur, son paquetage binaire, un contrôleur d’admission dans Kubernetes, ou un plugin kubectl.
Caractéristiques de Kubesec :
- Un outil d’analyse des risques open-source
- Il est livré avec un serveur HTTP intégré qui s’exécute en arrière-plan sur 8080 par défaut.
- Exécutez Kubesec-as-a-Service via HTTPS sur v2.kubesec.io/scan
- Il peut analyser plusieurs documents YAML dans un seul fichier d’entrée.
Conclusion
Ces outils visent à sécuriser le cluster Kubernetes et ses ressources et à rendre difficile l’intrusion des pirates dans les applications exécutées à l’intérieur du cluster. Les scanners vous aideront à déployer les applications sur le cluster avec plus de confiance. Alors, allez-y, essayez ces outils et identifiez les vulnérabilités avant qu’un hacker ne le fasse.