
kube-bench v0.16.0
检查 Kubernetes 是否按照 CIS Kubernetes Benchmark 中定义的安全最佳实践进行部署。
kube-bench 是一个工具,用于检查 Kubernetes 是否按照 CIS Kubernetes 基准 中记录的检查项安全部署。
测试使用 YAML 文件进行配置,使得该工具在测试规范演变时易于更新。

作为 Trivy 和 Trivy Operator 一部分的 CIS 扫描
Trivy,一款全合一云原生安全扫描器,可以作为 Kubernetes Operator 部署在集群内。无论是 Trivy CLI 还是 Trivy Operator,都支持 CIS Kubernetes 基准扫描及其他多项功能。
快速开始
有多种方式运行 kube-bench。 你可以在 Pod 内运行 kube-bench,但需要访问主机的 PID 命名空间以检查正在运行的进程,同时还需要访问主机上存储配置文件和其他文件的一些目录。
提供的 job.yaml 文件 可以作为 Job 应用来运行测试。例如:
$ 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
# 等待几秒让 Job 完成
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-bench-j76s9 0/1 Completed 0 11s
# 结果保存在 Pod 的日志中
kubectl logs kube-bench-j76s9
[INFO] 1 Master Node Security Configuration
[INFO] 1.1 API Server
...
更多信息和不同的运行方式请参见文档。
请注意
-
kube-bench 应尽可能准确地实现 CIS Kubernetes 基准。如果 kube-bench 未按基准描述正确实现测试,请在此处提交问题。如需报告基准本身的问题(例如,你认为不合适的测试),请加入 CIS 社区。
-
Kubernetes 版本与 CIS 基准版本之间并非一一对应。请参见 CIS Kubernetes 基准支持 以了解不同基准版本所覆盖的 Kubernetes 版本。
默认情况下,kube-bench 将根据机器上运行的 Kubernetes 版本确定要执行的测试集。
- 更多详情请参见以下文档:运行 kube-bench。
贡献
请在贡献之前阅读贡献指南。 我们欢迎 PR 和问题报告。
路线图
未来我们计划发布 kube-bench 的更新,以增加对 CIS 基准新版本的支持。请注意,这些更新的发布频率低于 Kubernetes 版本的发布频率。