开源镜像漏洞扫描器

现在打包应用到 Docker Image变的越来越普遍了,因此镜像的安全性也变得越来越重要了;

很多人认为只要打包成镜像应用就是安全的,但是大家也知道镜像是一个静态文件,由很多层组成,只要其中的一层发现漏洞,就会对你的应用造成威胁;

现在也出现了很多开源的漏洞扫描工具,用来扫描镜像中可能存在的漏洞,有AnchoreClairTrivy

Anchore是用python写的,主要功能就是对 Docker Image的扫描,它是一个CLI工具,当然也可以通过 API的方式调用;Anchore也有一款带有界面的Anchore Enterprise版本

Anchore Github

Clair是用Golang写的,主要实现了对Docker image的漏洞分析,用户可以调用它的API来扫描镜像中的漏洞

Clair Github

Trivy也是用Golang写的,它不仅实现了对Image的扫描,还可以扫描文件,Git 仓库以及配置;它也是一个CLI工具,安装之后就可以通过命令实现扫描功能

Tricy Github

下面就用这三个扫描器分别对Docker官方统计的常用镜像扫描,扫描结果的对比如下:

Docker-Image-Static-Analysis-Tool-Comparison-Table.png

Docker-Image-Static-Analysis-Tools-Comparison-Group-1.png
Docker-Image-Static-Analysis-Tools-Comparison-Group-2.png

Docker-Image-Static-Analysis-Tools-Comparison-Group-3.png

从图中可以看出,Trivy相比较另外两个能够发现更多的漏洞,尤其是对基础镜像而言

那怎么选择漏洞扫描工具呢

AnchoreClair相比较Trivy出现的时间更早,但是扫描的结果发现Trivy能发现更多的漏洞,尤其是对alphine镜像;现在大部分镜像的基础镜像都会选择alpine,因为它更加轻量级而且漏洞相对较少

AnchoreClair对一些alpine镜像是扫描不出来漏洞的,但是使用Trivy却能够找到;之前部署的Harbor版本使用的扫描器是Clair,扫描alphine镜像之后没有发现漏洞,就认为是安全的;现在Harbor2.0之后是使用Trivy作为默认扫描器,对一些alphine就能够扫描出来漏洞了

Trivy相对于其他两个来说,安装更加的简单,使用也更加的方便;并且能够支持多种类型的文件的扫描,目前也是Harbor默认的扫描器

参考连接:

https://boxboat.com/2020/04/24/image-scanning-tech-compared/

https://www.a10o.net/devsecops/docker-i

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容