Clair 确保容器安全
漏洞数据将会从已知来源持续导入,并与容器镜像的索引内容相关联,以便产生对容器有威胁的漏洞列表。当上游漏洞数据发生更改时,漏洞之前的状态和新状态以及受其影响的镜像会通过 webhook 发送给配置的端点。所有主要组件可以在编译时进行程序自定义,而不必创建项目分支。Clair 通过以下方式为容器安全提供支持:
- 从一组您定义的来源更新漏洞数据,并将这些数据存储在数据库中
- 允许客户使用 API 查询该数据库中是否有特定镜像中的漏洞
- 使用 API 和镜像中存在的功能列表对容器镜像进行索引编制
Clair 的工作原理
Clair 会根据通用漏洞披露数据库(CVE)以及红帽 ®、Ubuntu 和 Debian 的类似数据库来扫描每个容器层,并提供有关可能构成威胁的漏洞的通知。由于层可以在多个容器之间共享,因此自检功能对于构建软件包清单并使之与已知的 CVE 相匹配至关重要。
Clair 还引入了对编程语言软件包管理器的支持,最先支持的是 Python,随后新增了面向镜像的 API。
自动检测漏洞将帮助提高跨开发和运维团队的意识和最佳安全实践,促进他们采取操作来修补和解决漏洞。当发布新漏洞时,Clair 便会立即知晓哪些现有层存在漏洞并发送通知,而不必重新扫描。
例如,CVE-2014-0160 即“Heartbleed”已经发布一段时间了,而红帽 Quay 安全扫描发现对于用户存储在 Quay 上的相当一部分容器镜像,它仍是潜在威胁。
应注意,漏洞通常依赖于特定的条件才能被利用。例如,仅当安装并使用容易被攻击的 OpenSSL 软件包时,Heartbleed 才有威胁性。Clair 不适合于这种程度的分析,团队仍应根据需要采取更深入的分析。
Clair 与 Kubernetes
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 系统,用作真实的负载测试环境。