导读 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的更多相关文章

  1. Spring Boot2.0:使用Docker部署Spring Boot

    一.Spring Boot项目添加 Docker 支持1.在pom.xml中添加 Docker 构建插件 <plugins> <!-- Docker maven plugin --& ...

  2. springboot整合docker部署(两种构建Docker镜像方式)--2019-3-5转

    原文:https://www.cnblogs.com/shamo89/p/9201513.html 项目结构 package hello; import org.springframework.boo ...

  3. springboot整合docker部署(两种构建Docker镜像方式)

    项目结构 package hello; import org.springframework.boot.SpringApplication; import org.springframework.bo ...

  4. 【云计算】实战-五个Docker监控工具的对比

    [实战]五个Docker监控工具的对比 阅读目录 Docker Stats命令 CAdvisor Scout Data Dog Sensu Monitoring Framework 总结 这篇文章作者 ...

  5. docker监控

    [编者的话]这篇文章作者是Usman,他是服务器和基础架构工程师,有非常丰富的分布式构建经验.该篇文章主要分析评估了五种Docker监控工具,包括免费的和不免费的:Docker Stats.CAdvi ...

  6. docker之DockerSwarm的了解

    这次一起了解下docker Swarm,什么是dockerSwarm. 什么是docker Swarm 产品背景 使用docker的流程,ssh到一台服务器,运行docker命令来运行本机的docke ...

  7. Spring Boot Security配置教程

    1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设 ...

  8. CNCF LandScape Summary

    CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...

  9. BlackArch-Tools

    BlackArch-Tools 简介 安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 ...

随机推荐

  1. Visual Studio调试

    一:C# CODING 技巧 1:TODO 然后 CTRL + W + T,打开任务列表,选中 Comments,就会显示所有待做的任务 2:打开所在的文件夹 右键单击任何一个文件选项卡, 选择&qu ...

  2. Linq之延迟加载特性

    目录 写在前面 系列文章 延迟加载 总结 写在前面 上篇文章介绍了linq中常见的几个关键字,并列举了几个例子,算是对linq如何使用有了初步了解.上篇文章中也提到了,能够使用linq的场合有一个要求 ...

  3. please tell me the error about java Graphics

    this is the code: public class paint extends JFrame{ public paint(){ setLayout(new FlowLayout()); se ...

  4. “耐撕”团队2016.05.11站立会议

    1. 时间 18:15--18:35     共计20分钟 2. 人员 Z 郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客:ht ...

  5. connection.getResponseCode()!=200

    android在网络编程的时候没有执行connection.getResponseCode()!=200 1.用真机测试的时候,电脑必须和手机连同一个局域网. 2.必须开新线程,不放在主线程里面访问. ...

  6. Linux中使用crontab命令定时执行shell脚本或其他Linux命令

    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...

  7. LightOJ1348 树链剖分

    简单题,看题目就懂. #include<queue> #include<stack> #include<cmath> #include<cstdio> ...

  8. BZOJ-2324 营救皮卡丘 最小费用可行流+拆下界+Floyd预处理

    准备一周多的期末,各种爆炸,回来后状态下滑巨快...调了一晚上+80%下午 2324: [ZJOI2011]营救皮卡丘 Time Limit: 10 Sec Memory Limit: 256 MB ...

  9. 洛谷P1082 同余方程

    题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行,包含一个正 ...

  10. UVa 12505 Searching in sqrt(n)

    传送门 一开始在vjudge上看到这题时,标的来源是CSU 1120,第八届湖南省赛D题“平方根大搜索”.今天交题时CSU突然跪了,后来查了一下看哪家OJ还挂了这道题,竟然发现这题是出自UVA的,而且 ...