• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
关于Docker安全扫描器
发布日期:2016-7-7 15:7:57

  本文是关于一款Docker安全扫描器的一般性使用介绍,其原名为 Project Nautilus 。它可作为Docker云私有仓库或Docker Hub官方仓库的扩展服务,安全扫描会为你的Docker镜像提供主动的风险管理和软件合规管理的详细安全配置信息。Docker安全扫描在你部署之前可对你的镜像进行二进制层面的扫描, 并提供一个详细的材料清单(BOM)列出所有的层级和组件,不断监控新的漏洞,在新的漏洞出现的时候推送通知。

  

  当你考虑现代软件供应链的时候,一个公司会在不同的时段协调一些不同的开发者和IT团队,来建立栈和基础设施,移动和运行软件。App开发团队最关心的就是尽可能快的写好软件并交付给客户。然而,软件供应链并非以开发者结束,它还需反复的迭代,在团队之间分享代码,在各个环境之间移动代码。Docker让app无缝移植并且通过安全平台传输,控制安全访问和安全内容。Docker安全扫描提供了深入Docker镜像内部的安全内容,包含内部组件的安全配置。这些信息在app生命周期的每个步骤都是可用的。让我们深入Docker安全扫描的更多细节,看它是如何工作的。

  

  Docker安全扫描与Docker云协同使用(还有Docker数据中心),在新的镜像上传到仓库时触发一系列事件。这个服务包含一个扫描触发器,数据库,扫描器,框架插件和连接到CVE数据库的验证服务。

  深入查看安全配置

  Docker安全扫描服务在用户上传镜像到Dokcer云端(如阿里云)仓库时启动。扫描服务将镜像的各个层次和组件进行分离。然后组件发送给校验服务来与CVE数据库一起进行检查,不仅包括包名,版本,还包括二进制层面的内容扫描。最后一步十分重要因为这个方法确保包的正确性。一个Docker镜像是由许多层组成的,每个层都有许多组件和包,每个包都有相应的名字和版本信息。当漏洞报告给CVE数据库的时候,他们会跟一个包名和版本信息绑定。

  

  许多服务都只是简单的校验一下包的名字,通过查询数据库中已经有问题的方式。这样做是不够的,这不足以回答“容器中运行了什么?”。除了校验包名之外,我们对每个层级的二进制进行分析,然后匹配每个二进制的签名来确定组件和版本信息,然后查看数据库中已知漏洞的引用。这让我们能找到标准BOM以外的其他组件(比如dpkg – l 或 yum list installed),包括任何静态链接来准确标识组件,这些组件已发布补丁并且之前报告过漏洞。这个方法降低了误报率,因为相关的包可能已修复漏洞但没更新版本信息,同时也能防止某些人故意将一个恶意的包进行重命名。

  为了提供保护,Docker安全扫描支持大部分的操作系统,包括主流的Linux发行版和windows服务器语言和二进制。一旦全部东西扫描完成并返回结果,就会生成BOM的细节然后存储到Docker安全扫描数据库,并打上镜像的标签。对于每个扫描报告,结果发送到Docker云然后发表到UI。

  持续监控并推送通知

  镜像扫描能够实时提供信息。Docker安全扫描持续性的监视和通知推送来保证你的镜像安全。Dokcer安全扫描数据库存储镜像BOM的细节和每个组件的漏洞状态。当一个新的漏洞报告给CVE数据库,Docker安全扫描将会在数据库中查看那个镜像相关的包会受到影响然后推送通知邮件给管理员。这些推送信息包含漏洞的信息,及仓库中受影响的目标列表。通过这些信息,IT团队知道哪些软件受影响,从而可主动进行管理,审视漏洞的严重性并快速做出决策。

  整个内容生命周期的安全

  Docker安全扫描是一个很棒的Docker工作流来帮助公司构建,迁移和运行安全软件。当与安全内容结合在一起,你可确保软件的正确性,保证软件没被篡改。例如,官方仓库从 DockerCon EU in Nov 2015 开始就使用安全扫描来获取漏洞信息,修复问题,用内容信任签名更新镜像。这一特性让Docker能让上游可给你提供更安全的镜像。

  开始使用

  Docker云的用户的私有仓库可免费使用Docker安全扫描(次数是有限的)。若你登录了你可直接查看Docker官方镜像的扫描结果,不管你是否订阅用户。安全扫描也会扩展Docker数据中心和Docker云给用户。

  在Docker云使用:

  为了使用这一特性,进入Account Settings > Plans然后勾选。一旦激活,每个私有仓库最常使用的3个目标都会被扫描,BOM结果将会在24小时内显示。然后,docker安全扫描会在你每次上传之后扫描你的镜像。

  下面的截图展示了用户的5个私有仓库扫描结果。 Dokcer安全选项在平台的底部。