首页
/ kube-bench检测RKE2集群时1.1.15和1.1.17控制项失败分析

kube-bench检测RKE2集群时1.1.15和1.1.17控制项失败分析

2025-05-30 15:47:29作者:段琳惟

在Kubernetes安全合规检测工具kube-bench的使用过程中,针对RKE2集群运行CIS基准测试时,发现控制项1.1.15和1.1.17出现意外失败的情况。这两个控制项分别涉及Kubernetes调度器和控制器管理器组件的kubeconfig文件权限设置。

问题背景

kube-bench是一个用于检查Kubernetes集群是否符合CIS基准的开源工具。当用户使用v0.10.4版本的kube-bench对RKE2 v1.31.6+rke2r1集群进行检测时,发现以下两个控制项未能通过:

  1. 控制项1.1.15:确保调度器kubeconfig文件权限设置为600或更严格
  2. 控制项1.1.17:确保控制器管理器kubeconfig文件权限设置为600或更严格

技术分析

通过检查RKE2集群的实际配置,发现相关文件的权限设置确实符合要求:

/var/lib/rancher/rke2/server/cred/scheduler.kubeconfig 权限为600
/var/lib/rancher/rke2/server/cred/controller.kubeconfig 权限为600

这表明kube-bench在检测过程中可能存在路径识别问题。深入分析kube-bench的工作原理,发现它默认会检查以下标准路径:

  • 调度器kubeconfig:/etc/kubernetes/scheduler.conf
  • 控制器管理器kubeconfig:/etc/kubernetes/controller-manager.conf

然而RKE2作为经过认证的Kubernetes发行版,采用了不同的文件存储路径:

  • 调度器kubeconfig:/var/lib/rancher/rke2/server/cred/scheduler.kubeconfig
  • 控制器管理器kubeconfig:/var/lib/rancher/rke2/server/cred/controller.kubeconfig

解决方案

针对这一问题,kube-bench社区已经通过提交修复了RKE2特定的检测逻辑。修复方案主要包括:

  1. 更新rke2-cis-1.7基准配置文件,正确指定RKE2特有的文件路径
  2. 增强路径检测逻辑,优先检查RKE2特有的配置路径
  3. 当标准路径不存在时,自动回退到RKE2的默认路径

最佳实践建议

对于使用kube-bench检测RKE2集群的用户,建议:

  1. 确保使用最新版本的kube-bench工具
  2. 明确指定使用rke2-cis-1.7基准配置文件
  3. 检查挂载的目录是否包含RKE2特有的配置路径
  4. 对于自定义安装路径的RKE2集群,需要相应调整检测路径

总结

Kubernetes各发行版在实现细节上可能存在差异,安全检测工具需要针对不同发行版进行适配。kube-bench通过维护特定发行版的基准配置文件,解决了RKE2集群检测中的路径识别问题。这一案例也提醒我们,在进行安全合规检查时,需要充分了解目标系统的具体实现细节。

登录后查看全文
热门项目推荐
相关项目推荐