Docker安全工具Clair/Anchore/DockerScan对比测试
本博客地址:https://security.blog.csdn.net/article/details/83216219
一、对比结论
本次对主流的Docker安全自动化扫描工具进行了测试比较,测试比较结果如下表所示:
工具 | Clair | Anchore | DockerScan |
---|---|---|---|
工具 | Clair | Anchore | DockerScan |
环境搭建 | 复杂 | 简单(慢) | 简单 |
安装兼容性 | 差 | 好 | 差 |
扫描 | 需要先上传镜像 | 直接扫描 | 直接扫描 |
扫描速度 | 快 | 快 | 快 |
漏洞数据库 | CVE | CVE | 无 |
扫描结果 | 漏洞 | 漏洞+其他 | 其他 |
Ubuntu | OK | OK | OK |
CentOS | OK | OK | 未成功 |
报告输出 | html报告 | 控制台报告(有格式排版) | 控制台报告(无格式排版) |
其他说明 | 通过对容器的layer进行扫描,对镜像进行特征提取,依据特征匹配CVE漏洞。 | 侧重对镜像的审计,通过对容器的layer进行扫描发现漏洞,基于CVE数据库。功能强大,其中就包含了DockerScan的功能。 | 提取镜像中的多种信息,依据这些信息人工判断该镜像是否存在安全隐患。 |
先上结论:建议使用Anchore
理由:功能最强大,使用最简单
部分对比项说明
1、环境搭建
Clair
:环境搭建依赖复杂众多,需要修改一些配置文件,同时需要go语言环境,环境搭建出错概率极高,同时会因为系统环境不同而出现错误。
Anchore
:环境搭建简单,需要同步漏洞数据库,该过程比较耗时(约30-60分钟,具体取决于网速)。环境兼容性好,基本不出错。
DockerScan
:环境搭建简单且很快,因为不需要漏洞数据库。在CentOS下没有测试成功。
2、扫描数据
Anchore可以扫描的功能最多,包含了Clair和DockerScan的主要功能。
既然推荐了Anchore,那自然是要详细说明的!
二、Anchore安装使用说明
1、安装依赖
注:如果有就不用再安装了
注:docker版本验证:docker version
依赖 | 安装说明 |
---|---|
Docker | >1.10 |
Epel-release | yum install epel-release |
Rpm-python | yum install rpm-python |
dpkg | yum install dpkg |
Python-pip | yum install python-pip |
2、安装Anchore
安装 | 安装说明 |
---|---|
安装: | pip install anchore |
环境变量: | export PATH=~/.local/bin:$PATH |
安装完确认: | anchore --version |
更新列表: | anchore feeds list |
更新数据库: |
anchore feeds sync 实际中可能会执行失败,相信博主是网络的问题,多执行几次说不定哪次就执行成功了 |
更新过程是这样的效果:
这张图是网上扒来的,实际测试中取决于网络,网络好的话就是下图这样。博主在实际测试中,每次都是差不多有一半是掉线的!但服务器上安装时速度很快,失败率极低!
3、镜像使用
拉取镜像:docker pull nginx
(以nginx为例)
查看已安装镜像:docker images
效果是这样的:
4、Anchore使用
帮助文档:
anchore --help
常用功能:
对镜像进行分析:
anchore analyze --image nginx:latest --imagetype base
生成结果报告:
anchore gate --image nginx:latest
CVE漏洞扫描:
anchore query --image nginx:latest cve-scan all
与纯净镜像的区别:
anchore query --image nginx:latest show-file-diffs base
列表文件详细:
anchore query --image nginx:latest list-files-detail all
镜像特征提取:
anchore toolbox --image nginx:latest show
5、详细命令说明
示例命令标红色的参数为对应的说明。博主英语很差,翻译是一条一条复制到百度翻译里面输出的。另外,在这里翻译了绝大多数,还有个别参数博主觉得没什么卵用,就不翻译了
analyze:
anchore analyze --image
nginx:latest --imagetype
base
命令 | 说明 |
---|---|
–force | 即使数据库中已存在分析也要进行分析 |
–image | 处理指定的镜像 |
–imagefile | 在指定文件中列出镜像ID |
–include-allanchore | 包括所有镜像 |
–dockerfile <file> | 分析docker文件镜像 |
–imagetype <typetext> | 指定正在分析的镜像类型 |
–skipgates | 不要将门作为分析的一部分 |
–layerstrategy | 分析镜像历史中的策略的名称 |
query:
anchore query --image nginx:latest list-files-detail
all
命令 | 说明 |
---|---|
list-gem-detail | 列出增长细节 |
show-dockerfile | 显示docker文件 |
list-python-package-detail | 列出python包的细节 |
show-pkg-diffs | 显示包的差异 |
has-final-gateaction | 最后关门 |
get-retrieved-files | 获取检索到的文件 |
show-non-packaged-files | 显示非打包文件 |
show-familytree | 显示家庭树 |
list-java-package-detail | 列出Java包的详细信息 |
list-files | 列出文件 |
list-npms | 列出NPM |
list-package-detail | 列出包细节 |
list-packages | 列出包 |
list-npm-detail | 列出NPM细节 |
list-python-packages | 列出python软件包 |
list-image-attrs | 列出图像吸引力 |
has-gateaction | 关门 |
show-layer-info | 显示涂层信息 |
show-layers | 显示图层 |
list-gems | 列表的增长 |
list-package-licenses | 列出软件包许可证 |
has-package | 有包装 |
list-java-packages | 列出Java包 |
list-retrieved-files | 列出检索文件 |
show-distro | 展示发行版 |
list-content-search-matches | 列表内容搜索匹配 |
show-non-packaged-files-diff | 显示非打包文件差异 |
show-file-diffs | 显示文件差异 |
list-files-detail | 详细列出文件 |
cve-scan-simple | 简单的漏洞扫描 |
size-bins | 尺寸 |
cve-scan | 漏洞扫描 |
base-status | 基本状态 |
distro-bins | 分开储物 |
common-packages | 常用包装 |
anchore query --image
nginx:latest list-files-detail all
命令 | 说明 |
---|---|
–image | 处理指定镜像ID |
–imagefile | 在指定文件中列出镜像ID |
–include-allanchore | 包括所有已知的镜像 |
gate:
anchore gate --image
nginx:latest
命令 | 说明 |
---|---|
–force | 即使数据库中已存在分析也要进行分析 |
–image | 处理指定的镜像 |
–imagefile | 在指定文件中列出镜像ID |
–include-allanchore | 包括所有镜像 |
–editpolicy | 编辑指定镜像的门策略 |
–rmpolicy | 删除指定镜像的策略,恢复默认策略 |
–listpolicy | 列出指定镜像的当前门策略 |
–updatepolicy <file> | 将输入门策略文件存储为指定镜像的策略 |
–policy <file> | 使用指定的策略文件而不是默认文件 |
–run-bundle | 使用anchore策略包进行评估 |
–bundlefile <file> | 从指定文件中使用指定的捆绑JSON |
–usetag <imagetag> | 使用指定标签来使用Run评估输入对象 |
–resultsonly | 只显示评估结果 |
–show-gatehelp | 显示可用于构建anchore策略的所有门名、触发器和参数 |
–show-policytemplate | 基于所有安装的门/触发器生成策略模板 |
–whitelist | 编辑评估的门触发器和可选白名单 |
–global-whitelist <file> | 使用指定的全局白名单文件 |
–show-triggerids | 在输出中显示触发的门ID |
–show-whitelisted | 展示白名单 |
Docker安全工具Clair/Anchore/DockerScan对比测试相关推荐
- 【Docker】镜像安全扫描工具clair与clairctl
镜像扫描结构图 方式2的具体操作步骤 clair是什么? clair是一个开源项目,用于静态分析appc和docker容器中的漏洞. 漏洞元数据从一组已知的源连续导入,并与容器映像的索引内容相关联,以 ...
- 容器安全检查工具 - Clair v2.0.0
本文讲的是容器安全检查工具 - Clair v2.0.0[编者的话]本文主要介绍了容器安全检查工具--Clair 以及 v2版本的主要变化. [3 天烧脑式 Docker 训练营 | 上海站]随着Do ...
- Docker编排工具Fig介绍
本文讲的是Docker编排工具Fig介绍,[编者的话]Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司.Fig通过一个配置文件来管理多个Docker容器 ...
- 介绍两款Docker可视化工具
点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入新技术群 来源:8rr.co/n2uh Docker是一项非常流行的容器技 ...
- new relic_新的Relic的Centurion Docker部署工具,DIY大脑扫描仪等
new relic 开源新闻让您阅读愉快. 2014年6月14日至20日 在本周的开源新闻摘要中,我们检查了New Relic的Docker部署工具,来自Open Ephys的DIY脑部记录装置等. ...
- docker 管理工具_详解Docker可视化管理工具shipyard--部署教程及功能展示
概述 谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉shell.技术开发人员而言,还是可以接受的,熟练之后,命令行毕竟是很方便的,便于操作及脚本化.但对于命令行过敏.非技术人员,进 ...
- 可视化Docker管理工具-DockerUI
DockerUI 产品介绍 DockerUI是一个易用且轻量化的 Docker 管理工具,透过 Web 界面的操作,更方便对于 Docker 指令不熟悉的用户更快进入 Docker 的世界. Dock ...
- Docker管理工具 - Swarm部署记录
Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单.Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群 ...
- 简单的Docker编排工具TOSCA
时下Docker编排工具一瞥 从<Docker orchestration>这篇有趣的文章中,我们要思考为什么需要编排工具?基本的前提是,编排工具扮演了创建基于应用的容器及其层依赖的时间编 ...
最新文章
- python接口自动化测试面试题_Python接口自动化面试题总结
- sessionStorage细节
- 使用c++制作微服务计算服务
- 五万以内买什么车合适?
- hud android,Android 加载等待控件 ZFProgressHUD
- kettle连接GBASE数据库
- 51单片机仿真——蜂鸣器
- 安卓手游辅助分析与开发!五步搞定Android开发环境部署,深度好文
- 2022 php面试题(含答案)
- 使用命令行修复windows系统
- 玩游戏提示计算机内存不足怎么办,打开软件提示内存不足怎么办?电脑提示内存不足解决办法...
- keyshot渲染玻璃打光_KeyShot渲染,打光这么打,效果倍儿棒!
- 【释义详解】Software License (软件许可证)是什么?
- android 模拟器 派派,派派怎么在电脑上玩?派派电脑版使用教程
- “PaaS+云管”双剑合璧,BoCloud博云的进阶之路
- UC/OS和UCLinux比较
- 【Ubuntu18.04系统开启防火墙】
- 软考有哪些实质性的用处?
- 学堂在线答案计算机应用基础,2018计算机应用基础随堂练习与答案.pdf
- 腾讯音乐 知乎 微信公众账户 搜狗
热门文章
- VMware vCenter突然无法正常登陆,出现[503 Service Unavailable]
- NC344 Z字形输出字符串
- iPhone X,iPhone XS,iPhone XR,iPHone XS Max 适配(只说实现,不BB)
- SQL Server Management Studio
- LINUX时间格式查看
- arm二进制文件转换成c语言,转换非常简单的ARM指令将二进制/十六进制(Converting very simple ARM i...
- 深度学习:维度灾难(Curse Of Dimensionality)
- UVM response_handler和get_response机制
- modbus调试工具 linux,Modbus TCP的模拟器的Windows/Linux的
- 编程培训怎么样 哪家编程培训机构靠谱