加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

有人说Docker Hub上三成的镜像包括漏洞?是吗?

发布时间:2022-05-13 09:10:19 所属栏目:安全 来源:互联网
导读:到底Docker Hub上是否三成的镜像存在漏洞?通过漏洞计算发现确实有高比例漏洞,对于官方镜像遵循Docker的安全指南,如若是自创建镜像,可找源仓库或自行处理。但我们发现,这些漏洞中大部分是老镜像。面对漏洞镜像,我们可以采取本地措施,还可用Web安全审查
        到底Docker Hub上是否三成的镜像存在漏洞?通过漏洞计算发现确实有高比例漏洞,对于官方镜像遵循Docker的安全指南,如若是自创建镜像,可找源仓库或自行处理。但我们发现,这些漏洞中大部分是老镜像。面对漏洞镜像,我们可以采取本地措施,还可用Web安全审查进行检查,如果想让Docker更加安全,建议用dockerbench来评估。文中额外阐述了容器究竟有什么用。
 
        列举官方的镜像是容易的。这些镜像是基于一个叫bashbrew的自动化系统构建而来的,使用的都是公布于众的方法。顺便一提,这意味着如果你想重建官方的镜像,做起来也会很容易。(记住那些方法中涉及一些blobs或者tar包,是在启动的时候用到的;因而有时你要多费一点力,重建这些blobs或者tarbal)。
 
        构建官方镜像的方法在Github上的docker-library仓库可以找到。
 
        要列出其他的镜像(即属非官方的用户和机构所有的镜像)要困难点。Docker Hub目前没有提供什么方法来列举他们,所以一个暂时可行的方法是搜索一个十分宽泛的关键字,然后对其结果进行提取。当然,这需要一些抓取的工作;抓取到的结果可能会漏掉一些用户的数据,但是你拿到的结果已经会十分接近了。(虽然这么做肯定可行, 我也听说新的注册表接口有一些十分好的特性,可以让这一步完成起来容易点)。
 
下载镜像
 
下载镜像是一个繁琐的任务。如果你想安安静静的做这件事情,运行一个docker的守护者进程,然后执行docker pull username/imagename:tag即可。
 
如果你想拿到容器的文件系统的一个tar包,也很容易:只需要运行docker export username/imagename:tag就行。(记得把标准输出重定向到其他地方,否则你的终端会抓狂的)
 
如果你不十分相信Docker的守护者进程,你可以检查registry的接口(v1,v2)并且通过接口来下载层,然后把层文件重组成镜像文件。一些细节我想留给你自己去做,但是层文件只是普通的tar包,你只需要在彼此之上解包(需要保持正确的顺序)就可以重组成镜像文件。没有什么特别难的步骤;唯一需要留心的地方就是“留白”(whiteout)。“留白”是特殊的标记文件,用来表明“此处曾经有文件存在于此,但目前没有了”。换句话说,如果一个层包含文件/etc/foo.conf,但是之上的层把其删除了,上一层就会包含一个/etc/.wh.foo.conf文件,并且foo.conf不会出现在容器里面。这个文件相当于被留白文件加上了蒙板。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读