Clair 确保容器安全
Clair 会持续不断地将漏洞数据从已知的来源中导入,并与容器镜像的索引内容相关联,以此生成威胁容器的漏洞列表。当漏洞数据向上游更改时,可以通过 webhook 将漏洞的先前状态和新状态以及受影响的镜像发送给配置好的端点。所有主要组件均可在编译时以编程方式进行自定义,无需分拆项目。Clair 通过以下方式支持容器的安全防护:
- 从您定义的一组来源更新漏洞数据,并将这些数据存储到自己的数据库中
- 允许客户端利用 API 在此数据库中查询特定镜像内的漏洞
- 利用 API 编制容器镜像及镜像中存在的功能列表的索引
Clair 的工作原理
Clair 会根据通用漏洞披露数据库(CVE)以及红帽 ®、Ubuntu 和 Debian 的类似数据库来扫描每个容器层,并提供有关可能构成威胁的漏洞的通知。由于层可以在多个容器之间共享,因此自检功能对于构建软件包清单并使之与已知的 CVE 相匹配至关重要。
此外,Clair 还支持编程语言包管理器(从 Python 开始),并引入了一个面向镜像的新 API。
漏洞的自动检测将有助于提高开发和运维团队的认知和最佳安全实践,并鼓励其采取措施修补和消除漏洞。当宣布有新漏洞时,Clair 无需重新扫描即可立即知道现有的哪些层容易受到攻击,并发送相关通知。
例如,人们很早就知道了 CVE-2014-0160(又名" Heartbleed"),但红帽 Quay 安全扫描发现,它仍然对用户存储在 Quay 中的大部分容器镜像构成潜在威胁。
请注意,漏洞通常依赖于特定条件才会被利用。例如,Heartbleed 仅在安装并使用易受攻击的 OpenSSL 软件包时才构成威胁。Clair 不适合进行这样的分析,团队仍应根据需要进行更深入的分析。
Clair 与 Kubernetes
Clair 是开源 Quay 项目(Project Quay)的一部分。Kubernetes 平台红帽 OpenShift® 可以通过一个 Kubernetes 操作器(称为"容器安全操作器" )将 Clair 用于容器安全防护,而该操作器本身就是红帽 Quay 的一个组件。红帽 Quay 是一个开源容器镜像仓库平台,它使您可以跨全球数据中心构建、分发和部署容器,主要侧重云原生及 DevSecOps 开发模式和环境。
Quay 容器安全操作器(与红帽 OpenShift 集成在一起)使您可以通过自动化、身份验证和授权系统来提高镜像存储库的安全。红帽 Quay 既可搭配红帽 OpenShift 使用,也可单独使用。
红帽咨询助您一臂之力
红帽可如何提供帮助?
一直致力于发展开源社区的红帽将继续以云原生计算基金会成员的身份参加 Quay 项目的开发。
红帽为 Clair 和 Quay 项目的新功能设计做出了重大贡献。同时,红帽还运行着 Clair 所使用的一个主要漏洞数据库。此外,红帽还通过 quay.io 运行着最大的 Clair 系统,用作真实的负载测试环境。