搜索

第 2 章 Clair 概念

download PDF

以下小节概述了 Clair 的工作原理。

2.1. 实践中的 Clair

Clair 分析分为三个不同的部分:索引、匹配和通知。

2.1.1. 索引

Clair 的 indexer 服务在了解容器镜像的组成方面扮演了关键角色。在 Clair 中,名为 "manifests" 的容器镜像表示。清单用于理解镜像层的内容。为简化此过程,Clair 利用了开放容器项目(OCI)清单和层的事实,旨在提供内容寻址,从而减少重复性任务。

在索引过程中,会提取一个代表容器镜像的清单,并划分成其基本组件。索引程序的作业是取消镜像包含的软件包、其原始分发及其所依赖的软件包存储库。然后,在 Clair 的数据库中记录并存储在这些宝贵的信息。索引期间收集的见解作为生成全面漏洞报告的基础。此报告可无缝传输到匹配节点以进一步分析和操作,帮助用户对其容器镜像的安全性做出明智的决策。

IndexReport 存储在 Clair 的数据库中。它可以被限制为一个 匹配器 节点来计算漏洞报告。

2.1.2. 匹配

使用 Clair 时,匹配节点负责将漏洞与提供的索引报告匹配。

匹配者负责保持漏洞数据库最新。matchers 运行一组更新程序,它会定期探测到新内容的数据源。发现新漏洞时,会将其存储在数据库中。

匹配器 API 设计为在查询时始终提供最新的漏洞报告。漏洞报告总结了清单的内容以及影响内容的任何漏洞。

发现新漏洞时,会将其存储在数据库中。

matcher API 设计为经常使用。它设计为在查询时始终提供最新的 VulnerabilityReportVulnerabilityReport 总结了清单的内容以及影响内容的所有漏洞。

2.1.3. 通知程序服务

Clair 使用一个通知程序服务来跟踪新的安全数据库更新,并通知用户是否有新的或删除的漏洞是否影响索引的清单。

当 notifier 知道影响之前索引清单的新漏洞时,它使用 config.yaml 文件中配置的方法来提供有关新更改的通知。返回的通知表示因为变化而发现的最严重漏洞。这可避免为同一安全数据库更新创建过量通知。

当用户收到通知时,它会针对匹配者发出一个新的请求,以接收最新的漏洞报告。

您可以通过以下机制订阅通知:

  • Webhook 交付
  • AMQP 交付
  • STOMP 交付

配置通知程序是通过 Clair YAML 配置文件完成的。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.