1. 简介
Kubescape 是一个用于增强 Kubernetes 安全性的工具,它支持漏洞扫描、合规性分析和配置错误检测。它可以对 Kubernetes 集群、Helm Chart 以及 YAML/JSON 格式的资源配置文件进行扫描,依据的安全框架包括 MITRE ATT&CK 和 NSA 等。此外,Kubescape 还能修复容器镜像中的漏洞,并为配置错误提供修复建议。
本文将介绍如何使用 Kubescape 来增强 Kubernetes 的安全性。
2. 安装 Kubescape
Kubescape 提供多种安装方式,包括通过 curl
下载脚本安装,也可以使用主流 Linux 发行版的包管理器安装,如 apt
、zypper
和 dnf
。
2.1 使用 curl
安装
最简单的方式是通过 curl
下载安装脚本:
$ curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
⚠️ 这种方式会安装最新版本,但不会自动更新。
2.2 使用 apt
安装(适用于 Ubuntu/Debian)
Ubuntu 用户可以添加 PPA 源后安装:
$ sudo add-apt-repository ppa:kubescape/kubescape
$ sudo apt update && sudo apt install kubescape
Debian 用户需手动添加仓库源:
$ echo 'deb http://download.opensuse.org/repositories/home:/kubescape/Debian_10/ /' | sudo tee /etc/apt/sources.list.d/home:kubescape.list
$ curl -fsSL https://download.opensuse.org/repositories/home:kubescape/Debian_10/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_kubescape.gpg > /dev/null
$ sudo apt update && sudo apt install kubescape
2.3 使用 zypper
安装(适用于 OpenSUSE)
$ sudo zypper refresh && sudo zypper install kubescape
2.4 使用 dnf
安装(适用于 Fedora)
$ dnf config-manager --add-repo https://download.opensuse.org/repositories/home:kubescape/Fedora_Rawhide/home:kubescape.repo
$ dnf install kubescape
2.5 其他安装方式
你也可以直接下载 .deb
或 .rpm
包进行安装:
✅ Ubuntu 示例:
$ wget https://download.opensuse.org/repositories/home:/kubescape/xUbuntu_22.04/arm64/kubescape_3.0.3_amd64.deb
$ sudo dpkg -i kubescape_3.0.3_amd64.deb
✅ Fedora 示例:
$ wget https://download.opensuse.org/repositories/home:/kubescape/Fedora_Rawhide/x86_64/kubescape-3.0.8-1.121.x86_64.rpm
$ sudo rpm -i kubescape-3.0.8-1.121.x86_64.rpm
所有平台的安装包都可以在 OpenSUSE 下载页面 找到。
3. 使用 Kubescape 扫描 Kubernetes
运行 kubescape scan
可以快速评估集群的安全状态:
$ kubescape scan
输出内容包括控制平面、访问控制等信息,并给出 MITRE 和 NSA 框架的合规评分,例如:
* MITRE: 80.03%
* NSA: 75.93%
你可以通过以下命令查看完整合规报告:
$ kubescape scan framework mitre
$ kubescape scan framework nsa
3.1 使用 Kubescape 控制项(Controls)
Kubescape 的控制项是一组基于最佳实践的安全检查项。你可以根据控制项 ID 进行针对性扫描:
$ kubescape scan control [CONTROL_ID] -v
例如:
$ kubescape scan control C-0002 -v
你也可以列出所有控制项:
$ kubescape list controls
输出示例:
Control ID : C-0002
Control Name : Prevent containers from allowing command execution
Docs : https://hub.armosec.io/docs/c-0002
Frameworks : AllControls, MITRE, NSA, ArmoBest, ClusterScan
📌 控制项配置允许你自定义扫描规则,比如设置检查参数等。
3.2 使用安全框架扫描
Kubescape 支持多种安全框架,比如 MITRE ATT&CK 和 NSA。你可以指定框架进行扫描:
$ kubescape scan framework [FRAMEWORK_NAME] -v
例如对 NSA 框架进行扫描:
$ kubescape scan framework nsa -v
你也可以一次性扫描所有框架:
$ kubescape scan framework all
输出会包括总控件数、通过数、失败数、严重等级分布等。
4. 修复配置错误
Kubescape 可以帮助修复资源配置文件中的安全问题。只需先对 YAML 文件进行扫描并保存为 JSON 格式:
$ kubescape scan manifest.yaml --format json --output output.json
然后运行:
$ kubescape fix output.json
系统会提示你是否应用建议的修复措施,例如添加 securityContext
配置项:
securityContext:
allowPrivilegeEscalation: false
privileged: false
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
✅ 该功能非常适合在 CI/CD 流水线中自动修复安全配置问题。
5. 修复镜像漏洞
Kubescape 还支持修复容器镜像中的操作系统级漏洞:
$ kubescape patch --image=[IMAGE_NAME] -v
例如:
$ sudo kubescape patch --image nginx -v
⚠️ 注意:该功能依赖 BuildKit,需先安装并启动 BuildKit:
$ git clone https://github.com/moby/buildkit.git
$ cd buildkit && make && sudo make install
$ sudo buildkitd &
📌 Kubescape 只能修复操作系统级别的漏洞,对应用层漏洞无效。
6. 总结
Kubescape 是一个功能强大的 Kubernetes 安全工具,具备以下核心能力:
✅ 扫描集群、配置文件、Helm Chart
✅ 支持多种安全框架(MITRE、NSA、CIS 等)
✅ 提供修复建议(kubescape fix
)
✅ 修复镜像漏洞(kubescape patch
)
它非常适合用于 CI/CD 流水线、集群巡检和安全加固。如果你正在寻找一个开源的 Kubernetes 安全解决方案,Kubescape 是一个非常值得尝试的工具。