
Escáner de código abierto en tiempo de ejecución para clústeres k8s que realiza auditorías de seguridad basadas en la especificación CIS Kubernetes Benchmark.
Las pruebas de auditoría son la implementación completa de la especificación CIS Kubernetes Benchmark
¡¡NUEVO!! los resultados de auditoría ahora pueden aprovecharse como webhook a través de un plugin de usuario (usando plugin de Go)

git clone https://github.com/chen-keinan/kube-beacon
cd kube-beacon
make build
Ejecute kube-beacon sin indicadores, ejecuta todas las pruebas
./kube-beacon
Ejecute kube-beacon con indicadores, ejecute pruebas a demanda
Usage: kube-Beacon [--version] [--help] <command> [<args>]
Available commands are:
-r , --report : run audit tests and generate failure report
-i , --include: execute only specific audit test, example -i=1.2.3,1.4.5
-e , --exclude: ignore specific audit tests, example -e=1.2.3,1.4.5
-n , --node: execute audit tests on specific node, example -n=master,-n=worker
-s , --spec: execute specific audit tests spec, example -s=gke, default=k8s
-v , --version: execute specific audit tests spec version, example -v=1.1.0,default=1.6.0
Ejecutar pruebas y generar informe de pruebas fallidas
./kube-beacon -r
Ejecutar kube-beacon como un pod en un clúster de k8s
Agregar enlace de rol de clúster con 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 expone un hook para plugins de usuario Ejemplo :
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
Nota: El plugin y el binario deben compilarse con el mismo entorno Linux