
Vérifie si Kubernetes est déployé conformément aux meilleures pratiques de sécurité telles que définies dans le CIS Kubernetes Benchmark
kube-bench est un outil qui vérifie si Kubernetes est déployé de manière sécurisée en exécutant les contrôles documentés dans le CIS Kubernetes Benchmark.
Les tests sont configurés avec des fichiers YAML, ce qui facilite la mise à jour de l'outil à mesure que les spécifications des tests évoluent.

Trivy, le scanner de sécurité cloud natif tout-en-un, peut être déployé en tant qu'opérateur Kubernetes dans un cluster. Tant la CLI Trivy que l'opérateur Trivy prennent en charge l'analyse CIS Kubernetes Benchmark, parmi plusieurs autres fonctionnalités.
Il existe plusieurs façons d'exécuter kube-bench. Vous pouvez exécuter kube-bench dans un pod, mais il aura besoin d'accéder à l'espace de noms PID de l'hôte pour vérifier les processus en cours d'exécution, ainsi qu'à certains répertoires sur l'hôte où les fichiers de configuration et autres fichiers sont stockés.
Le fichier job.yaml fourni peut être appliqué pour exécuter les tests en tant que job. Par exemple :
$ kubectl apply -f job.yaml
job.batch/kube-bench created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-bench-j76s9 0/1 ContainerCreating 0 3s
# Attendez quelques secondes que le job se termine
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-bench-j76s9 0/1 Completed 0 11s
# Les résultats se trouvent dans les logs du pod
kubectl logs kube-bench-j76s9
[INFO] 1 Master Node Security Configuration
[INFO] 1.1 API Server
...
Pour plus d'informations et d'autres façons d'exécuter kube-bench, consultez la documentation
kube-bench implémente le CIS Kubernetes Benchmark aussi fidèlement que possible. Veuillez signaler les problèmes ici si kube-bench n'implémente pas correctement le test tel que décrit dans le Benchmark. Pour signaler des problèmes dans le Benchmark lui-même (par exemple, des tests que vous jugez inappropriés), veuillez rejoindre la communauté CIS.
Il n'y a pas de correspondance un-à-un entre les versions de Kubernetes et les versions du benchmark CIS. Consultez Prise en charge du CIS Kubernetes Benchmark pour voir quelles versions de Kubernetes sont couvertes par différentes versions du benchmark.
Par défaut, kube-bench détermine l'ensemble de tests à exécuter en fonction de la version de Kubernetes en cours d'exécution sur la machine.
Veuillez lire Contribuer avant de contribuer. Nous accueillons favorablement les PR et les rapports de problèmes.
À l'avenir, nous prévoyons de publier des mises à jour de kube-bench pour ajouter la prise en charge des nouvelles versions du CIS Benchmark. Notez que celles-ci ne sont pas publiées aussi fréquemment que les versions de Kubernetes.