1. 简介

Kubescape 是一个用于增强 Kubernetes 安全性的工具,它支持漏洞扫描、合规性分析和配置错误检测。它可以对 Kubernetes 集群、Helm Chart 以及 YAML/JSON 格式的资源配置文件进行扫描,依据的安全框架包括 MITRE ATT&CK 和 NSA 等。此外,Kubescape 还能修复容器镜像中的漏洞,并为配置错误提供修复建议。

本文将介绍如何使用 Kubescape 来增强 Kubernetes 的安全性。

2. 安装 Kubescape

Kubescape 提供多种安装方式,包括通过 curl 下载脚本安装,也可以使用主流 Linux 发行版的包管理器安装,如 aptzypperdnf

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 是一个非常值得尝试的工具。


原始标题:Secure Kubernetes With Kubescape