Comment rechercher les vulnérabilités Kubernetes avec Kubescape

0
74
dennizn/Shutterstock.com

Kubescape est un nouvel outil open source d'ARMO qui vous permet d'automatiser les analyses de cluster Kubernetes pour identifier les problèmes de sécurité. Kubescape audite votre cluster par rapport aux recommandations de renforcement publiées par la NSA et la CISA.

Voici comment installer Kubescape et commencer à analyser votre cluster. Des analyses régulières peuvent vous aider à résoudre les problèmes avant qu'ils ne soient utilisés par des attaquants.

Téléchargement de Kubescape

Kubescape est actuellement distribué en tant que binaire pré-construit pour Windows, macOS et Ubuntu. Vous pouvez le télécharger directement depuis la page des versions GitHub du projet.

Il existe également un script d'installation automatisé que vous pouvez coller dans votre terminal. Cela récupérera le bon binaire pour votre système et l'ajoutera à votre chemin.

curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash

Essayez d'exécuter kubescape pour vérifier que l'installation est terminée. Vous verrez un résumé des commandes disponibles.

Analyser votre cluster

Kubernetes se connecte à votre cluster à l'aide des fichiers de configuration Kubectl standard. Définissez la variable d'environnement KUBECONFIG dans votre shell pour référencer le fichier de configuration du cluster que vous souhaitez analyser :

export KUBECONFIG=.kube/my-cluster.yaml Advertisement

Kubescape se plaindra qu'il n'a pas réussi à charger la configuration de Kubernetes” si cette variable n'est pas définie ou si le fichier spécifié n'est pas valide. Mettez à jour la variable KUBECONFIG chaque fois que vous exécutez Kubescape si vous souhaitez analyser plusieurs clusters.

Les analyses sont lancées avec la commande scan. Vous devez indiquer le framework de renforcement sur lequel vous souhaitez numériser. Actuellement, nsa est la seule option prise en charge.

kubescape scan framework nsa –exclude-namespaces kube-system,kube-public

Kubescape analysera toutes les ressources de votre cluster, à l'exception des ressources des espaces de noms omises par l'indicateur –exclude-namespaces. Il est recommandé de répertorier les espaces de noms Kubernetes intégrés ici, car vous ne pourrez pas résoudre les problèmes rencontrés.

Votre première analyse Kubescape peut prendre un certain temps car l'outil doit télécharger ses définitions de framework. Ceux-ci définissent les tests par rapport auxquels votre cluster est évalué. Une fois l'analyse terminée, vous verrez une sortie colorisée dans votre terminal qui détaille tous les problèmes découverts.

Résultats de l'analyse

Chacun le test échoué produit sa propre section de sortie avec une liste des ressources suspectes, une description du problème et un indice de correction. Un tableau au bas du rapport fournit un résumé de tous les tests exécutés, le nombre de ressources qui ont échoué et le pourcentage de réussite global.

Publicité

Kubescape vérifie plus de 20 faiblesses possibles en fonction de la liste identifiée par la NSA. Le rapport de la NSA fournit une description des problèmes couverts et la justification de leur inclusion. Certains des problèmes clés que Kubescape vérifie :

  • Opportunités d'escalade de privilèges
  • Conteneurs fonctionnant en mode privilégié
  • Conteneurs fonctionnant avec des capacités dangereuses
  • Tableau de bord Kubernetes exposé
  • Conteneurs exécutés en tant que root
  • Identifiants contenus dans les fichiers de configuration
  • Plan de contrôle mal sécurisé

L'exécution de Kubescape vous permet de vérifier la santé de votre cluster par rapport aux directives de bonnes pratiques actuelles, vous donnant plus de certitude que vous ne mettez pas vos données et vos charges de travail en danger.

Analyse des fichiers manifestes

< p>Kubescape peut fonctionner sans connexion de cluster. Vous pouvez analyser les manifestes de ressources stockés sous forme de fichiers YAML locaux, ce qui vous permet de vérifier leur sécurité avant de les appliquer à votre cluster. Ajoutez un argument supplémentaire après le nom du framework pour spécifier les fichiers que vous souhaitez analyser :

kubescape scan framework nsa k8s/*.yaml

Vous pouvez utiliser une URL comme chemin de fichier pour analyser les fichiers stockés à distance, tels que dans un dépôt Git.

Il est préférable d'utiliser le mode d'analyse de cluster par défaut lorsque vous effectuez un audit de sécurité complet. Les analyses de manifeste sont idéalement intégrées aux pipelines CI. Utilisé de cette manière, vous pouvez éviter d'introduire involontairement de nouvelles vulnérabilités lorsque vous mettez à jour vos ressources et les déployez sur votre cluster.

Scans hors ligne

Kubescape est conçu pour une utilisation en ligne car il doit télécharger les définitions du cadre avant de pouvoir terminer une analyse. Vous pouvez cependant enregistrer manuellement le cadre pour faciliter les analyses hors ligne. Vous devriez essayer de mettre à jour le fichier périodiquement afin qu'il ne devienne pas obsolète.

Téléchargez le fichier du framework NSA :

kubescape download framework nsa –output nsa.json

Analysez maintenant votre cluster à l'aide du fichier téléchargé :

kubescape scan framework nsa –use-from nsa.json Advertisement

Le –use- from flag indique à Kubescape de charger les définitions de framework à partir du fichier spécifié. Il y a aussi –use-default qui essaiera d'utiliser le fichier mis en cache localement dans l'emplacement par défaut lorsqu'il sera disponible. Kubescape revient au téléchargement des dernières définitions depuis le serveur lorsqu'aucun fichier n'est trouvé.

Formats de sortie

Kubescape sort par défaut sur votre terminal mais peut également produire des rapports au format JSON ou Junit. Ajoutez l'indicateur -f pour spécifier le mode souhaité :

kubescape scan framework nsa -f json kubescape scan framework nsa -f junit

Cette dernière option émet un fichier XML qui peut être utilisé par les outils de rapport de test qui fonctionnent avec le format Junit. Cela vous permet d'alimenter les analyses Kubescape dans vos solutions de rapport de test existantes pour la visualisation et l'agrégation.

La sortie est émise vers le flux de sortie standard de votre terminal, quel que soit le format de rapport que vous spécifiez. Ajoutez l'indicateur -o pour fournir un chemin de fichier à enregistrer dans :

kubescape scan framework nsa -f json -o report.json

Les messages de progression habituels de Kubescape peuvent être désactivés avec l'indicateur -s. Ceci est utile dans les scénarios CI où vous ne voulez pas polluer les journaux de travail avec des caractères ASCII.

Conclusion

Kubescape vous permet d'évaluer la sécurité de votre Kubernetes clusters contre les directives publiées par la NSA. L'outil open source simple fournit une commande unique pour comparer votre environnement à plus de 20 vérifications clés.

Publicité

Kubescape ne vérifie pas les vulnérabilités à l'intérieur des conteneurs que vous exécutez dans votre cluster. Vous aurez besoin d'un autre outil tel que docker scan ou Trivy pour le faire. L'exécution d'un moteur d'analyse de conteneurs avec Kubescape vous donne l'image la plus complète de l'état de sécurité de votre environnement.