专注docker安全:Security Scanning
| 导读 | Docker毫无疑问是近期运维同学们的热点话题,Docker安全也由此倍受重视,Docker Security Scanning 是一款Docker镜像扫描的安全工具,目前已经在Docker Cloud投入使用。 |
今天我们宣布 Docker Security Scanning(Docker安全扫描,原名项目鹦鹉螺)全面上市。Security Scanning 目前以一个服务附加在 Docker Cloud 私有仓库和位于Docker Hub的官方仓库。Security Scanning 为您的docker镜像积极地进行风险管理和提供详细的安全配置,并简化软件合规性。Docker Security Scanning 会在您的镜像部署之前进行二进制级别的扫描,提供详细的物料清单(BOM),列出所有的层和组件,持续进行漏洞监控,当发现新的漏洞时提供通知的服务。

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

Docker Security Scanning 已经在 Docker Cloud(并将在Docker Datacenter)使用,当一个新的镜像推送到仓库时会触发一系列的事件。其服务包括一个扫描触发器,扫描器,一个数据库,插件框架和CVE数据库的验证服务。
当用户/发行商推送一个镜像到Docker Cloud仓库时,Docker Security Scanning的服务会启动。扫描器服务获取到镜像然后将它分离成相应的层和组件。然后这些组件将被送到验证服务跟多个CVE数据库包的名称和版本进行对比,还会对包的内容进行二进制级别的扫描。
最后一点尤为重要,因为这种方式可以确保这个包已经正确的声明。
docker镜像是由多个层构成,每一层可能会有很多的组件/包,每一个包都有相应的名称和版本号。当漏洞报告给CVE数据库时,他们被链接到一个包名和特定的版本号。

许多服务都是直接用包名在存储着有问题的包的数据库的做简单的检查。仅此是不够的,因为它并不能保证回答“什么东西在我的容器中运行?”这个问题。除了检查包的名称,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 的复选框出现在计划概要的底部。

我们很高兴这个,我们让每一位私人仓库计划的客户免费试用三个月。
如果你有一个Docker Hub 账户并且从来没有试过Docker Cloud,别担心,相同的登录凭证在Docker Cloud同样可用。原生的集成保证你的Docker Hub 仓库能在 Docker Cloud 的“Repositories” 部分展示。私有仓库计划提供5个私有仓库,每个月 $7 的服务已经可以在Docker Cloud 上享受了。
专注docker安全:Security Scanning的更多相关文章
- Spring Boot2.0:使用Docker部署Spring Boot
一.Spring Boot项目添加 Docker 支持1.在pom.xml中添加 Docker 构建插件 <plugins> <!-- Docker maven plugin --& ...
- springboot整合docker部署(两种构建Docker镜像方式)--2019-3-5转
原文:https://www.cnblogs.com/shamo89/p/9201513.html 项目结构 package hello; import org.springframework.boo ...
- springboot整合docker部署(两种构建Docker镜像方式)
项目结构 package hello; import org.springframework.boot.SpringApplication; import org.springframework.bo ...
- 【云计算】实战-五个Docker监控工具的对比
[实战]五个Docker监控工具的对比 阅读目录 Docker Stats命令 CAdvisor Scout Data Dog Sensu Monitoring Framework 总结 这篇文章作者 ...
- docker监控
[编者的话]这篇文章作者是Usman,他是服务器和基础架构工程师,有非常丰富的分布式构建经验.该篇文章主要分析评估了五种Docker监控工具,包括免费的和不免费的:Docker Stats.CAdvi ...
- docker之DockerSwarm的了解
这次一起了解下docker Swarm,什么是dockerSwarm. 什么是docker Swarm 产品背景 使用docker的流程,ssh到一台服务器,运行docker命令来运行本机的docke ...
- Spring Boot Security配置教程
1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设 ...
- CNCF LandScape Summary
CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...
- BlackArch-Tools
BlackArch-Tools 简介 安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 ...
随机推荐
- 如何部署Iveely.Computing分布式实时计算系统
Iveely.Computing是参考Storm的分布式实时计算系统的部分原理,用纯Java实现的轻量级.迷你型,适合于搜索引擎的实时计算系统, Iveely 搜索引擎是一款基于Iveely.Comp ...
- SQL Server 2008 过期
最近SQL Serve 2008 过期,不能正常运行,通过如下方式解决此问题: (1) 修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQ ...
- android之读取SD卡状态
package xidian.dy.com.chujia; import android.os.Build; import android.os.Environment; import android ...
- 多个TableView的练习
效果图: 左边图片的代码: // // SecViewController.m // UI__多个TableView练习 // // Created by dllo on 16/3/17. // Co ...
- hdu2846 字典树
给你一堆字符串,然后再给你几个查询,前面那些字符串中有多少个包含了这个串.所以可以把开始inset()的字符遍历一遍,同时可能出现该字符串在某个字符串中有多次出现,所以还要用flag标记,来区分不同的 ...
- hdu1686 KMP
简单KMP 求单词出现的次数.直接可以考虑,在每一次匹配成功时,让ans++,k=next[k],直到结束. #include<stdio.h> #include<string.h& ...
- Spring-编程式事物
所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理. Spring框架提供一致的事务抽象,因此对于JDBC还是JTA事务都是采用相同的API进行编程. Connection c ...
- PHP配置,php.ini以及覆盖问题
在部署一个cms项目到服务器上的时候,因为cms的模板比较老,服务器上用的php是5.3.3版(大于5.3,可以认为是新的),有些页面会显示"deprecated"类别的错误信息. ...
- BZOJ1968 [Ahoi2005]COMMON 约数研究
Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...
- input使用javascript限制输入带小数的数字
如题,网上找了很多都不太好实现.我的实现需求如下: 1.如果输入数字不带小数点那么自动加入两位小数,如:输入5,替换为5.00 2.输入5.,替换为5.00 3.输入5.1,替换为5.10 4.输入非 ...