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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是CoreOS发布Clair,容器镜像分析器,【编者的话】CoreOS在启动Clair项目四个月之后,终于发布了Clair的1.0版本,这是个可以上生产环境的版本,并在性能以及扩展性上有了很大的提高!
本文讲的是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,容器镜像分析器
相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
5月前
|
关系型数据库 MySQL Docker
|
9月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
490 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
12月前
|
存储 数据库 Docker
正确删除容器和镜像的方式
【10月更文挑战第24天】本文介绍了在Docker中如何正确删除容器和镜像,包括停止容器、删除已停止容器、删除未被使用的镜像以及注意事项,如数据备份、依赖关系检查和权限问题。其他容器管理工具的操作类似,但命令和语法可能不同。
2627 4
|
11月前
|
Kubernetes 监控 Java
如何在Kubernetes中配置镜像和容器的定期垃圾回收
如何在Kubernetes中配置镜像和容器的定期垃圾回收
|
Shell Linux Docker
docker常用命令大全(基础、镜像、容器、数据卷)
这些命令仅仅是 Docker 命令行工具的冰山一角,但对于日常操作来说已经非常全面。通过熟练地使用这些基础命令,用户可以有效地管理 Docker 的镜像、容器、数据卷和网络。随着用户对 Docker 的深入使用,更高级的命令和选项将会变得必需,但上面列出的命令已经为用户提供了一个坚实的起点。对于初学者来说,理解和掌握这些常用命令是深入学习 Docker 的基础。
779 5
docker常用命令大全(基础、镜像、容器、数据卷)
|
存储 安全 Ubuntu
Docker 镜像与 Docker 容器的区别
【8月更文挑战第27天】
1025 5
|
运维 Ubuntu Shell
掌握Docker容器的创建:从镜像到实例
【8月更文挑战第27天】
2197 4
|
存储 Ubuntu 应用服务中间件
在Docker中,怎么快速查看本地的镜像和容器?
在Docker中,怎么快速查看本地的镜像和容器?
|
缓存 开发者 Docker
Dockerfile是Docker容器化过程中的核心组件,它允许开发者以一种可重复、可移植的方式自动化地构建Docker镜像
【8月更文挑战第19天】Dockerfile是构建Docker镜像的脚本文件,含一系列指令定义镜像构建步骤。每条大写指令后跟至少一个参数,按序执行,每执行一条指令即生成新的镜像层。常用指令包括:FROM指定基础镜像;RUN执行构建命令;EXPOSE开放端口;CMD指定容器启动行为等。优化策略涉及减少镜像层数、选择轻量基础镜像、利用缓存及清理冗余文件。示例:基于Python应用的Dockerfile包括设置工作目录、复制文件、安装依赖等步骤。掌握Dockerfile有助于高效自动化构建镜像,加速应用部署。
122 1
|
机器学习/深度学习 人工智能 安全
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
阿里云 AI 容器镜像有开箱即用、生态丰富、性能优化、安全合规和服务支持五大优势。