为 trivy 配置自定义证书颁发机构
在某些情况下,为 trivy 提供自定义证书颁发机构 (CA) 捆绑包可能很有用。如果您处于使用 Web 代理的企业环境中,通常是这种情况。由于 trivy 必须连接到互联网才能获取 CVE 数据,因此它必须通过代理。Trivy 从绑定挂载中读取证书,因此可以将证书放置在此文件夹中,如果创建新连接,trivy 将针对它们进行验证。
准备工作
- 您有一个 CA 捆绑包,或您的 CA 的单个公钥证书,Web 代理使用它。
实施
- 进入您的 harbor 配置文件夹
- 查看 docker-compose.yml 和 trivy-adapter 的配置。它看起来像这样
trivy-adapter:
container_name: trivy-adapter
image: goharbor/trivy-adapter-photon:dev
restart: always
cap_drop:
- ALL
dns_search: .
depends_on:
- log
- redis
networks:
- harbor
volumes:
- type: bind
source: /data/trivy-adapter/trivy
target: /home/scanner/.cache/trivy
- type: bind
source: /data/trivy-adapter/reports
target: /home/scanner/.cache/reports
- type: bind
source: ./common/config/shared/trust-certificates
target: /harbor_cust_cert
- 注意绑定挂载到
/harbor_cust_cert
,并将您的 ca-bundle 或单个公钥证书复制到挂载位置。 - (可选)如果主机路径不适合您的情况,您也可以在 docker-compose 文件中配置另一个路径。请注意,如果 trivy/harbor 的新版本发生更改,您可能需要手动更改此设置。
- 使用
docker restart trivy-adapter
或docker compose restart
重新启动您的容器(至少是 trivy-adapter)。如果您更改了绑定路径,则必须使用docker compose up -d
启动服务
升级
根据您是否更改了路径,更新可能会覆盖文件夹或从不同的位置挂载。以下过程确保您不会遇到任何意外情况
- 将您的证书备份到与 harbor-configuration 无关的文件夹中
- 像往常一样升级 harbor
- 检查
/harbor_cust_cert
挂载是否与您的证书所在的文件夹相同(通常是./common/config/shared/trust-certificates
) - 检查文件夹是否仍然包含您的证书,否则将您备份的证书复制到该位置
- 检查 trivy 是否能够获取 CVE 数据
在本页中
贡献