
ماسح ضوئي مفتوح المصدر في وقت التشغيل لمجموعة k8s ويقوم بإجراء فحوصات تدقيق أمان بناءً على مواصفات CIS Kubernetes Benchmark
Kube-Beacon هو ماسح تدقيق مفتوح المصدر يقوم بإجراء فحص تدقيق على مجموعة Kubernetes منشورة ويخرج تقرير أمان.
اختبارات التدقيق هي التنفيذ الكامل لـ مواصفات CIS Kubernetes Benchmark
جديد !! يمكن الآن الاستفادة من نتيجة التدقيق كـ webhook عبر إضافة مستخدم (باستخدام إضافة Go)

git clone https://github.com/chen-keinan/kube-beacon
cd kube-beacon
make build
قم بتنفيذ kube-beacon بدون أي خيارات، لتنفيذ جميع الاختبارات:
./kube-beacon
قم بتنفيذ kube-beacon مع خيارات، لتنفيذ اختبار حسب الطلب:
Usage: kube-Beacon [--version] [--help] <command> [<args>]
الأوامر المتاحة هي:
-r , --report : تشغيل اختبارات التدقيق وإنشاء تقرير الفشل
-i , --include: تنفيذ اختبار تدقيق محدد فقط، مثال -i=1.2.3,1.4.5
-e , --exclude: تجاهل اختبارات تدقيق محددة، مثال -e=1.2.3,1.4.5
-n , --node: تنفيذ اختبارات التدقيق على عقدة محددة، مثال -n=master,-n=worker
-s , --spec: تنفيذ مواصفات اختبار تدقيق محددة، مثال -s=gke, default=k8s
-v , --version: تنفيذ إصدار مواصفات اختبار تدقيق محدد، مثال -v=1.1.0,default=1.6.0
تنفيذ الاختبارات وإنشاء تقرير اختبارات الفشل
./kube-beacon -r
تنفيذ kube-beacon كـ pod في مجموعة k8s
إضافة ربط دور الكتلة مع دور=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 خطافًا (hook) لإضافات المستخدم مثال :
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
ملاحظة: يجب تجميع الإضافة والملف الثنائي بنفس بيئة Linux