本文讲的是CoreOS发布Clair,容器镜像分析器,【编者的话】CoreOS在启动Clair项目四个月之后,终于发布了Clair的1.0版本,这是个可以上生产环境的版本,并在性能以及扩展性上有了很大的提高!
四个月前,CoreOS启动了Clair,它是一个开源的容器镜像安全分析器。今天Clair已经升级到1.0,并为在生产环境使用做好了准备。
CoreOS的愿景就是让全世界的基础设施更加安全,作为其中的一部分,CoreOS今天发布了新版本的Clair容器镜像安全分析器。这是一个用来检测容器镜像中已知安全漏洞的强大并且可扩展的工具。Clair使开发者能够创建用来扫描容器中的安全威胁以及漏洞的服务。
Clair发布威胁容器安全的漏洞信息,这些信息有用并且可执行,这样可以帮助DevOps团队维持容器的安全。社区的反馈引导了Clair的很多最新功能,不但包括披露是否存在漏洞的能力,而且提供了可行的补丁或者更新来纠正它。而且,1.0版本提高了性能以及可扩展性,并授权开发者和运维专家来实现他们自己的Clair周边服务。
为什么要更新软件增强安全性?
在我们之前的博文里,我们讨论了开展Clair项目的初衷以及我们对它的重要性的认识。在那个初始的公告之后,用户经常表示渴望学习能为提高容器的安全性做些什么。因此,我们很高兴推广这个实践,我们在能发现漏洞的功能之上,也增加了对漏洞修复的辨识能力。很多常用容器的镜像都是基于某些类型的Debian或者CentOS发行版,由于这些发行版的时间长、规模大,也带来了很大的攻击面以及很多潜在的漏洞。这些系统和包都可以更新,我们更鼓励用户采取行动,更新他们容器的镜像。Clair提供的分析样本和CoreOS指出的Qua容器registry确定:
- 超过70%的检测出的漏洞都可以修复,修复过程只需要简单地把容器镜像中已安装的软件包更新。
- 超过80%的高威胁以及严重威胁漏洞有已知修复方法,应用这些方法只需要更新镜像中的软件包。
把已安装的软件更新到最新版本会总体上提供基础设施的安全性,这就是为什么我们认为分析容器镜像的安全漏洞如此重要,并且给Clair发现的这些漏洞提供了明确的解决途径。容器镜像很少更新,但是有了Clair,用户可以更简单地发现并更新这些有问题的镜像。
Clair 1.0新功能
自从我们发布最初的公告以来,我们把精力集中在提高性能以及可用性上。我们从最大的瓶颈(数据库交互)开始。现在我们有抽象的数据库操作接口,我们首先完成了基于Postgres 9.4的实现。通过利用递归查询,我们可以模拟一个类图形界面的结构,就像我们维护一个传统SQL数据库的性能特征时一样。这把我们生产环境的一些API的响应时间提高了3个数量级,从30秒到30毫秒。
在提高性能的同时,我们也提高了可用性。新的RESTful JSON API已经推出,这对开发者来说更有用。之前的API和容器的registry之前的耦合性太强,因此新的API会更好的帮助社区把Clair集成到其他的工作流以及系统中去。
而且,为了提供更有用的数据给Clair API客户端,Clair 1.0为每个被检测到的漏洞引入了新的细节描述,包括:
- 发现漏洞的源软件包的名字和版本,Clair中称之为
Feature
。 - 如果漏洞已被修复,还会有修复了漏洞的Feature的版本信息。
- 和Common Vulnerability Scoring System (CVSS)系统中类似的元数据。CVSS元数据提供了漏洞的基本特征,例如:进出途径,是否需要认证,机密性,完整性或者可利用性等。
- 为了打补丁更简单,还会有镜像中引入漏洞的那一层的标记。
我们期待看到Clair社区在使用和扩展新的API上更聪明的方式。
在过去的几个月里,对大多数常规的使用案例来说,Clair的基础已经被证实是稳定的。为了让任何人都可以实现定制化的行为,我们通过让它的子系统可扩展,增强了它的灵活性。这些子系统包括:
- 获取器(Fetcher)- 从公共源收集漏洞数据
- 检测器(Detector)- 指出容器镜像中包含的
Feature
- 容器格式器(Image Format)- Clair已知的容器镜像格式,包括Docker,ACI
- 通知钩子(Notification Hook)- 当新的漏洞被发现时或者已经存在的漏洞发生改变时通知用户/机器
- 数据库(Databases)- 存储容器中各个层以及漏洞
我们会一直欢迎对Clair核心repository的贡献,但是那些可扩展的组件意味着任何公司都可以维护自己的增强Clair的扩展。比如,华为已经贡献了一个扩展,用来支持ACI容器镜像格式。
原文链接:CoreOS Delivers on Security with v1.0 of Clair Container Image Analyzer(翻译:Lambert Sun)
===========================================================
译者介绍
Lambert Sun,趋势科技DevOps Lead,敏捷开发实践者。
原文发布时间为:2016-03-20
本文作者:iT2afL0rd
本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:CoreOS发布Clair,容器镜像分析器