当前位置: 首页 > news >正文

【云原生-K8s】镜像漏洞安全扫描工具Trivy部署及使用

    • 基础介绍
      • 基础描述
      • Trivy特点
    • 部署
      • 在线下载
      • 百度网盘下载
      • 安装
    • 使用
      • 扫描nginx镜像
      • 扫描结果解析
      • json格式输出
    • 总结

基础介绍

在这里插入图片描述

基础描述

  • Trivy是一个开源的容器镜像漏洞扫描器,可以扫描常见的操作系统和应用程序依赖项的漏洞。它可以与Docker和Kubernetes集成,帮助用户在构建和部署容器镜像时发现安全漏洞。Trivy支持多种漏洞数据库,包括Red Hat、Debian、Alpine等,可以根据用户的需求进行配置。Trivy还支持CI/CD集成,可以在构建过程中自动扫描镜像并生成报告。与Harbor集成需要使用Harbor Scanner Adapter for Trivy,可以通过配置Scanner Adapter将Trivy与Harbor集成,实现镜像的自动扫描和漏洞报告生成。

Trivy特点

  • 全面的漏洞检测:涵盖操作系统包、操作系统包、开发语言、错误配置、策略等内容。

  • 简单:仅指定镜像名称、包含IaC配置的目录或工件名称。

  • 快速:理想情况下可以在几十秒内完成扫描动作。

  • 易于安装:是一个简易的执行工具,可以通过apt-get install、yum install、brew install等方式安装,没有前置条件,如安装DB的,依赖库等。

  • 高精确度:特别是Alpine Linux和RHEL/CentOS,其他操作系统也高。

  • trivy官网:https://aquasecurity.github.io/trivy/v0.47/

  • 开源地址:https://github.com/aquasecurity/trivy

部署

  • trivy的安装方式比较多,rpm的形式安装,apt的形式安装,helm形式的直接集成到kubernetes内,也可以直接docker run 镜像的方式部署。

在线下载

  • 选择相应的版本:https://github.com/aquasecurity/trivy/releases
    在这里插入图片描述
wget https://github.com/aquasecurity/trivy/releases/download/v0.47.0/trivy_0.47.0_Linux-64bit.tar.gz

百度网盘下载

链接:https://pan.baidu.com/s/1SkBXkcx-UAMy8U5a5jxguQ?pwd=qhxy
提取码:qhxy
–来自百度网盘超级会员V7的分享

安装

  • 解压
tar -zxf trivy_0.47.0_Linux-64bit.tar.gz
  • 移入二进制目录
mv trivy /usr/bin/
  • 查看帮助信息
trivy --help

使用

扫描nginx镜像

trivy image nginx
  • 第一次会去远程下载安全漏洞加密数据库,下载完成后和本地镜像进行对比,输出结果
    在这里插入图片描述
  • 数据库缓存目录
/root/.cache/trivy

在这里插入图片描述

  • 根据不同的镜像类型下载不同的安全漏洞库

扫描结果解析

  • 打印nginx高危安全漏洞
trivy image -s HIGH nginx

在这里插入图片描述

  • 着重关注最后一列 Title,点击链接信息,查看漏洞详情
    在这里插入图片描述
  • 如 安全漏洞 CVE-2022-22576 详细描述信息
    在这里插入图片描述

json格式输出

trivy image -s HIGH nginx -f json -o ng-trivy.json
  • 基于JSON格式,后续可进行可视化展示。

总结

Trivy是一款专门为云原生环境设计的开源漏洞扫描工具,它具有简单、全面、快速和易于安装的特点。通过检测操作系统包、开发语言包、错误配置和策略等问题,Trivy可以帮助团队在构建过程中发现并解决潜在的安全风险。Trivy适用于容器和Kubernetes环境,可以扫描基础设施即代码 (IaC) 文件以检测配置问题。Trivy的高精确度使其成为许多开发团队的可靠选择。总体而言,Trivy是一个功能强大的开源漏洞扫描器,有助于增强云原生环境的安全性。

相关文章:

  • 14、pytest像用参数一样使用fixture
  • AIGC: 关于ChatGPT中的API调用模型
  • 基于YOLOv8深度学习的安全帽目标检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
  • Python查看文件列表
  • 如何战胜拖延?
  • Vue混淆与还原
  • C++11——initializer_list
  • Ubuntu Server 20.04.6下Anaconda3安装Pytorch
  • 【bug排查解决】现象级延迟8-10s
  • Swift 中 User Defaults 的读取和写入
  • docker搭建xxl-job
  • 配置typroa上传图片到gitee
  • Python作业答疑_6.22~6.25
  • debianubuntu的nvidia驱动升级
  • unity 2d 入门 飞翔小鸟 下坠功能且碰到地面要停止 刚体 胶囊碰撞器 (四)
  • 分享的文章《人生如棋》
  • #Java异常处理
  • [译]如何构建服务器端web组件,为何要构建?
  • AWS实战 - 利用IAM对S3做访问控制
  • ES6系统学习----从Apollo Client看解构赋值
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • hadoop集群管理系统搭建规划说明
  • jdbc就是这么简单
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • STAR法则
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 基于遗传算法的优化问题求解
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 深度学习在携程攻略社区的应用
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 阿里云API、SDK和CLI应用实践方案
  • 积累各种好的链接
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #git 撤消对文件的更改
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (LeetCode C++)盛最多水的容器
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (转)Windows2003安全设置/维护
  • ****Linux下Mysql的安装和配置
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net Signalr 使用笔记
  • .NET 解决重复提交问题
  • .NET6 开发一个检查某些状态持续多长时间的类
  • @Autowired自动装配
  • @Not - Empty-Null-Blank
  • [ A*实现 ] C++,矩阵地图
  • []FET-430SIM508 研究日志 11.3.31
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [C#7] 1.Tuples(元组)
  • [cocos creator]EditBox,editing-return事件,清空输入框