专注docker安全:Security Scanning

admin10个月前笔记94

今天我们宣布 Docker Security Scanning(Docker安全扫描,原名项目鹦鹉螺)全面上市。Security Scanning 目前以一个服务附加在 Docker Cloud 私有仓库和位于Docker Hub的官方仓库。Security Scanning 为您的docker镜像积极地进行风险管理和提供详细的安全配置,并简化软件合规性。Docker Security Scanning 会在您的镜像部署之前进行二进制级别的扫描,提供详细的物料清单(BOM),列出所有的层和组件,持续进行漏洞监控,当发现新的漏洞时提供通知的服务。

image.png

当您考虑到现代软件的供应链,这通常包括一些不同的开发场景和跨时区的公司里面的IT团队,栈和基础设施去构建、交付和运行应用。应用开发团队最主要的关注点是构建一个最好的应用,并且以尽可能快地交付给客户。然而,软件供应链并不会让开发者停止开发的工作,这是一个持续的循环和迭代,包括与团队共享代码和迁移环境。Docker让应用光滑移植并且默认运行在安全的平台,以确保安全的访问和对安全内容容量的控制。Docker Security Scanning 通过提供在docker镜像内深度搜索以及组件的安全配置去交付安全的内容。此信息在应用的生命周期每个阶段都是有效的。让我们深入了解Docker Security Scanning的细节然后看看它是怎么工作的。

image.png

Docker Security Scanning 已经在 Docker Cloud(并将在Docker Datacenter)使用,当一个新的镜像推送到仓库时会触发一系列的事件。其服务包括一个扫描触发器,扫描器,一个数据库,插件框架和CVE数据库的验证服务。

深可见性的安全配置文件

当用户/发行商推送一个镜像到Docker Cloud仓库时,Docker Security Scanning的服务会启动。扫描器服务获取到镜像然后将它分离成相应的层和组件。然后这些组件将被送到验证服务跟多个CVE数据库包的名称和版本进行对比,还会对包的内容进行二进制级别的扫描。

最后一点尤为重要,因为这种方式可以确保这个包已经正确的声明。

docker镜像是由多个层构成,每一层可能会有很多的组件/包,每一个包都有相应的名称和版本号。当漏洞报告给CVE数据库时,他们被链接到一个包名和特定的版本号。

image.png

许多服务都是直接用包名在存储着有问题的包的数据库的做简单的检查。仅此是不够的,因为它并不能保证回答“什么东西在我的容器中运行?”这个问题。除了检查包的名称,Docker Security Scanning 还对每一层进行二进制级别分析,并且把每个二进制下隐含的标记与已知的内容和版本相匹配,同时会交叉引用已知漏洞的数据库的内容 。这让我们能发现不仅在标准BOM(即列出的组件的dpkg -l或安装yum的列表),还有每一个静态链接库来正确识别那些库中已经打过补丁并且回滚到之前有问题的某个版本的组件。

这种方法降低了了之前报告中未经包版本更改但已经修复问题和防止如果有人故意重命名坏包进行分发的情况下的误报率。
为了帮助保护你,Docker Security Scanning 包含对范围广泛的操作系统,包括所有主流的Linux发行版和Windows Server,语言文字和二进制文件的支持。

一旦所有层扫描结束并返回了结果,每一个镜像和标签的详细的BOM将被产生并存储在Docker Security Scanning 的数据库。返回的结果将被发送到Docker Cloud,将连同每一个扫描过的仓库的标签的BOM展示到UI层。

持续监测和通知

扫描镜像的能力提供了给定时间点的洞察力。Docker Security Scanning 迈出很大的一步以通过持续的监控和通知来确保您的镜像保持安全。Docker Security Scanning 的数据库储存着详细的镜像BOM以及相应所有组件的漏洞。当一个漏洞被报告到中央的CVE数据库时,Docker Security Scanning 检查我们的服务数据库去查看哪些镜像和标签包含了受到影响的包并通过邮件提醒仓库的管理员。

这些通知包括漏洞本身相关的信息,列出了那些包含漏洞的仓库和标签。有了这些信息后,通过了解哪些漏洞影响了哪些软件,审查漏洞的严重程度,制定正确的解决方案,IT团队可以主动管理软件合规性。

安全横跨整个内容生命周期

Docker Security Scanning 是Docker工作流上一个令人兴奋的附加产品,帮助企业构建、交付和运行安全软件。和Content Trust(内容真实)相结合后,您可以保证您的软件做你所说的工作,而不会被恶意篡改。

举个例子,官方仓库从 DockerCon EU in Nov 2015 已经开始使用Security Scanning 去处理他们的漏洞配置,修复问题和协同Content Trust分发已更新的镜像。这个特性让Docker可以和上游合作伙伴上合作,为您提供更好更安全的镜像。

可用性和快速入门

Docker Security Scanning 目前可以在Docker Cloud上的私有仓库计划给用户有限时间的免费试用。无论是不是镜像的提交者,你都可以在登录后查看到在Docker Hub的官方镜像的扫描结果。Security scanning 很快将拓展到Docker Datacenter 和 Docker Cloud 的公共仓库用户。

在Docker Cloud体验:

要尝试此功能,请转到 帐户设置>计划 并选择复选框。一旦被激活,每一个私有仓库最近三个标签将被扫描,并将24小时内由此产生BOM展示在标签部分。随后,Docker Security Scanning 将在您每次推送时扫描您的镜像标签。

下面的截图显示了5个私有仓库计划的用户的计划页。选择加入到Docker Security Scanning 的复选框出现在计划概要的底部。

image.png


相关文章

Nginx如何配置多个服务域名解析共用80端口

前言一台服务器同时有多个服务,这些服务通过域名解析都希望监听80/443端口直接通过域名访问,比如有demo.test.com和product.test.com。这时候我们可以使用nginx的代理转发...

介绍Linux下的系统调用过程

介绍Linux下的系统调用过程

先来看一张图,有个大概的理解。首先,应用程序能直接调用的是系统提供的API,这个在用户态(Ring3)下就可做到。然后相应的API就会将相应的系统调用号保存到eax寄存器中(这一步通过内联汇编实现),...

yum工具对软件包安装,删除,更新介绍

yum工具对软件包安装,删除,更新介绍

一. 概述软件包通常会依赖其他的包,为了前者能够正常运行,补依赖的包必须提前安装在系统中。PMS工具将会检测这些依赖关系关系,并在安装需要的包之前,先安装好所有额外的软件包。PMS对于不同发行版,没有...

详解:Nginx 反向代理、后端检测模块

详解:Nginx 反向代理、后端检测模块

Nginxshell > yum -y install gcc gcc-c++ make wget zl...

通过 SSH 实现 TCP / IP 隧道(端口转发)

通过 SSH 实现 TCP / IP 隧道(端口转发)

对于 Secure Shell (SSH)[1] 这样的网络协议来说,其主要职责就是在终端模式下访问一个远程系统。因为 SSH 协议对传输数据进行了加密,所以通过它在远端系统执行命...

Docker系列 镜像

Docker系列 镜像

一、知识要点镜像基本操作镜像实现原理二、镜像操作镜像的操作可分为:拉取镜像:拉取远程仓库的镜像到本地重命名镜像:使用docker tag 命令重命名镜像查看镜像:使用docker image ls 或...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。