
Scanner de runtime open source para cluster k8s e realiza verificações de auditoria de segurança com base na especificação do CIS Kubernetes Benchmark
Kube-Beacon é um scanner de auditoria de código aberto que realiza verificações de auditoria em um cluster Kubernetes implantado e gera um relatório de segurança.
Os testes de auditoria são a implementação completa da especificação CIS Kubernetes Benchmark
NOVO !! o resultado da auditoria agora pode ser utilizado como webhook via plugin do usuário (usando plugin Go)

git clone https://github.com/chen-keinan/kube-beacon
cd kube-beacon
make build
Execute o kube-beacon sem nenhuma flag, execute todos os testes
./kube-beacon
Execute o kube-beacon com flags, execute testes sob demanda
Usage: kube-Beacon [--version] [--help] <command> [<args>]
Comandos disponíveis são:
-r , --report : executar testes de auditoria e gerar relatório de falhas
-i , --include: executar apenas teste(s) de auditoria específico(s), exemplo -i=1.2.3,1.4.5
-e , --exclude: ignorar testes de auditoria específicos, exemplo -e=1.2.3,1.4.5
-n , --node: executar testes de auditoria em nó específico, exemplo -n=master,-n=worker
-s , --spec: executar especificação de teste de auditoria específica, exemplo -s=gke, padrão=k8s
-v , --version: executar versão de especificação de teste de auditoria específica, exemplo -v=1.1.0, padrão=1.6.0
Execute os testes e gere o relatório de testes com falhas
./kube-beacon -r
Execute o kube-beacon como um pod no cluster k8s
Adicione um cluster role binding com 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 PRONTO STATUS REINÍCIOS IDADE
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
O Kube-Beacon expõe um hook para plugins do usuário Exemplo :
go build -buildmode=plugin -o=~/<pasta do plugin>/bench_plugin.so /<pasta do plugin>/bench_plugin.go
cp /<pasta do plugin>/bench_plugin.so ~/.beacon/plugins/compile/bench_plugin.so
Nota: O plugin e o binário devem ser compilados com o mesmo ambiente Linux