Jump to section

什么是 Clair?

复制 URL

Clair 是一个开源项目,提供工具以在对应用和 docker 容器中的漏洞进行静态分析时监控容器的安全性。Clair 是一个 API 驱动的分析引擎,可逐层检查容器是否存在已知的安全缺陷。使用 Clair,您可以轻松地构建服务来针对容器漏洞提供持续监控。

漏洞数据将会从已知来源持续导入,并与容器镜像的索引内容相关联,以便产生对容器有威胁的漏洞列表。当上游漏洞数据发生更改时,漏洞之前的状态和新状态以及受其影响的镜像会通过 webhook 发送给配置的端点。所有主要组件可以在编译时进行程序自定义,而不必创建项目分支。Clair 通过以下方式为容器安全提供支持:

  • 从一组您定义的来源更新漏洞数据,并将这些数据存储在数据库中
  • 允许客户使用 API 查询该数据库中是否有特定镜像中的漏洞
  • 使用 API 和镜像中存在的功能列表对容器镜像进行索引编制

Clair 会根据通用漏洞披露数据库(CVE)以及红帽 ®、Ubuntu 和 Debian 的类似数据库来扫描每个容器层,并提供有关可能构成威胁的漏洞的通知。由于层可以在多个容器之间共享,因此自检功能对于构建软件包清单并使之与已知的 CVE 相匹配至关重要。

Clair 还引入了对编程语言软件包管理器的支持,最先支持的是 Python,随后新增了面向镜像的 API。

自动检测漏洞将帮助提高跨开发和运维团队的意识和最佳安全实践,促进他们采取操作来修补和解决漏洞。当发布新漏洞时,Clair 便会立即知晓哪些现有层存在漏洞并发送通知,而不必重新扫描。

例如,CVE-2014-0160 即“Heartbleed”已经发布一段时间了,而红帽 Quay 安全扫描发现对于用户存储在 Quay 上的相当一部分容器镜像,它仍是潜在威胁。 

应注意,漏洞通常依赖于特定的条件才能被利用。例如,仅当安装并使用容易被攻击的 OpenSSL 软件包时,Heartbleed 才有威胁性。Clair 不适合于这种程度的分析,团队仍应根据需要采取更深入的分析。

Clair 是开源 Quay 项目(Project Quay)的一部分。Kubernetes 平台红帽 OpenShift® 可以通过一个 Kubernetes Operator(称为“容器安全 Operator” )将 Clair 用于容器安全防护,而该 Operator 本身就是红帽 Quay 的一个组件。红帽 Quay 是一个开源容器镜像仓库平台,它使您可以跨全球数据中心构建、分发和部署容器,主要侧重云原生DevSecOps 开发模式和环境。

Quay 容器安全 Operator 与红帽 OpenShift 集成,使您能够通过自动化、认证和授权系统提高镜像的安全性。红帽 Quay 可以通过红帽 OpenShift 使用,也可以作为独立组件提供。

AWS 上的红帽 OpenShift 服务(ROSA)可以从源代码构建镜像,部署镜像并管理其生命周期。它提供内置的集成容器镜像仓库,可以部署到 ROSA 环境以在本地管理镜像。Quay.io 是一个公共的红帽 Quay 容器镜像仓库,由红帽提供和维护,用于向 ROSA 集群提供大多数容器镜像和 Operator。红帽 Quay 既是托管服务,也是可以安装在自有数据中心或云环境中的软件。红帽 Quay 中的高级功能包括异地复制、镜像扫描和回滚镜像的功能。这些功能包括在整体 OpenShift 配置中利用 Clair。 

我们的咨询师可提供各种帮助

作为红帽对开源社区的承诺,红帽将继续以云原生计算基金会成员的身份参与开发 Quay 项目。

红帽对 Clair 和 Quay 项目的新功能设计做出了巨大贡献。红帽还运行 Clair 使用的其中一个关键漏洞数据库。此外,红帽还通过 quay.io 运行着最大的 Clair 系统,用作真实的负载测试环境。

继续阅读

文章

容器与虚拟机

Linux 容器和虚拟机(VM)都是封装型计算环境,里面组合了各种 IT 组件并独立于系统的其余部分。

文章

什么是容器编排?

容器编排是指自动化容器的部署、管理、扩展和联网。

文章

什么是 Linux 容器?

Linux 容器是与系统隔离开的一系列进程,它从单独的镜像运行,并由该镜像提供支持进程所需的全部文件。

详细了解容器

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

相关资源

培训

免费培训课程

"通过红帽来运行容器"技术概述

免费培训课程

容器、Kubernetes 和红帽 OpenShift 技术概述

免费培训课程

利用微服务架构开发云原生应用