kube-bench是一个工具,通过运行CIS Kubernetes Benchmark中记录的检查来检查Kubernetes是否安全部署。
测试是用YAML文件配置的,使得这个工具很容易随着测试规范的发展而更新。
快速启动
有多种方法来运行kube-bench。你可以在pod内运行kube-bench,但它需要访问主机的PID命名空间以检查运行中的进程,还需要访问主机上存放配置文件和其他文件的一些目录。
提供的job.yaml 文件可以应用于作为一个作业运行测试。比如说。
$ 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
更多信息和运行kube-bench的不同方法,请看文档
请注意
-
kube-bench尽可能地实现了CIS Kubernetes基准测试。如果kube-bench没有正确地实现Benchmark中描述的测试,请在此提出问题。如果要报告Benchmark本身的问题(例如,你认为不合适的测试),请加入CIS社区。
-
Kubernetes的版本和CIS基准的版本之间没有一对一的映射。参见CIS Kubernetes基准测试支持,以了解不同版本的基准测试涵盖了哪些Kubernetes版本。
默认情况下,kube-bench会根据机器上运行的Kubernetes版本决定要运行的测试集。
- 更多细节请参见以下关于运行kube-bench的文档。
贡献
请在投稿前阅读《投稿》。我们欢迎PR和问题报告。
路线图
展望未来,我们计划发布kube-bench的更新,以增加对CIS基准新版本的支持。请注意,这些更新并不像Kubernetes版本那样频繁发布。
