Harbor 集成trivy 实现镜像漏洞扫描

17 篇文章 1 订阅
6 篇文章 0 订阅

注释:今天(2021年6月24日),距离写这篇博文一年过去了,trivy已经成了harbor v.2.2.1的默认安全扫描插件,而Clair已经不是默认了。

trivy Github上有trivy详细的特性介绍,和与其它扫描工具(如clair,Anchore 等)的对比,这篇博文只关注trivy与Harbor集成。
下图是一个overview的对比:
在这里插入图片描述
Harbor 可以使用–with-clair安装Clair scanner。其它scanner都需要自己配置。

第一步:安装配置Trivy
github 上介绍的trivy 是安装版,与harbor集成并不能直接使用。与harbor集成需要使用Harbor Scanner Adapter for Trivy。这篇文章也介绍了基于kubernetes的trivy与harbor的集成。我这里介绍的是不基于kubernetes的方式。

docker镜像
aquasec/harbor-scanner-trivy:0.9.0

配置trivy
  1. 创建一个docker网络,后续的redis与trivy都是用这个网络。网络名与harbor的docker-compose.xml中的网络名相同,这样才能使用内部url互通。当然也可以使用外部地址互通。

    $docker network create harbor_harbor

  2. 使用docker运行一个redis供trivy使用
    $docker run --name redis -d --rm --network harbor_harbor redis:5

  3. 使用docker运行trivy
    因为我是内网需要通过代理才能上公网,所以容器启动时加配置proxy的环境变量,NO_PROXY可以参照harbor和clair的no_proxy配置,否则trivy可能连不上harbor。具体可配置的参数这里有个列表

	 docker run --name trivy-adapter -d --rm \
  -p 8181:8181 \
  --env HTTP_PROXY='http://192.168.1.2:8080' \
  --env HTTPS_PROXY='http://192.168.1.2:8080' \
   --env NO_PROXY='.local,portal,clair-adapter,chartmuseum,trivy-adapter,core,redis' \
  -e "SCANNER_LOG_LEVEL=trace" \
  -e "SCANNER_TRIVY_DEBUG_MODE=true" \
  -e "TRIVY_NON_SSL=true" \
  -e "SCANNER_API_SERVER_ADDR=:8181" \
  -e "SCANNER_STORE_REDIS_URL=redis://redis:6379" \
  -e "SCANNER_JOB_QUEUE_REDIS_URL=redis://redis:6379" \
  --network harbor_harbor \
  aquasec/harbor-scanner-trivy:0.9.0
  1. trivy使用git下载漏洞库,所以要保证git能够联网,这里根据实际情况配置,比如配置代理。
Harbor 配置

登陆Harbor
选择 Administration -> Interrogation Services -> Scanner
选择New Scanner
这里填写就比较简单了:
Endpoint 这里注意一下是trivy容器的名加端口
填写完之后TEST CONNECTION一下看是否能连通。可以的话点save即可。添加之后可以看到trivy的详细配置信息。
在这里插入图片描述
在这里插入图片描述

选择trivy,然后算则SET AS DEFAULT,接下来你就可以在Vulnerability菜单中进行全局扫描了。
扫描完成后在Repositories中可以查看到扫描结果。悬停鼠标可以查看一个概要报告。
在这里插入图片描述
在这里插入图片描述
点击tag可以看到更详细的扫描结果报告。包括CVE的url,可以继续点进去查看详细信息。
在这里插入图片描述
在这里插入图片描述
至此配置完成,内网环境下可能有连不到github的情况,就会扫描失败,可以通过错误日志查看具体原因。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值