
Scanner open source en runtime pour les clusters k8s et effectue des audits de sécurité basés sur la spécification CIS Kubernetes Benchmark.
NOUVEAU !! Les résultats d'audit peuvent désormais être utilisés comme webhook via un plugin utilisateur (utilisant le plugin Go)

git clone https://github.com/chen-keinan/kube-beacon
cd kube-beacon
make build
Exécutez kube-eacon sans aucun indicateur , exécute tous les tests
./kube-beacon
Exécutez kube-beacon avec des indicateurs , exécutez des tests à la demande
Usage: kube-Beacon [--version] [--help] <command> [<args>]
Available commands are:
-r , --report : exécute les tests d'audit et génère un rapport d'échec
-i , --include: exécute uniquement un test d'audit spécifique, example -i=1.2.3,1.4.5
-e , --exclude: ignore des tests d'audit spécifiques, example -e=1.2.3,1.4.5
-n , --node: exécute les tests d'audit sur un nœud spécifique, example -n=master,-n=worker
-s , --spec: exécute une spécification de test d'audit spécifique, example -s=gke, default=k8s
-v , --version: exécute une version de spécification de test d'audit spécifique, example -v=1.1.0,default=1.6.0
Exécutez les tests et générez un rapport de tests d'échec
./kube-beacon -r
Exécutez kube-beacon en tant que pod dans un cluster k8s
Ajoutez une liaison de rôle de cluster avec role=cluster-admin
kubectl create clusterrolebinding default-admin --clusterrole cluster-admin --serviceaccount=default:default
cd jobs
kubectl apply -f k8s.yaml
kubectl apply -f gke.yaml
kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default kube-beacon-sc8g9 0/1 Completed 0 111s
kube-system event-exporter-gke-8489df9489-skcvv 2/2 Running 0 7m24s
kube-system fluentd-gke-7d5sl 2/2 Running 0 7m6s
kube-system fluentd-gke-f6q5d 2/2 Running 0 6m59s
kubectl logs kube-beacon-sc8g9
kubectl delete clusterrolebinding default-admin
kubectl delete -f k8s.yaml
Kube-Beacon expose un hook pour les plugins utilisateur Exemple :
go build -buildmode=plugin -o=~/<plugin folder>/bench_plugin.so /<plugin folder>/bench_plugin.go
cp /<plugin folder>/bench_plugin.so ~/.beacon/plugins/compile/bench_plugin.so
Remarque : Le plugin et le binaire doivent être compilés avec le même environnement Linux