3.4. Clair for Red Hat Quay
Clair v4 (Clair)是一个开源应用程序,它利用静态代码分析来解析镜像内容和报告影响内容的漏洞。Clair 与 Red Hat Quay 打包,并可用于独立和 Operator 部署。它可以在高度可扩展的配置中运行,其中组件可根据企业环境单独扩展。
3.4.1. 在独立的 Red Hat Quay 部署上设置 Clair 复制链接链接已复制到粘贴板!
对于独立的 Red Hat Quay 部署,您可以手动设置 Clair。
流程
在 Red Hat Quay 安装目录中,为 Clair 数据库数据创建新目录:
mkdir /home/<user-name>/quay-poc/postgres-clairv4
$ mkdir /home/<user-name>/quay-poc/postgres-clairv4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令为
postgres-clairv4文件设置适当的权限:setfacl -m u:26:-wx /home/<user-name>/quay-poc/postgres-clairv4
$ setfacl -m u:26:-wx /home/<user-name>/quay-poc/postgres-clairv4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令部署 Clair Postgres 数据库:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为您的 Clair 部署安装 Postgres
uuid-ossp模块:podman exec -it postgresql-clairv4 /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"" | psql -d clair -U postgres'
$ podman exec -it postgresql-clairv4 /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"" | psql -d clair -U postgres'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
CREATE EXTENSION
CREATE EXTENSIONCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意Clair 需要将
uuid-ossp扩展添加到其 Postgres 数据库中。对于具有适当权限的用户,Clair 将自动添加扩展。如果用户没有正确的权限,则必须在启动 Clair 前添加扩展。如果没有扩展,当 Clair 尝试启动时会显示以下错误:
ERROR: Please load the "uuid-ossp" 扩展。(SQLSTATE 42501).如果
Quay容器正在运行,并在配置模式中重启它,将现有配置载入为卷:sudo podman run --rm -it --name quay_config \ -p 80:8080 -p 443:8443 \ -v $QUAY/config:/conf/stack:Z \ {productrepo}/{quayimage}:{productminv} config secret$ sudo podman run --rm -it --name quay_config \ -p 80:8080 -p 443:8443 \ -v $QUAY/config:/conf/stack:Z \ {productrepo}/{quayimage}:{productminv} config secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录到配置工具,再单击 UI 的 Security Scanner 部分中的 Enable Security Scanning。
-
使用
quay-server系统上尚未使用的端口设置 Clair 的 HTTP 端点,例如8081。 使用 Generate PSK 按钮创建预共享密钥(PSK)。
安全扫描器 UI
-
验证并下载 Red Hat Quay 的
config.yaml文件,然后停止运行配置编辑器的Quay容器。 将新配置捆绑包提取到 Red Hat Quay 安装目录中,例如:
tar xvf quay-config.tar.gz -d /home/<user-name>/quay-poc/
$ tar xvf quay-config.tar.gz -d /home/<user-name>/quay-poc/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为您的 Clair 配置文件创建一个文件夹,例如:
mkdir /etc/opt/clairv4/config/
$ mkdir /etc/opt/clairv4/config/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入 Clair 配置文件夹:
cd /etc/opt/clairv4/config/
$ cd /etc/opt/clairv4/config/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Clair 配置文件,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 Clair 的配置格式的更多信息,请参阅 Clair 配置参考。
使用容器镜像启动 Clair,从您创建的文件中挂载在配置中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意也有可能运行多个 Clair 容器,但对于单一容器以外的部署场景,我们强烈建议使用 Kubernetes 或 OpenShift Container Platform 等容器编配器。
3.4.2. 测试 Clair 复制链接链接已复制到粘贴板!
使用以下步骤在一个独立 Red Hat Quay 部署或基于 OpenShift Container Platform Operator 的部署中测试 Clair。
前提条件
- 您已部署了 Clair 容器镜像。
流程
输入以下命令拉取示例镜像:
podman pull ubuntu:20.04
$ podman pull ubuntu:20.04Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将镜像标记到 registry:
sudo podman tag docker.io/library/ubuntu:20.04 <quay-server.example.com>/<user-name>/ubuntu:20.04
$ sudo podman tag docker.io/library/ubuntu:20.04 <quay-server.example.com>/<user-name>/ubuntu:20.04Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将镜像推送到 Red Hat Quay registry:
sudo podman push --tls-verify=false quay-server.example.com/quayadmin/ubuntu:20.04
$ sudo podman push --tls-verify=false quay-server.example.com/quayadmin/ubuntu:20.04Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 通过 UI 登录您的 Red Hat Quay 部署。
- 单击存储库名称,如 quayadmin/ubuntu。
在导航窗格中,点 Tags。
报告概述
点镜像报告(如 45 个介质 )以显示更详细的报告:
报告详情
3.4.3. CVE 国家漏洞数据库中的评级 复制链接链接已复制到粘贴板!
从 Clair v4.2 开始,Red Hat Quay UI 现在可以查看通用漏洞评分系统(CVSS)增强数据。另外,Clair v4.2 从国家漏洞数据库中添加 CVSS 分数。
在这个版本中,如果漏洞在发布分数的 2 级内有一个 CVSS 分数,Red Hat Quay UI 默认会给出发行版的分数。例如:
这与前面的接口不同,后者只显示以下信息: