Energy and Persistence conquers

CoreOS安全发布:容器镜像分析器Clair v1.0

2016-03-20

四个月前,CoreOS启动了Clair,它是一个开源的容器镜像安全分析器。今天Clair已经升级到1.0,并为在生产环境使用做好了准备。

CoreOS的愿景就是让全世界的基础设施更加安全,作为其中的一部分,CoreOS今天发布了新版本的Clair容器镜像安全分析器。这是一个用来检测容器镜像中已知安全漏洞的强大并且可扩展的工具。Clair使开发者能够创建用来扫描容器中的安全威胁以及漏洞的服务。

Clair发布威胁容器安全的漏洞信息,这些信息有用并且可执行,这样可以帮助DevOps团队维持容器的安全。社区的反馈引导了Clair的很多最新功能,不但包括披露是否存在漏洞的能力,而且提供了可行的补丁或者更新来纠正它。而且,1.0版本提高了性能以及可扩展性,并授权开发者和运维专家来实现他们自己的Clair周边服务。

为什么要更新软件增强安全性?

在我们之前的博文里,我们讨论了开展Clair项目的初衷以及我们对它的重要性的认识。在那个初始的公告之后,用户经常表示渴望学习能为提高容器的安全性做些什么。因此,我们很高兴推广这个实践,我们在能发现漏洞的功能之上,也增加了对漏洞修复的辨识能力。很多常用容器的镜像都是基于某些类型的Debian或者CentOS发行版,由于这些发行版的时间长、规模大,也带来了很大的攻击面以及很多潜在的漏洞。这些系统和包都可以更新,我们更鼓励用户采取行动,更新他们容器的镜像。Clair提供的分析样本和CoreOS指出的Qua容器registry确定:

把已安装的软件更新到最新版本会总体上提供基础设施的安全性,这就是为什么我们认为分析容器镜像的安全漏洞如此重要,并且给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社区在使用和扩展新的API上更聪明的方式。

在过去的几个月里,对大多数常规的使用案例来说,Clair的基础已经被证实是稳定的。为了让任何人都可以实现定制化的行为,我们通过让它的子系统可扩展,增强了它的灵活性。这些子系统包括:

我们会一直欢迎对Clair核心repository的贡献,但是那些可扩展的组件意味着任何公司都可以维护自己的增强Clair的扩展。比如,华为已经贡献了一个扩展,用来支持ACI容器镜像格式