0

0

Linux 安全:如何使用 kube-bench 检查 Kubernetes 安全基线

冷漠man

冷漠man

发布时间:2025-11-18 22:41:02

|

327人浏览过

|

来源于php中文网

原创

kube-bench是Aqua Security开发的开源工具,用于检测Kubernetes集群是否符合CIS安全基准。它通过自动化检查控制平面、节点配置和系统设置,输出各检查项的PASS、FAIL、WARN或INFO状态,并提供修复建议。工具以容器或二进制方式运行,不修改系统配置,仅用于审计,适合生产环境。推荐使用容器方式部署,通过挂载宿主机目录并以特权模式运行,可分别对master或node节点执行扫描。扫描结果包含CIS条款编号,便于对照官方文档,重点关注FAIL项如etcd权限、RBAC启用、Kubelet匿名访问等。建议将kube-bench集成到CI/CD或巡检流程,通过定时任务、JSON输出、Prometheus监控等方式实现持续合规评估,提升集群安全性。

linux 安全:如何使用 kube-bench 检查 kubernetes 安全基线

在 Kubernetes 集群运维中,安全基线合规性至关重要。kube-bench 是一个由 Aqua Security 开发的开源工具,专门用于检测 Kubernetes 集群是否符合 CIS(Center for Internet Security)制定的安全基准。它通过运行一系列检查项,帮助你识别配置风险并提升集群安全性。

什么是 kube-bench

kube-bench 是一个自动化扫描工具,依据 CIS Kubernetes Benchmark 文档中的建议,对控制平面组件、节点配置和系统设置进行逐项检查。它会输出哪些项已通过、哪些存在风险,并提供修复建议。

该工具以二进制或容器方式运行,不会修改系统配置,仅用于审计评估,适合在生产环境中使用。

如何部署和运行 kube-bench

kube-bench 可直接在节点上作为容器运行,也可以下载二进制文件本地执行。推荐使用容器方式避免依赖问题。

以下是在单个节点上运行 kube-bench 的基本步骤:

  • 拉取官方镜像:docker pull aquasec/kube-bench:latest
  • 确认当前节点角色(master 或 node
  • 以特权模式挂载宿主机的二进制目录和配置路径
  • 运行容器并指定目标节点类型,例如检查工作节点:
docker run -it --rm \ --pid=host \ -v /etc:/etc:ro \ -v /var:/var:ro \ -v $(which kubectl):/usr/local/mount-from-host/bin/kubectl \ aquasec/kube-bench:latest

如果检查 master 节点,添加 --master 参数:

docker run -it --rm \ --pid=host \ -v /etc:/etc:ro \ -v /var:/var:ro \ aquasec/kube-bench:latest --master

理解扫描结果与常见问题

执行完成后,kube-bench 会输出详细报告,每条检查包含 PASS、FAIL、WARN 或 INFO 状态。

Convai Technologies Inc.
Convai Technologies Inc.

对话式 AI API,用于设计游戏和支持端到端的语音交互

下载

重点关注 FAIL 项,例如:

  • etcd 数据目录未设置权限(应为 700)
  • API Server 未启用 RBAC 认证
  • Kubelet 匿名访问未关闭
  • 日志记录未启用审计功能

每一项都会标明对应的 CIS 条款编号(如 1.2.1),可对照官方文档查阅具体要求。报告末尾还会给出总分统计,便于持续跟踪改进效果。

集成到 CI/CD 或定期巡检流程

为保持集群长期合规,建议将 kube-bench 加入日常巡检脚本或 CI/CD 流水线。

你可以:

  • 编写定时任务(cron job)定期运行 kube-bench 并保存结果
  • 将输出转为 JSON 格式以便程序解析:--output json
  • 结合 Prometheus + Grafana 展示趋势变化
  • 在 GitOps 流程中加入安全门禁,扫描不通过则阻止部署

对于多节点集群,可借助 Job 资源在每个节点上并行执行 kube-bench 容器,提高效率。

基本上就这些。合理使用 kube-bench 能显著提升 Kubernetes 安全水平,及时发现潜在配置漏洞。关键是定期运行并跟进修复问题项,让安全检查成为运维常态。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

406

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

531

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

308

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

249

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

492

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

396

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

434

2024.04.08

java学习网站推荐汇总
java学习网站推荐汇总

本专题整合了java学习网站相关内容,阅读专题下面的文章了解更多详细内容。

3

2026.01.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.8万人学习

Git 教程
Git 教程

共21课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号