【云原生-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是一个功能强大的开源漏洞扫描器,有助于增强云原生环境的安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256073.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go 语言中的函数调用。

更好的观看体验,请点击——函数调用 | YinKais Blog 本文将从函数的调用惯例和参数传递方法两个方面分别介绍函数执行的过程。 1、调用惯例 对于不同的编程语言, 它们在调用函数的时候往往都使用相同的语法: somefunction(arg0, arg1) 虽…

创建第一个 Flink 项目

一、运行环境介绍 Flink执行环境主要分为本地环境和集群环境,本地环境主要为了方便用户编写和调试代码使用,而集群环境则被用于正式环境中,可以借助Hadoop Yarn、k8s或Mesos等不同的资源管理器部署自己的应用。 环境依赖: 【1】…

11.7QT界面制作

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {this->resize(881,550);this->setStyleSheet("backgroud-color:rgb(33,35,40)");this->setWindowFlag(Qt::FramelessWindowHint);//标签类QLabel *l1 new QLabel(this);/…

多表操作、其他字段和字段参数、django与ajax(回顾)

多表操作 1 基于对象的跨表查 子查询----》执行了两句sql,没有连表操作 2 基于双下滑线的连表查 一次查询,连表操作 3 正向和反向 放在ForeignKey,OneToOneField,ManyToManyField的-related_namebooks:双下滑线连表查询,反向…

Python函数默认参数设置

在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值,这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值。 为形参指定默认值的语法格式如下: 形参名 默认值 从上面的语法格式可以看出&…

JVM 类的加载器的基本特征和作用

Java全能学习面试指南:https://javaxiaobear.cn 1、作用 类加载器是 JVM 执行类加载机制的前提 ClassLoader的作用: ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信…

探索Scrapy-spider:构建高效网络爬虫

Spider简介 Scrapy中的Spider是用于定义和执行数据抓取逻辑的核心组件。Spider负责从指定的网站抓取数据,并定义了如何跟踪链接、解析内容以及提取数据的规则。它允许您定制化地指定要抓取的网站、页面和所需的信息。Spider的作用是按照预定的规则爬取网页&#xf…

数据结构 图的广度优先搜索和深度优先搜索

一、广度优先搜索 广度优先搜索等价于树的层次遍历,将起点的每一层进行遍历 当这一层结点全部被遍历完时,再遍历下一层次,从图中可以根据距离遍历起点的长度进行层次选择 例: 以a结点作为开始结点 a的下一层次有b c e三个结点 所以…

添加新公司代码的配置步骤-Part4

原文地址:配置公司代码 概述 这是一系列讨论和列出向系统添加新公司代码时必须完成的事务的四篇博客中的最​​后一篇。以下是这四个文档涵盖的主题列表: 企业结构 - 第 1 部分 FI 配置 – 第 2 部分 SD 配置 – 第 3 部分 物流 – 概述 – 第 3 部分…

静态网站生成器与服务器端渲染有啥区别

在将网站部署到服务器之前,在构建阶段生成HTML页面被称为“静态网站生成(Static Site Generation)”。这种方法涉及使用网站模板创建预构建页面,并在用户请求时立即交付给他们。以下是静态生成网站的一些好处: 更快的页…

【从零开始学习JVM | 第五篇】快速了解运行时数据区

前言: 当谈论 Java 程序的运行机制时,JVM(Java 虚拟机)的运行时数据区是一个必不可少的话题。JVM 运行时数据区是 Java 程序在运行过程中分配内存和管理数据的重要区域,它包括了方法区、堆、虚拟机栈、程序计数器和本地…

【Spring 源码】 贯穿 Bean 生命周期的核心类之 AbstractAutowireCapableBeanFactory

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…