6.6. Clair for Red Hat Quay
Clair v4 (Clair)是一个开源应用,它利用静态代码分析来解析镜像内容并报告影响内容的漏洞。Clair 打包了 Red Hat Quay,并可用于独立和 Operator 部署。它可以在高度可扩展的配置中运行,其中组件可以根据企业环境单独进行扩展。
6.6.1. Clair 故障排除问题
使用以下步骤对 Clair 进行故障排除。
6.6.1.1. 验证镜像兼容性
如果使用 Clair,请确保 Clair 支持您要扫描的镜像。Clair 具有特定要求,不支持所有镜像格式或配置。
如需更多信息,请参阅 Clair 漏洞数据库。
6.6.1.2. allowlisting Clair updaters
如果您在代理配置后面使用 Clair,则必须列出代理或防火墙配置中的 updaters。如需有关 updater URL 的更多信息,请参阅 Clair updater URL。
6.6.1.3. 更新 Clair 扫描程序及其依赖项
确保您使用最新版本的 Clair 安全扫描程序。过时的版本可能缺少对较新镜像格式的支持,或者可能存在一个已知问题。
使用以下步骤检查 Clair 的版本。
检查 Clair 日志也可用于检查 Clair 日志中是否有 updaters 微服务的错误。默认情况下,Clair 每 30 分钟更新漏洞数据库。
流程
检查您的 Clair 版本。
如果您在 Red Hat Quay Operator 上运行 Clair,请输入以下命令:
$ oc logs clair-pod
如果您正在运行 Red Hat Quay 的独立部署并使用 Clair 容器,请输入以下命令:
$ podman logs clair-container
输出示例
"level":"info", "component":"main", "version":"v4.5.1",
6.6.1.4. 为 Clair 启用调试模式
默认情况下,Clair 的调试模式被启用。您可以通过更新 Clair config.yaml
文件为 Clair 启用调试模式。
使用以下步骤为 Clair 启用调试模式。
流程
为 Clair 启用调试模式
如果您在 Red Hat Quay Operator 上运行 Clair,请输入以下命令:
$ oc exec -it clair-pod-name -- cat /clair/config.yaml
如果您正在运行 Red Hat Quay 的独立部署并使用 Clair 容器,请输入以下命令:
$ podman exec -it clair-container-name cat /clair/config.yaml
更新 Clair
config.yaml
文件以启用调试:http_listen_addr: :8081 introspection_addr: :8088 log_level: debug
6.6.1.5. 检查 Clair 配置
检查 Clair config.yaml
文件,以确保没有可能导致问题的错误配置或不一致。如需更多信息,请参阅 Clair 配置概述。
6.6.1.6. 检查镜像元数据
在某些情况下,您可能会收到 Unsupported 信息。这可能表示扫描程序无法从镜像中提取必要的元数据。检查镜像元数据是否已正确格式化并可访问。
其他资源
如需更多信息,请参阅 Clair 故障排除。