Kube-bench 是一款通过运行 CIS(互联网安全中心)Kubernetes Benchmark 中定义的检查项目来检查 Kubernetes 部署是否安全的工具。


下面的示例演示了如何安装和运行 Kube-bench,以对 Kubernetes 集群执行安全检查。

【代码清单】

# Install Kube-bench
curl -L https://github.com/aquasecurity/kube-bench/releases/download/v0.6.5/kube-bench_0.6.5_linux_amd64.tar.gz | tar -xz
chmod +x kube-bench
sudo mv kube-bench /usr/local/bin/
# Run Kube-bench to check your Kubernetes cluster security
kube-bench --config-dir cfg --config cfg/config.
# View the detailed report
cat kube-bench-results.json | jq .

【执行结果】

The result of running Kube-bench will be a detailed report that lists each check, its status (pass/fail), and recommendations for remediation. The output may look something like this:[
 {
  "test_number": "1.1.1",
  "test_desc": "Ensure that the API server pod specification file permissions are set to 644 or more restrictive",
  "audit": "stat -c %a /etc/kubernetes/manifests/kube-apiserver.yaml",
  "type": "file",
  "result": "PASS"
 },
 {
  "test_number": "1.1.2",
  "test_desc": "Ensure that the API server pod specification file ownership is set to root:root",
  "audit": "stat -c %U:%G /etc/kubernetes/manifests/kube-apiserver.yaml",
  "type": "file",
  "result": "FAIL",
  "remediation": "chown root:root /etc/kubernetes/manifests/kube-apiserver.yaml"
 }
]

Kube-bench 根据 CIS Kubernetes 基准执行预定义检查,从而实现安全评估流程自动化。Kube-bench 可检查 Kubernetes 集群的各个方面,如 API 服务器配置、etcd 安全性和工作节点安全性。Kube-bench 由容器安全专业公司 Aqua Security 维护。该工具是开源的,在 Kubernetes 社区中广泛用于加强集群安全。

【小知识】

CIS Kubernetes Benchmark 是一份全面的指南,其中包含 200 多项保护 Kubernetes 安全的建议。它涵盖了从 API 服务器配置到网络策略的方方面面。遵守这些指南对于维护安全的 Kubernetes 环境至关重要,尤其是在强制合规的监管行业。