【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
相关推荐
Joren的学习记录1 天前
【Linux运维大神系列】Kubernetes详解2(kubeadm部署k8s1.27单节点集群)
linux·运维·kubernetes
lbb 小魔仙1 天前
【Linux】K8s 集群搭建避坑指南:基于 Linux 内核参数调优的生产级部署方案
linux·运维·kubernetes
木二_1 天前
附058.Kubernetes Gitea部署
ci/cd·kubernetes·gitea
没有bug.的程序员1 天前
Kubernetes 与微服务的融合架构:调度、弹性、健康检查深度协同
jvm·微服务·云原生·架构·kubernetes·健康检查·弹性伸缩
Kendra9191 天前
Kubernetes 常用命令
云原生·容器·kubernetes
2501_939909052 天前
k8s基础与安装部署
云原生·容器·kubernetes
谷隐凡二2 天前
Kubernetes Route控制器简单介绍
java·容器·kubernetes
李少兄2 天前
Kubernetes 日志管理
docker·容器·kubernetes
秋饼2 天前
【K8S测试程序--git地址】
git·容器·kubernetes
oMcLin2 天前
如何在RHEL 9上配置并优化Kubernetes 1.23高可用集群,提升大规模容器化应用的自动化部署与管理?
kubernetes·自动化·php