【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
相关推荐
Britz_Kevin2 小时前
从零开始的云计算生活——第五十六天,临深履薄,kubernetes模块之etcd备份恢复和集群升级指南
kubernetes·生活·etcd
only_Klein2 小时前
etcd自动备份以及恢复
云原生·kubernetes·etcd
北纬34度停留3 小时前
K8s服务日志收集方案文档
云原生·容器·kubernetes
Poppy .^0^4 小时前
从实操到原理:一文搞懂 Docker、Tomcat 与 k8s 的关系(附踩坑指南 + 段子解疑)
docker·kubernetes·tomcat
听说唐僧不吃肉8 小时前
解析ELK(filebeat+logstash+elasticsearch+kibana)日志系统原理以及k8s集群日志采集过程
elk·elasticsearch·kubernetes
Johny_Zhao11 小时前
达梦数据库高可用集群部署方案
linux·mysql·网络安全·docker·信息安全·kubernetes·云计算·shell·containerd·达梦数据库·yum源·系统运维·centos8
白鲸开源13 小时前
K8s集群+Rancher Server:部署DolphinScheduler 3.2.2集群
大数据·云原生·kubernetes
鼠鼠我捏,要死了捏1 天前
Docker Swarm vs Kubernetes vs Nomad:容器编排方案对比与选型建议
docker·kubernetes·nomad
Insist7531 天前
k8s--etcd
容器·kubernetes·etcd
COTAS1 天前
K8S 知识框架和命令操作
java·容器·kubernetes