更新软件组成分析 (SCA) 漏洞数据库

软件组成分析 (SCA) 漏洞数据库包括非常知名的安全漏洞数据库(NVD、Github 公告、Microsoft MSRC)以及各种知名度相对较小的安全公告和开放式源代码项目问题跟踪程序。AppScan 360° 用户可以在安装时启用 SCA 漏洞数据库的自动更新,也可以配置手动更新。

对漏洞数据库进行定期更新可确保 AppScan 360° 部署在进行软件组成分析 (SCA) 扫描时始终具备最新的漏洞信息,同时最大限度地减少停机时间。

可以为 AppScan 360° 的在线和离线部署设置更新:
  • 在线/自动

    在安装了 AppScan 360° 后,您已提供了有关软件组成分析 (SCA) 数据库的信息(通过回答 AppScan 360° 在单个虚拟机上的定制安装 中的配置问题,或者在为 AppScan 360°分布式安装设置配置文件时提供)。借助这些信息,安装过程可以配置数据库的自动更新。无需执行其他操作。

    只要 AppScan 360° 部署通过有效标识维持对 HCL Harbour 的访问权限,AppScan 360° 便会定期检查 HCL Harbour 注册表是否有更新,并自动提取和应用这些更新。更新过程会中断扫描或导致停机。
    注: 要在安装后启用 SCA 数据库的自动更新,请参阅本文
    注: 对于启用了 FIPS 的 AppScan 360° 下载,无法自动更新软件组成分析 (SCA) 数据库。
  • 离线/手动

    定期将最新的软件组成分析 (SCA) 漏洞数据库映像更新到本地注册表,可确保您的扫描结果始终与最新更新保持同步,即使在受限或物理隔离的环境中也是如此。

    手动更新需要一个第三方系统,以便使用有效标识从 HCL Harbor 下载映像,同时还需要一种安全的方法将这些映像传输到 AppScan 360° 部署系统。

    该第三方系统必须能够访问:
    • hclcr.io/appscan360/as360-k8s-docker-images/librarysearchapi
    • hclcr.io/appscan360/as360-k8s-docker-images/cvesearchapi
      注: 如果 Docker 专用注册表具有自签名证书,则 Docker 引擎必须信任这些证书,以确保注册表不会因 TLS 验证错误而失败。

手动更新软件组成分析 (SCA) 漏洞数据库

更新漏洞数据库的流程如下:
  1. cvesearchapilibrarysearchapi 从 HCL Harbour 下载到连接互联网的第三方系统。
  2. 将 ArgoApplication Helm 图表下载到连接互联网的第三方系统。
  3. 将映像传输到 AppScan 360° 部署系统。
  4. 将所传输的映像加载到 AppScan 360° 部署系统。
  5. 验证 AppScan 360° 部署系统上的下载。
  6. AppScan 360° 部署系统上配置 ArgoCD 映像更新程序。
  7. AppScan 360° 部署系统上重新启动 ArgoCD 映像更新程序 Pod。

要将 cvesearchapilibrarysearchapi 映像下载到连接互联网的第三方系统,请运行以下命令:

  1. docker login hclcr.io -u <harbor username> -p <harbor password>
  2. docker pull hclcr.io/appscan360/as360-k8s-docker-images/librarysearchapi:newest-build
  3. docker image save hclcr.io/appscan360/as360-k8s-docker-images/librarysearchapi:newest-build > librarysearchapi_newest-build.tar
  4. docker pull hclcr.io/appscan360/as360-k8s-docker-images/cvesearchapi:newest-build
  5. docker image save hclcr.io/appscan360/as360-k8s-docker-images/cvesearchapi:newest-build > cvesearchapi_newest-build.tar
要将 ArgoApplication Helm 图表下载到连接互联网的第三方系统,请运行以下命令:
  1. helm registry login hclcr.io --username "<harbor username>" --password "<harbor password>"
  2. helm pull oci://hclcr.io/appscan360/as360-k8s-helm-packages/scaargoapplication --version 0.1.1 --untar
  3. helm package scaargoapplication/
    注: 验证是否已创建包 scaargoapplication-0.1.1.tgz

要将文件从连接互联网的第三方系统传输到 AppScan 360° 部署系统,请执行以下操作:

使用贵组织批准的文件传输功能,传输以下文件:
  • scaargoapplication-0.1.1.tgz

  • cvesearchapi_newest-build.tar

  • librarysearchapi_newest-build.tar

要在 AppScan 360° 部署系统上将映像加载到您的 <customregistryurl>,请执行以下操作:
  1. docker load -i librarysearchapi_newest-build.tar
  2. docker tag hclcr.io/appscan360/as360-k8s-docker-images/librarysearchapi:newest-build <custom registry url>/appscan360/as360-k8s-docker-images/librarysearchapi:newest-build
  3. docker push <custom registry url>/appscan360/as360-k8s-docker-images/librarysearchapi:newest-build
  4. docker load -i cvesearchapi_newest-build.tar
  5. docker tag hclcr.io/appscan360/as360-k8s-docker-images/cvesearchapi:newest-build <custom registry url>/appscan360/as360-k8s-docker-images/cvesearchapi:newest-build
  6. docker push <custom registry url>/appscan360/as360-k8s-docker-images/cvesearchapi:newest-build
  7. helm registry login <custom registry url> --username "<custom registry username>" --password "<custom registry password>" --insecure
  8. helm push scaargoapplication-0.1.1.tgz oci://<custom registry url>/appscan360-staging/as360-k8s-helm-packages/
要验证下载,请运行以下命令:
  1. docker pull <custom registry url>/appscan360/as360-k8s-docker-images/cvesearchapi:newest-build
  2. helm pull oci://<custom registry url>/appscan360-staging/as360-k8s-helm-packages/scaargoapplication:0.1.1
要配置 ArgoCD 映像更新程序,请运行以下命令:
  • kubectl patch configmap argocd-image-updater-config \
        -n hcl-appscan-sca \
        --type merge \
        -p '{"data":{"registries.conf":"registries:\n  - name: sca180acr\n    defaultns: hcl-appscan-sca\n    default: true\n    api_url: https://<custom registry url>\n    prefix: <custom registry url>\n    insecure: true\n    credentials: pullsecret:hcl-appscan-sca/sca-harbor-registry-secret"}}'
要重新启动 ArgoCD 映像更新程序 Pod,请运行以下命令:
  • kubectl delete pod -l app.kubernetes.io/name=argocd-image-updater -n hcl-appscan-sca