之前介绍过Harbor,从安装部署到简单使用,今天这里就不再重复介绍了,有需要的可以跳转到'Harbor 功能强大的企业级私有仓库'查看,今天主要介绍Harbor的安全功能——镜像漏洞扫描
Harbor是通过Trivy和Clari对镜像进行静态分析,通过对比CVE漏洞库,进行漏洞分析,默认情况下,通过Harbor的安装脚本install.sh进行安装的话,是漏洞扫描是未开启的状态,需要在安装的时候通过--with-trivy和--with-clair来开启
虽然这两种镜像漏洞扫描工具都可以安装,但是Harbor默认只能支持一种作为默认扫描工具,如果只安装其中一个,那就是默认漏洞扫描工具,如果两个都安装,默认是Trivy作为默认的漏洞扫描工具
安装看下效果
安装完成后就直接启动了harbor了,如果有什么问题,再处理下,比如容器名称冲突了之类的,harbor是通过docker-compose起的,所以可以解决完,重新docker-compose up -d重新启动就可以了
比默认启动多了三个容器,就是安装的trivy和clair的镜像漏洞扫描工具,访问Harbor后台看下(默认登陆密码在harbor.yml中有设置)
已开启扫描器,并且默认Trivy是默认扫描器,也可以更改默认扫描器,另外除了这两种扫描器,你也可以添加其他扫描器
扫描器的使用方法有几种,自动、主动、定时
自动扫描,就是在镜像上传到Harbor仓库时,自动进行扫描,通过定义部署安全级别,阻止某些安全级别的镜像,上传到Harbor,这部分配置在项目配置中
新建项目,在项目中的配置管理里面进行漏洞扫描的配置,分别配置是否阻止潜在漏洞镜像,按照危害级别进行阻止,勾选自动扫描镜像,即在镜像上传的时候进行扫描,我们勾选,上传镜像测试
在镜像仓库中可以看到正在扫描
等待扫描完成后,可以查看漏洞扫描结果
这个就是自动扫描,另外还有主动扫描和定时扫描,在审查服务中进行配置
在审查服务中,直接点击开始扫描,就启动所有镜像的扫描任务,如果需要定时扫描,则配置好定时扫描周期,保存后,Harbor会按照固定周期定时扫描仓库中的所有镜像
Harbor漏洞扫描还有个功能,就是CVE白名单,有时候有一些CVE我们想要忽略,就是这个CVE代号的漏洞,不在我们考虑的安全范围内,我们可以通过设置CVE白名单来进行忽略
CVE白名单分两种,一种是项目白名单,一种是系统白名单,在项目中的配置管理中进行配置
项目白名单,就直接在项目中进行配置,添加cve对应的cveid,并设置过期时间即可
系统白名单,需要在系统管理——配置管理——系统设置——部署安全性中进行添加
以上就是Harbor的镜像漏洞扫描,它主要依赖第三方的漏洞扫描工具,目前也只能是CVE已知漏洞静态分析扫描,比较鸡肋的地方,就是漏洞扫描结果的展示,只有一个大致的统计信息,这样,对于漏洞扫描来说,就失去了大部分意义,只能说是用来防止上传有漏洞的镜像,如果要做漏洞分析,还是需要直接用trivy进行扫描,会直接显示漏洞列表,有兴趣可以移步'推荐一款适用CI的容器漏洞扫描工具'了解