本博客地址: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对比测试相关推荐

  1. 【Docker】镜像安全扫描工具clair与clairctl

    镜像扫描结构图 方式2的具体操作步骤 clair是什么? clair是一个开源项目,用于静态分析appc和docker容器中的漏洞. 漏洞元数据从一组已知的源连续导入,并与容器映像的索引内容相关联,以 ...

  2. 容器安全检查工具 - Clair v2.0.0

    本文讲的是容器安全检查工具 - Clair v2.0.0[编者的话]本文主要介绍了容器安全检查工具--Clair 以及 v2版本的主要变化. [3 天烧脑式 Docker 训练营 | 上海站]随着Do ...

  3. Docker编排工具Fig介绍

    本文讲的是Docker编排工具Fig介绍,[编者的话]Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司.Fig通过一个配置文件来管理多个Docker容器 ...

  4. 介绍两款Docker可视化工具

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入新技术群 来源:8rr.co/n2uh Docker是一项非常流行的容器技 ...

  5. new relic_新的Relic的Centurion Docker部署工具,DIY大脑扫描仪等

    new relic 开源新闻让您阅读愉快. 2014年6月14日至20日 在本周的开源新闻摘要中,我们检查了New Relic的Docker部署工具,来自Open Ephys的DIY脑部记录装置等. ...

  6. docker 管理工具_详解Docker可视化管理工具shipyard--部署教程及功能展示

    概述 谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉shell.技术开发人员而言,还是可以接受的,熟练之后,命令行毕竟是很方便的,便于操作及脚本化.但对于命令行过敏.非技术人员,进 ...

  7. 可视化Docker管理工具-DockerUI

    DockerUI 产品介绍 DockerUI是一个易用且轻量化的 Docker 管理工具,透过 Web 界面的操作,更方便对于 Docker 指令不熟悉的用户更快进入 Docker 的世界. Dock ...

  8. Docker管理工具 - Swarm部署记录

    Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单.Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群 ...

  9. 简单的Docker编排工具TOSCA

    时下Docker编排工具一瞥 从<Docker orchestration>这篇有趣的文章中,我们要思考为什么需要编排工具?基本的前提是,编排工具扮演了创建基于应用的容器及其层依赖的时间编 ...

最新文章

  1. python接口自动化测试面试题_Python接口自动化面试题总结
  2. sessionStorage细节
  3. 使用c++制作微服务计算服务
  4. 五万以内买什么车合适?
  5. hud android,Android 加载等待控件 ZFProgressHUD
  6. kettle连接GBASE数据库
  7. 51单片机仿真——蜂鸣器
  8. 安卓手游辅助分析与开发!五步搞定Android开发环境部署,深度好文
  9. 2022 php面试题(含答案)
  10. 使用命令行修复windows系统
  11. 玩游戏提示计算机内存不足怎么办,打开软件提示内存不足怎么办?电脑提示内存不足解决办法...
  12. keyshot渲染玻璃打光_KeyShot渲染,打光这么打,效果倍儿棒!
  13. 【释义详解】Software License (软件许可证)是什么?
  14. android 模拟器 派派,派派怎么在电脑上玩?派派电脑版使用教程
  15. “PaaS+云管”双剑合璧,BoCloud博云的进阶之路
  16. UC/OS和UCLinux比较
  17. 【Ubuntu18.04系统开启防火墙】
  18. 软考有哪些实质性的用处?
  19. 学堂在线答案计算机应用基础,2018计算机应用基础随堂练习与答案.pdf
  20. 腾讯音乐 知乎 微信公众账户 搜狗

热门文章

  1. VMware vCenter突然无法正常登陆,出现[503 Service Unavailable]
  2. NC344 Z字形输出字符串
  3. iPhone X,iPhone XS,iPhone XR,iPHone XS Max 适配(只说实现,不BB)
  4. SQL Server Management Studio
  5. LINUX时间格式查看
  6. arm二进制文件转换成c语言,转换非常简单的ARM指令将二进制/十六进制(Converting very simple ARM i...
  7. 深度学习:维度灾难(Curse Of Dimensionality)
  8. UVM response_handler和get_response机制
  9. modbus调试工具 linux,Modbus TCP的模拟器的Windows/Linux的
  10. 编程培训怎么样 哪家编程培训机构靠谱