CoreOS发布Clair,容器镜像分析器

本文讲的是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,容器镜像分析器

时间: 2024-11-08 23:49:06

CoreOS发布Clair,容器镜像分析器的相关文章

CoreOS发布开源容器漏洞分析工具Clair

今天我们开源了一个新的项目,Clair,这是一个用来对容器安全进行监控的工具.Clair是个API驱动(API-Driven)的分析引擎,能逐层逐层地对已知的安全漏洞进行审查.你能轻松使用Clair构建出针对容器安全漏洞的持续监控服务.CoreOS深信,那些能改善世界基础设施的安全工具,值得所有的用户和公司都拥有,所以我们将其开源.为了同样的目标,我们期待大家对Clair项目的反馈和贡献. Quay的Security Scanning(安全扫描)功能beta版本的就是基于Clair做的.这个新功

【译】OCI镜像规范项目正式启动,致力于容器镜像标准的统一

声明:本文为InfoQ中文站特供稿件,首发地址为:OCI镜像规范项目正式启动,致力于容器镜像标准的统一 今天,我们迎来开放容器倡议(OCI)的新项目,OCI镜像规范.这意味着有一个在业界达成共识的项目,并且依靠着整个业界的强大技术实力,去规范和制定容器的构建.核实.签名以及命名标准. 在这个项目接下来几个月中,用户有望迎来一个行业标准镜像规范,服务于创建和交付容器.如果你正在使用appc或Docker镜像,你并不需要作出太多改变.不过,这将是行业在实现"一次打包,多次运行"容器的愿景上

DockOne微信分享(七十七):用Harbor实现容器镜像仓库的管理和运维

本文讲的是DockOne微信分享(七十七):用Harbor实现容器镜像仓库的管理和运维[编者的话]本次分享主要讲述了在开发运维中的管理容器镜像方法.为了便于说明原理,较多地使用Harbor作为例子. 内容主要包括: 开发和生产环境中镜像仓库的权限控制: 镜像远程同步(复制)的原理: 大规模应用镜像发布方式: 镜像删除和空间回收: Registry高可用性设计. 首先简单介绍一下Harbor项目.Harbor是由VMware中国研发团队负责开发的开源企业级Registry,可帮助用户迅速搭建企业级

红帽发布多容器应用规范Nulecule

本文讲的是红帽发布多容器应用规范Nulecule,[编者的话]这篇文章简单的介绍了Nulecule的产生.特性以及目标, Nulecule致力于构建一个统一的复合应用(基于多容器)的描述规范.笔者认为想法很好,但是要想实现这一目标不仅仅是一个技术问题,更多的是需要实现各个容器厂商的利益均衡,而做到这一点并不那么容易.不过还是应该肯定Project Atomic为此所做的事情. 为了帮助开发和管理人员创建和启动多容器组合的应用,Project Atomic的童鞋们正在起草一份与平台无关的规范,叫做

美国国家标准技术局发布应用容器安全指南  

美国国家标准技术局(NIST)发布了一项有关应用容器技术安全问题的公告.该公告对之前的两个公告内容进行了总结,包括镜像.注册表.编配器.容器.主机操作系统和硬件方面的漏洞,以及相应的应对措施.  NIST的计算机安全研究中心(CSRC)负责监管NIST的数字和信息相关的项目和出版物.该公告对之前的两份有关应用容器安全的出版物进行了总结,它先是对应用容器的现状进行了总结,然后列出了影响容器安全的因素,最后提出改进应用容器安全的应对措施. 容器的可移植性和不可变性会导致两个地方出现安全问题.容器提供

Docker使用Dockerfile创建支持ssh服务自启动的容器镜像_docker

本文实例为大家分享了Dockerfile创建支持ssh服务自启动的容器镜像,供大家参考,具体内容如下 1. 首先创建一个Dockerfile文件,文件内容如下 # 选择一个已有的os镜像作为基础 FROM centos:centos6 # 镜像的作者 MAINTAINER Fanbin Kong "kongxx@hotmail.com" # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y openssh

容器镜像服务 主子账户授权

容器镜像服务 主子账户授权 本期上线的主子账号功能,满足了企业账户分权管理的场景.子账户开通服务之后,主账户就可以对子账户进行授权.允许指定的子账户拥有镜像的推送.拉去权限,或是修改仓库信息等功能. 操作示例 子账户开通服务 首先在进行各类授权之前,我们需要确认子账号已经开通服务,使用子账号登陆容器镜像服务首页.填写Docker客户端的登陆密码,即可完成服务的开通. 在子账户开通服务的时候,默认是没有任何仓库或命名空间的授权的,所以在首页的仓库列表或许空空如也. 为子账号提供仓库授权 子账户开通

容器镜像服务 镜像安全扫描

容器镜像服务 镜像安全扫描 快速开始!前往:容器镜像服务控制台 前言 如果你没有镜像使用基础,请先阅读 容器镜像服务 基本使用 镜像安全扫描 针对基于Linux的一些基础镜像,容器镜像服务已经提供了镜像安全扫描的功能. 登陆 容器镜像服务 控制台,选择想要进行扫描的仓库,进入仓库管理的页面.查看仓库镜像列表的右侧就有安全扫描的入口.你只需要一键就可以对您的镜像进行安全扫描.一般根据镜像大小的不同,扫描的时间也会有一定的区别.一般情况一个镜像扫描工作都能在三分钟之内完成. 目前仅支持基于Linux

Docker常用的清除容器镜像命令小结_docker

前言 Docker 是一个非常有趣的项目.它自己宣称可以减轻部署服务器的难度,当然我相信里面有炒作的成分.但是实际使用后,我觉得 Docker 的表现还是可圈可点的.这篇文章主要总结了Docker清除容器镜像常用的命令,下面来一起看看吧. 杀死所有running状态的容器 docker kill $(docker ps -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有\'untagged/dangling\' ()状态的镜像 docker rmi