本文是关于一款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安全选项在平台的底部。
如果你有一个Docker Hub账户确没有使用过Docker云——别担心!你同样可以登录Dokcer云来工作。原生整合保证你的Docker Hub仓库展示Docker云仓库部分。私有仓库按7美元每个月,可以使用5个私有仓库,并且可以使用Docker云。
本文转自d1net(转载)