6.6. Clair 安全扫描程序
6.6.1. Clair 问题故障排除 复制链接链接已复制到粘贴板!
使用以下步骤对 Clair 进行故障排除。
6.6.1.1. 验证镜像兼容性 复制链接链接已复制到粘贴板!
如果使用 Clair,请确保 Clair 支持尝试扫描的镜像。Clair 具有特定要求,不支持所有镜像格式或配置。
如需更多信息,请参阅 Clair 漏洞数据库。
6.6.1.2. 允许 Clair 更新器 复制链接链接已复制到粘贴板!
如果您在代理配置后使用 Clair,则必须在代理或防火墙配置中列出更新程序。如需有关 updater URL 的更多信息,请参阅 Clair updater URL。
6.6.1.3. 更新 Clair 扫描程序及其依赖项 复制链接链接已复制到粘贴板!
确保您使用最新版本的 Clair 安全扫描程序。过时的版本可能缺少对较新镜像格式的支持,或者可能存在一个已知问题。
使用以下步骤检查 Clair 的版本。
检查 Clair 日志也可用于检查 Clair 日志中是否有 updaters 微服务的错误。默认情况下,Clair 每 30 分钟更新漏洞数据库。
流程
检查您的 Clair 版本。
如果您在 OpenShift Container Platform 上的 Red Hat Quay 上运行 Clair,请输入以下命令:
oc logs clair-pod
$ oc logs clair-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您正在运行 Red Hat Quay 的独立部署并使用 Clair 容器,请输入以下命令:
podman logs clair-container
$ podman logs clair-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
"level":"info", "component":"main", "version":"v4.5.1",
"level":"info", "component":"main", "version":"v4.5.1",
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6.1.4. 为 Clair 启用调试模式 复制链接链接已复制到粘贴板!
默认情况下,Clair 的调试模式被禁用。您可以通过更新 clair-config.yaml
文件为 Clair 启用调试模式。
先决条件
- 对于 OpenShift Container Platform 部署上的 Red Hat Quay Clair,您必须使用 受管 Clair 数据库运行自定义 Clair 配置。
使用以下步骤为 Clair 启用调试模式。
流程
更新
clair-config.yaml
文件,使其包含 debug 选项。在独立 Red Hat Quay 部署中:
在您的
clair-config.yaml
文件中添加以下配置字段:log_level: debug
log_level: debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令重启 Clair 部署:
podman restart <clair_container_name>
$ podman restart <clair_container_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 OpenShift Container Platform 部署的 Red Hat Quay 中:
-
在 OpenShift Container Platform web 控制台中,点 Operators
Installed Operators Quay Registry。 - 单击 registry 的名称,如 示例 Registry。您将被重定向到 registry 的 Details 页面。
- 单击 Config Bundle Secret,如 example-registry-config-bundle-xncls。
-
通过在 secret 的 Details 页面的 Data 部分查找
clair-config.yaml
文件,确认您正在运行自定义 Clair 配置。 -
如果您有一个
clair-config.yaml
文件,请点击 ActionsEdit Secret。如果没有,请参阅"使用受管 Clair 数据库运行自定义 Clair 配置"。 更新
clair-config.yaml
文件,使其包含log_level: debug
配置变量。例如:log_level: debug
log_level: debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点击 Save。
-
您可以点击 Workloads
Pods 来检查 Clair 部署的状态。 clair-app
pod 应该会在 Ready 类别下报告1/1
。 -
您可以点 Ready
Logs 的 clair-app pod 确认 Clair 正在返回调试信息。
-
在 OpenShift Container Platform web 控制台中,点 Operators
6.6.1.5. 检查 Clair 配置 复制链接链接已复制到粘贴板!
检查 Clair config.yaml
文件,以确保没有可能导致问题的错误配置或不一致。如需更多信息,请参阅 Clair 配置概述。
6.6.1.6. 检查镜像元数据 复制链接链接已复制到粘贴板!
在某些情况下,您可能会收到 Unsupported 信息。这可能表示扫描程序无法从镜像中提取必要的元数据。检查镜像元数据是否已正确格式化并可访问。