使用 Helm 安装 AppScan 360°

除了设置 AppScan 360° 环境的要求之外,AppScan 360° 的 Helm 安装还需要持久、可靠的互联网连接。系统必须能够定期从 HCL Harbor 下载 Helm 图表。

在使用 Helm 安装 AppScan 360° 之前:
  • 验证您是否有稳定且持久的互联网连接,以便从 GitHub 下载 Helm 图表以及从 HCL Harbor 获取 Docker 映像和 Helm 包。
  • 配置文件可用并且命名正确

安装 helmfile

要安装 helmfile,请执行以下操作:
  1. 下载 helmfile 二进制文件:
    wget -O helmfile.tar.gz $(curl -s https://api.github.com/repos/helmfile/helmfile/releases/latest | grep browser_download_url | grep linux_amd64.tar.gz | cut -d '"' -f 4)
  2. 解压缩归档:
    tar -xvzf helmfile_*_linux_amd64.tar.gz
  3. 将 helmfile 二进制文件移动到适当的本地目录。
    例如,usr/local/bin/
    sudo mv helmfile /usr/local/bin/
  4. 向该文件授予可执行许可权:
    sudo chmod +x /usr/local/bin/
    sudo chmod +x /usr/local/bin/helmfile
  5. 验证安装:
    helmfile --version
    注: 始终验证您使用的是否为预期版本,以确保部署的一致性。

设置 Harbor 连接

要设置与 Harbor 的连接,请执行以下任一操作:
  • 使用 cli-secret 中定义的 usernamepassword 进行 Docker 登录:
    docker login hclcr.io
  • docker/config.json 文件设置环境变量:
    export HCLCR_USERNAME=<harbor-username>
    export HCLCR_PASSWORD=<harbor-password/cli-secret>
  • 设置用于 base64 编码的环境变量:
    export AS360_KNI_JSON_CONFIG_AS_BASE64="<base64-value-of-docker-config.json>"

设置 GitHub 存储库

AppScan 360° Helm 的存储库托管在专用 GitHub 服务器上。克隆位于 https://github.com/HCL-TECH-SOFTWARE/ 的相应存储库,以正确填充本地存储库:
git clone --branch main https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
克隆后,验证本地存储库是否具有以下结构:
AppScan-360-Helm-Files
├── helm.d
│   ├── helmfile-ASCP.yaml.gotmpl
│   ├── helmfile-ASRA.yaml.gotmpl
│   ├── helmfile-SCA.yaml.gotmpl
│   └── helmFileCustomization
│       └── singular-singular.clusterKit-Sample.yaml
└── helmfile.yaml.gotmpl

安装 AppScan 360°

从已克隆的资源库 (AppScan-360-Helm-Files) 中,运行:
helmfile sync

包括软件组成分析 (SCA)

软件组成分析 (SCA) 在您使用参数安装 AppScan 360° 时包括在内。
注: 缺省情况下,AppScan 360° 中不包括软件组成分析 (SCA);您必须启用它。
要包括 SCA,请执行以下操作:
includeSCA=true helmfile sync
要禁用 SCA,请执行以下操作:
includeSCA=true helmfile destroy
要启用软件组成分析 (SCA) 漏洞数据库的自动更新,请使用正确的凭据设置以下环境变量以指向 HCL Harbor 注册表。
export SCA_AUTOUPDATER_REGISTRY_USERNAME=<HCL_HARBOR_USERNAME>
export SCA_AUTOUPDATER_REGISTRY_PASSWORD=<HCL_HARBOR_PASSWORD>
重要: 如果不设置自动更新,则必须手动更新漏洞数据库。

使用 Git 标记和归档文件的版本支持

AppScan 360° 支持使用 Git 标记和归档文件进行版本控制安装。
要使用 Git 克隆 AppScan 360° 的最新版本,请执行以下操作:
git clone 
https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
要使用 Git 克隆 AppScan 360° 的特定版本,其中 X.X.X 是特定的版本号,请执行以下操作:
git clone --branch vX.X.X 
https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
要直接下载归档文件,其中 X.X.X 是特定的版本号,请执行以下操作:
wget https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files/archive/refs/tags/vX.X.X.zip
要解压缩特定的归档文件,其中 X.X.X 是特定的版本号,请执行以下操作:
unzip AppScan-360-Helm-Files-vX.X.X.zip
或者
tar -xvzf AppScan-360-Helm-Files-vX.X.X.tar.gz
注: 如果下载归档文件,则必须通过重新下载新版本来手动执行升级。使用 Git Pull 的就地升级不可用。

对 Helm 安装进行故障诊断

  • 发行版名称:
    组件 发行版名称 命名空间
    AppScan 360° 平台 appscan360-ascp hcl-appscan-ascp
    AppScan Remediation Advisories asra hcl-appscan-asra
    软件组成分析 (SCA)(可选) scaservices hcl-appscan-sca
  • No state file found

    状态文件必须命名为 helmfile.d/*
    1. 浏览至 AppScan-360-Helm-Files -> helm.d
    2. 运行 run helmfile sync
  • ./helmfile.yaml: in .helmfiles[0]: in helm.d/helmfile-ASCP.yaml: failed processing release appscan360-ascp: values file matching "helmFileCustomizations/singular-singular.clusterKit.yaml" does not exist in "."

    缺少属性文件 (singular-singular.clusterKit.yaml)。验证该文件是否位于正确的位置,然后重试。

  • Failed to pull helm-packages or docker images

    缺少 Docker 登录,或缺少 HCLCR_USERNAMEHCLCR_PASSWORD 环境变量。验证登录信息,然后重试。

  • Failed to get pull secret

    缺少 .docker/config.json 文件,或未定义具有适当值的 AS360_KNI_JSON_CONFIG_AS_BASE64。验证登录信息,然后重试。