讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在Kubernetes中利用Trivy扫描并评估集群内所有节点组件的系统级漏洞

秋萱君_6762

秋萱君_6762

发布时间:2026-05-18 14:45:00

|

1057人浏览过

|

来源于php中文网

原创

Trivy 不直接扫描 Kubernetes 节点宿主机操作系统,但可通过扫描节点组件容器镜像、本地已拉取镜像及挂载的文件系统(如 dpkg/rpm 清单)间接评估系统级漏洞;推荐优先批量扫描 kube-proxy、etcd 等组件镜像并聚焦 HIGH/CRITICAL OS 包漏洞。

如何在kubernetes中利用trivy扫描并评估集群内所有节点组件的系统级漏洞

Trivy 本身不直接扫描 Kubernetes 节点(即宿主机)的操作系统漏洞,它主要面向容器镜像、文件系统、Kubernetes资源配置、SBOM/KBOM 等目标。但你可以通过合理组合方式,间接覆盖节点上运行的关键组件所依赖的系统级漏洞——关键是明确“节点组件”指什么,并选择对应扫描路径。

下面分三类常见场景说明如何有效利用 Trivy 实现系统级漏洞评估:

明确目标:哪些“节点组件”可被 Trivy 覆盖?

Kubernetes 节点上的关键组件通常包括:

  • kubelet、kube-proxy、containerd(或 docker)、etcd 等二进制本身(运行在宿主机上)
  • 它们所依赖的基础操作系统包(如 Ubuntu/Debian 的 apt 包、CentOS/RHEL 的 rpm 包)
  • 这些组件以容器形式部署时所用的镜像(例如 k8s.gcr.io/kube-proxy:v1.28.9)

⚠️ 注意:Trivy 不能直接 SSH 登录节点执行 apt list --upgradable 或 yum updateinfo list security;它不替代 lynis、oscap 或 kube-bench 对宿主机配置的检查。

但 Trivy 可以精准扫描:

  • 所有以容器方式运行的控制平面/节点组件镜像(如 kube-proxy、coredns、etcd 镜像)
  • 节点上已拉取的本地镜像(含你自建的运维工具镜像、日志采集器等)
  • 若节点文件系统可挂载访问(如调试用的 hostPath 卷),也可扫描其 /usr/bin、/lib 等路径

扫描集群中所有容器化节点组件镜像(推荐首选)

这是最实用、最符合云原生安全左移原则的方式:

  1. 提取所有节点组件使用的镜像

    kubectl get pods -A -o jsonpath='
      {range .items[*]}{range .spec.containers[*]}{.image}{"\n"}{end}{range .spec.initContainers[*]}{.image}{"\n"}{end}{end}
    ' | sort -u | grep -v '^\s*$'

    常见组件镜像示例:

    Kubernetes Network Policy Generator
    Kubernetes Network Policy Generator

    使用加权评分卡在12项标准上评估和比较隐私解决方案供应商。适用于选择隐私管理软件、比较数据保护方案等场景。

    下载
    • k8s.gcr.io/kube-proxy:v1.28.9
    • quay.io/coreos/etcd:v3.5.12
    • k8s.gcr.io/coredns/coredns:v1.11.3
    • registry.k8s.io/pause:3.9
  2. 批量扫描并只关注 High/Critical 系统漏洞

    # 先确保数据库最新(首次或定期运行)
    trivy image --download-db-only
    
    # 批量扫描,仅输出高危及以上漏洞,跳过已知不可修复项(减少噪音)
    xargs -I {} trivy image \
      --severity HIGH,CRITICAL \
      --ignore-unfixed \
      --format table \
      --output {}.report.json \
      {} < image-list.txt
  3. 解读结果重点看 “OS Packages” 分类 Trivy 报告中会明确标出:

    • 漏洞 ID(如 CVE-2023-45853)
    • 影响的 OS 包名与版本(如 openssl 3.0.2-0ubuntu1.10)
    • 是否有修复版本(Fixed Version 字段)
    • 所属发行版(如 ubuntu-22.04)

    ✅ 这就是你要的“系统级漏洞”评估依据——它告诉你:该镜像基于哪个 Linux 发行版、哪些基础包存在未修复漏洞。


扫描节点本地文件系统(需访问权限,适合离线审计)

如果你有节点 SSH 权限或可通过 hostPath 挂载根文件系统(如调试 Pod),可用 Trivy 扫描其 OS 包数据库:

  1. 在节点上导出已安装包清单

    # Ubuntu/Debian
    dpkg-query -f '${binary:Package} ${Version}\n' -W > /tmp/dpkg-list.txt
    
    # CentOS/RHEL
    rpm -qa --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' > /tmp/rpm-list.txt
  2. 用 Trivy 扫描该清单(无需容器运行时)

    trivy filesystem \
      --security-checks vuln \
      --scanners vulnerability \
      --input /tmp/dpkg-list.txt

    ⚠️ 此模式要求清单格式符合 Trivy 解析规范(如 dpkg-list.txt 可直用,rpm-list.txt 需转为 rpm -qa --qf "%{NAME} %{VERSION}-%{RELEASE}\n" 格式)。官方支持 dpkg, rpm, apk, pacman 四种包管理器清单。


不推荐也不可行的做法

  • ❌ 在工作节点上直接运行 trivy image $(hostname) —— hostname 不是镜像名
  • ❌ 试图用 trivy k8s cluster 扫描 kubelet 进程内存 —— Trivy 不做运行时进程分析
  • ❌ 期望 Trivy 替代 kube-bench 检查 CIS 基准配置项 —— 这是不同维度(漏洞 vs 配置)

如需完整节点安全评估,应组合使用:

  • Trivy → 评估镜像和 OS 包漏洞
  • kube-bench → 评估 Kubernetes 组件配置合规性
  • oscap 或 lynis → 评估宿主机操作系统加固状态

不复杂但容易忽略的是:真正影响生产安全的,往往不是某个 CVE 编号,而是你是否知道 coredns:v1.11.3 镜像里那个 glibc 2.35-0ubuntu3.6 包,已在 ubuntu-22.04 的 CVE 数据库中标记为 Critical,且修复版 2.35-0ubuntu3.7 已发布一周——Trivy 正是帮你快速定位这一事实的工具。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

116

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

168

2026.06.29

Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

4405

2025.10.13

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

395

2025.11.04

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

80

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

80

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

40

2026.09.30

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

40

2026.09.30

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

60

2026.09.29

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn