目录
一、CIS安全基准介绍
互联网安全中心(CIS,Center for Internet Security),是一个非盈利组织,致力为互联网提供 免费的安全防御解决方案。
官网:https://www.cisecurity.org/
Kubernetes CIS基准:https://www.cisecurity.org/benchmark/kubernetes
使用指南,里面提供了如linux等安全加固方案
二、基准测试工具Kube-bench
下载pdf后,根据里面的基准来检查K8s集群配置,但内容量太大,一般会采用相关工具来完成这项工作。
Kube-bench是容器安全厂商Aquq推出的工具,以CIS K8s基准作为基础,来检查K8s是否安全部署。 主要查找不安全的配置参数、敏感的文件权限、不安全的帐户或公开端口等等。
项目地址:https://github.com/aquasecurity/kube-bench
三、CIS基准测试工具:kube-beach部署及目录说明
1、下载二进制包 https://github.com/aquasecurity/kube-bench/releases
2、解压使用
tar zxvf kube-bench_0.6.3_linux_amd64.tar.gz
其他的有的是其他厂商的基础如亚马逊等
根据分类的基准
kube-bench是可执行程序 cfg配置文件
(就是安全基准要求,可修改)
• id:编号
• text:提示的文本
• audit:获取检查目标信息
• tests:测试项目
• remediation:修复方案
• scored:如果为true,kube-bench无法正常测试, 则会生成FAIL,如果为false,无法正常测试,则会生WARN。
• type:如果为manual则会生成WARN,如果为skip, 则会生成INFO
mkdir /etc/kube-bench
# 创建默认配置文件路径
mv cfg /etc/kube-bench/cfg
cp kube-bench /usr/bin
四、CIS基准测试工具:kube-beach使用
使用kube-bench run进行测试,该指令有以下常用参数:
常用参数:
-s, --targets 指定要基础测试的目标,这个目标需要匹配cfg/中的 文件名称,已有目标:master, controlplane, node, etcd, policies
--version:指定k8s版本,如果未指定会自动检测 (基于kubeconfig连接,家目录下的)
--benchmark:手动指定CIS基准版本,不能与--version一起使用
例如:检查master组件安全配置
【】kube-bench run --targets=master
执行后会逐个检查安全配置并输出修复方案及汇总信息
输出:
[PASS]:测试通过
[FAIL]:测试未通过,重点关注,在测试结果会给出修复建议
[WARN]:警告,可做了解
[INFO]:信息
与手册对应
重点观测FAIL
修复建议。有命令
实列:修复profilling
(为go的性能分析预留的接口,基于pprof性能分析程序,通过此参数启用。默认启用,为安全应该设置为false)
重启以生效配置
systemctl restart kubelet
kube-bench run --targets=master
再次运行则无此未通过(1.2.21)
在master检查node也适用于node(各node节点也一样)