【Kubernetes】部署 kube-bench 实现 K8s 最佳实践

CIS (Center for Internet Security),CIS Kubernetes 基准是一套针对 Kubernetes 安全配置的最佳实践。接下来,将介绍如何利用 kube-bench 来实现这些最佳实践。

  • kube-bench_0.6.17_linux_amd64
  • K8s v1.20

1、安装 kube-bench

bash 复制代码
# 安装 kube-bench,此处下载 kube-bench_0.6.17_linux_amd64.tar.gz
wget https://github.com/aquasecurity/kube-bench/releases/tag/v0.6.17/kube-bench_0.6.17_linux_amd64.tar.gz

# 解压(任意目录,此处解压到 /home/CIS),解压生成 cfg 目录和 kube-bench 脚本文件
# cfg/config.yaml,包含 master 的组件和配置文件位置,若 k8s 的配置文件(/etc/kubernetes/manifests)自定义了目录需要进行修改
tar -zxvf kube-bench_0.6.17_linux_amd64.tar.gz

2、使用 kube-bench

bash 复制代码
# 此处命令检查 etcd
# --config-dir 设置为解压后的 cfg 目录
# --config 设置为解压后 cfg 目录下的 config.yaml 文件
./kube-bench --config-dir /home/CIS/cfg --config /home/CIS/cfg/config.yaml run --targets=etcd

# 返回结果
## [PASS] 表示安全
## [FAIL] 表示不安全,需要修改
## [WARN] 表示警告,不安全级别较低

3、案例

bash 复制代码
# 此处检测 master 节点
./kube-bench --config-dir /home/CIS/cfg --config /home/CIS/cfg/config.yaml run --targets=master

# 上方返回结果中可看到有一条 [FAIL] 记录,过滤显示就能看到下方有这条记录的解决方法
# 这条 [FAIL] 是关于 etcd 存储目录的所属用户和用户组
./kube-bench --config-dir /home/CIS/cfg --config /home/CIS/cfg/config.yaml run --targets=master |grep -A4 1.1.12

# 查看 etcd 的存储目录(--data-dir)
cat /etc/kubernetes/manifests/etcd.yaml |grep etcd


# 查看 etcd 存储目录的所属用户和用户组
ll /var/lib |grep etcd
# 修改 etcd 存储目录的所属用户和用户组
chown etcd:etcd /var/lib/etcd
# 查看修改成功
ll /var/lib |grep etcd

# 再次检测,查看记录状态变成 [PASS]
./kube-bench --config-dir /home/CIS/cfg --config /home/CIS/cfg/config.yaml run --targets=master |grep 1.1.12
相关推荐
liux35284 小时前
基于kubeadm部署Kubernetes 1.26.4 集群指南
云原生·容器·kubernetes
小章UPUP8 小时前
Kubernetes (K8s) 与 Podman 的比较
容器·kubernetes·podman
农民工老王11 小时前
K8s 1.31 私有化部署实战:从 Calico 崩溃到 NFS 挂载失败的排坑全记录
云原生·kubernetes
广州中轴线11 小时前
OpenStack on Kubernetes 生产部署实战(十四)
kubernetes·智能路由器·openstack
人间打气筒(Ada)1 天前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
江畔何人初1 天前
pod的内部结构
linux·运维·云原生·容器·kubernetes
苦逼IT运维1 天前
从 0 到 1 理解 Kubernetes:一次“破坏式”学习实践(一)
linux·学习·docker·容器·kubernetes
腾讯云开发者1 天前
言出法随 -- Chaterm如何通过ASR精准操作K8S
云原生·容器·kubernetes
伟大的大威1 天前
NVIDIA DGX Spark (ARM64/Blackwell) Kubernetes 集群 + GPU Operator 完整部署指南
大数据·spark·kubernetes
only_Klein1 天前
kubernetes Pod 通信过程演示
网络·kubernetes·tcpdump