检测工具

简要概述

介绍通过 kube-bench 实现定时检测[CIS 基准]中的几个项目。

下载安装

二进制方式

跳转下载地址,根据不同目标选择。

容器化方式

官方地址:https://hub.docker.com/r/aquasec/kube-bench

docker pull docker.io/aquasec/kube-bench:latest
docker pull registry.cn-hangzhou.aliyuncs.com/kube-image-repo/kube-bench:latest

docker pull docker.io/aquasec/kube-bench:v0.6.18
docker pull registry.cn-hangzhou.aliyuncs.com/kube-image-repo/kube-bench:v0.6.18

运行检测示例

运行全部检测

./kube-bench \
	run \
	--config ./cfg/config.yaml \
	--config-dir ./cfg/

指定检测群组

./kube-bench \
	run \
	--config ./cfg/config.yaml \
	--config-dir ./cfg/ \
	--group "1.1"

指定检测步骤

./kube-bench \
	run \
	--config ./cfg/config.yaml \
	--config-dir ./cfg/ \
	--check "1.1.1,1.1.2"

跳过检测步骤

./kube-bench \
	run \
	--config ./cfg/config.yaml \
	--config-dir ./cfg/ \
	--group "1.1" --skip "1.1.19"

指定目标类型

./kube-bench \
	run \
	--config ./cfg/config.yaml \
	--config-dir ./cfg/ \
	--group "1.1" --skip "1.1.19" \
	--targets "master,node"

其中 targets 可取:[master node controlplane etcd policies]

写入结果至 pgsql

create database kube;
create role kube password 'oracle';
alter role kube with login;
grant all on database kube to kube;
grant all on all tables in schema public to kube;
export KUBE_BENCH_PGSQL_HOST=10.5.17.120
export KUBE_BENCH_PGSQL_USER=kube
export KUBE_BENCH_PGSQL_DBNAME=kube
export KUBE_BENCH_PGSQL_PASSWORD=oracle
export KUBE_BENCH_PGSQL_SSLMODE=disable

./kube-bench --config ./cfg/config.yaml --config-dir ./cfg/ --pgsql

检测 K8S 集群

  1. 控制节点
  2. Worker 节点

以 daemonset 定时运行




最后修改 2023.10.19: feat: add kube-bench (e7be518)