首页 > 其他分享 >云原生安全:Trivy + Harbor实现镜像漏洞的简单、高效扫描

云原生安全:Trivy + Harbor实现镜像漏洞的简单、高效扫描

时间:2022-11-12 22:02:15浏览次数:48  
标签:Trivy trivy Harbor 扫描 漏洞 镜像

作者 | 李大白


本文已参与「开源摘星计划」,欢迎正在阅读的你加入。 活动链接:​ ​https://github.com/weopenprojects/WeOpen-Star [文章来源]:《Harbor进阶实战》公众号

  “安全”一直是一个不容忽视的问题,在云原生领域同样如此。

  云原生中的服务都是以容器的方式运行,而容器则是基于镜像启动,本篇文章则从“镜像”漏洞扫描来从“根本”去发现、解决云原生的“安全”问题。

Trivy简介

  • Tivy官网:https://aquasecurity.github.io/trivy/v0.33/
  • 项目地址:https://github.com/aquasecurity/trivy/

  Trivy是一种适用于 CI 的简单而全面的容器漏洞扫描程序。软件漏洞是指软件或操作系统中存在的 故障、缺陷或弱点。Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和应用程序依赖 (Bundler、Composer、npm、yarn 等)的漏洞。

  Trivy 很容易使用,只要安装二进制文件,就可以扫描了。扫描只需指定容器的镜像名称。与其他镜像扫描工具相比,例如 Clair、Anchore Engine、Quay 相比,Trivy 在准确性、方便性和对 CI 的支持等方面都有着明显的优势。

  推荐在 CI 中使用它,在推送到 container registry 之前,你可以轻松地扫描本地容器镜像。


Trivy 的特点

  • 无需安装数据库、库等先决条件;
  • 使用简单,仅仅只需要指定镜像名称;
  • 易于安装测试:
  • 能检测全面的漏洞;
    (1)操作系统软件包:Alpine、Red Hat Universal Base Image、Red Hat Enterprise Linux、CentOS、Oracle Linux、Debian、Ubuntu、Amazon Linux、openSUSE Leap、SUSE Enterprise Linux、Photon OS 和 Distrioless;
    (2)应用程序依赖项: Bundler、Composer、Pipenv、Poetry、npm、yarn 和 Cargo;
  • 扫描快且无状态;
    第一次扫描将在 10 秒内完成(取决于网络)。随后的扫描将在一秒钟内完成。 与其他扫描器在第一次运行时需要很长时间(大约 10 分钟)来获取漏洞信息,并鼓励你维护持久的漏洞 数据库不同,Trivy 是无状态的,不需要维护或准备;

Trivy安装

  基于CentOS系统的rpm包进行安装,其它系统安装包可从项目地址进行下载。

$ wget https://github.com/aquasecurity/trivy/releases/download/v0.31.3/trivy_0.31.3_Linux-64bit.rpm
$ rpm -ivh trivy_0.31.3_Linux-64bit.rpm

Trivy使用

扫描镜像

使用Trivy扫描镜像的漏洞。

$ trivy image {image_name}:{tag}

扫描kubernetes集群

$ trivy k8s --report summary cluster

Vulnerabilities:漏洞;
Misconfigurations:表示配置错误;

Trivy & Harbor

  在前面对介绍了Trivy镜像漏洞扫描工具的安装和使用。那么,在启用大规模的镜像中,一个一个的进行漏洞扫描显然是不太现实的。

   我们都知道,企业的容器镜像一般都是存放在Harbor私有镜像仓库的,值得令人庆幸的是:Harbor以插件化的方式集成了Trivy镜像漏洞扫描工具,可以在Harbor的UI界面设置当镜像上传到Harbor的时候自动对该镜像进行扫描。同时,对于扫描出高危漏洞的镜像可以禁止被应用进行拉取。当然,如果您可以接受该高危漏洞的镜像,希望可以继续使用它们,

Harbor中安装Trivy插件

  在安装Harbor时,可以通过--with-trivy参数来安装Trivy插件。   如果已经安装好Harbor,但是没有安装Trivy,需要停止harbor再安装Trivy插件:

$ cd /app/harbor/  #进入到Harbor安装目录
$ docker-compose down   #停止Harbor服务
$ ./install.sh  --with-notary --with-trivy --with-chartmuseum

Harbor中Trivy的使用

在Harbor中安装好Trivy后,可以在Harbor UI看到:

1)定时进行漏洞扫描

在“系统管理”-“审查服务”-“漏洞”出设置计划任务来定时自动进行漏洞扫描。

2)镜像上传自动扫描及阻止漏洞镜像被拉取

在“项目”—“项目名称”-“配置”管理来对指定项目进行单独配置镜像上传自动扫描并阻止漏洞镜像被拉取。

搜索框传播样式-标准色版.png

标签:Trivy,trivy,Harbor,扫描,漏洞,镜像
From: https://blog.51cto.com/lidabai/5846822

相关文章

  • npm中镜像如何替换成淘宝呢?
    下文笔者讲述npm镜像替换为taobao的方法分享,如下所示:例: 1.获取原本的镜像地址npmgetregistry2.设成淘宝的npmconfigsetregistryhttp://registry.npm.taobao.org/......
  • npm 和 yarn 缓存清理,镜像源的查看与修改
    参考:https://blog.csdn.net/weixin_45115705/article/details/90516857npmcacheclean--forceyarncacheclean使用npmroot-g查询npm全局安装的路径默认安装在C:......
  • docker自建elasticsearch镜像
    一、dockerhub中没有elasticsearch:6.2.4版本的镜像(你敢信!!),没有办法只有自己弄了二、参考官网镜像的构建过程(尼玛看不懂)  备注:看不懂呀,不过有些过......
  • KVM/QEMU(virt-manager)使用iso镜像安装macOS bigsur 11.4
    参考:https://blog.csdn.net/u012332816/article/details/1221868991.背景本人没有mac电脑,但是需要在macOS上做一些事情,原来我在VMWareWorkstations和VirtualBox......
  • Harbor离线安装
    1、Harbor安装方式:在线安装、离线安装、源码安装、helmchart、Operation安装2、Docker-CE安装3、docker-compose安装4、下载离线安装包wgethttps://github.com......
  • 基于OpenJDK Alpine制作日常java基础镜像
    Dockerfile内容如下:FROMeclipse-temurin:8-jre-alpineMAINTAINERdevops([email protected])RUNapkupdate&&apk--no-cacheaddtzdatattf-dejavufontconfig......
  • Docker私有仓库Harbor介绍和部署方法详解
    Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。这里介......
  • 镜像仓库 Harbor搭建和使用教程
     架构Docker搭建yumupdateyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/l......
  • linux 修改 dd 镜像 img 文件的大小
    有些复杂的分区会导致磁盘幻树校验失败,比如GPT主引导会记录分区的边界长度,下面的命令慎用,应该只适合fat出来的盘。使用dd命令重新导出从磁盘导出6GB的数据。d......
  • KubeSphere 使用 HTTPS 协议集成 Harbor 镜像仓库指南
    作者:申红磊,青云科技容器解决方案架构师,开源项目爱好者,KubeSphereMember。上面两篇文章讲了如何部署HTTPSHarbor和对接HTTP的Harbor镜像仓库;接下来详细介绍一下,如......