Installation de AppScan 360° avec Helm

Une installation Helm de AppScan 360° nécessite une connexion Internet fiable et permanente, en plus des exigences de configuration de l'environnement AppScan 360°. Le système doit pouvoir télécharger régulièrement des graphiques Helm depuis HCL Harbor.

Avant l'installation de AppScan 360° avec Helm :
  • Vérifiez que vous disposez d'une connexion Internet stable et permanente pour télécharger des graphiques Helm à partir de GitHub et pour récupérer des images Docker et des packages Helm à partir de HCL Harbor.
  • Le fichier de configuration est disponible et correctement nommé.

Installer helmfile

Pour installer helmfile :
  1. Téléchargez le fichier binaire 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. Extrayez l'archive :
    tar -xvzf helmfile_*_linux_amd64.tar.gz
  3. Déplacez le fichier binaire helmfile vers un répertoire local approprié.
    Par exemple, usr/local/bin/.
    sudo mv helmfile /usr/local/bin/
  4. Donnez une autorisation exécutable au fichier :
    sudo chmod +x /usr/local/bin/
    sudo chmod +x /usr/local/bin/helmfile
  5. Vérifiez l'installation :
    helmfile --version
    Remarque : Vérifiez toujours que vous utilisez la version prévue pour garantir la cohérence entre les déploiements.

Configurer la connexion à Harbor

Pour configurer la connexion à Harbor, procédez comme suit :
  • Utilisez la connexion Docker avec votre nom d'utilisateur username et votre mot de passe password comme défini dans le fichier cli-secret :
    docker login hclcr.io
  • Définissez les variables d'environnement pour le fichier docker/config.json :
    export HCLCR_USERNAME=<harbor-username>
    export HCLCR_PASSWORD=<harbor-password/cli-secret>
  • Définissez les variables d'environnement pour le codage base64 :
    export AS360_KNI_JSON_CONFIG_AS_BASE64="<base64-value-of-docker-config.json>"

Configurer le référentiel GitHub

Le référentiel de AppScan 360° Helm est hébergé sur un serveur GitHub privé. Clonez le référentiel approprié à l'adresse https://github.com/HCL-TECH-SOFTWARE/ pour remplir correctement le référentiel local :
git clone --branch main https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
Après le clonage, vérifiez que le référentiel local possède la structure suivante :
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

Installer AppScan 360°

Dans le référentiel cloné (AppScan-360-Helm-Files), exécutez :
helmfile sync

Inclure l'analyse de la composition logicielle (SCA)

L'analyse de la composition logicielle (SCA) est incluse lorsque vous installez AppScan 360° avec un paramètre.
Remarque : Par défaut, l'analyse de la composition logicielle (SCA) n'est pas incluse dans AppScan 360° ; vous devez l'activer.
Pour inclure l'analyse de la composition logicielle (SCA) :
includeSCA=true helmfile sync
Pour désactiver l'analyse de la composition logicielle (SCA) :
includeSCA=true helmfile destroy
Pour activer les mises à jour automatiques de la base de données des vulnérabilités de l'analyse de la composition logicielle (SCA), définissez les variables d'environnement suivantes qui pointent vers le registre HCL Harbor avec les informations d'identification appropriées.
export SCA_AUTOUPDATER_REGISTRY_USERNAME=<HCL_HARBOR_USERNAME>
export SCA_AUTOUPDATER_REGISTRY_PASSWORD=<HCL_HARBOR_PASSWORD>
Important : Si vous ne configurez pas de mises à jour automatiques, vous devez mettre à jour manuellement la base de données des vulnérabilités.

Prise en charge des versions à l'aide de balises et d'archives Git

AppScan 360° prend en charge l'installation versionnée à l'aide de balises et d'archives Git.
Pour cloner la dernière version d'AppScan 360° à l'aide de Git :
git clone 
https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
Pour cloner une version spécifique d'AppScan 360° à l'aide de Git, où X.X.X est le numéro de version spécifique :
git clone --branch vX.X.X 
https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
Pour télécharger une archive directement, où X.X.X est le numéro de version spécifique :
wget https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files/archive/refs/tags/vX.X.X.zip
Pour extraire une archive spécifique, où X.X.X est le numéro de version spécifique :
unzip AppScan-360-Helm-Files-vX.X.X.zip
ou
tar -xvzf AppScan-360-Helm-Files-vX.X.X.tar.gz
Remarque : Si vous téléchargez des archives, les mises à niveau doivent être effectuées manuellement en retéléchargeant les nouvelles versions. Les mises à niveau sur place à l'aide d'une commande git pull ne sont pas disponibles.

Résolution des problèmes d'installation de Helm

  • Noms d'édition :
    Composant Nom de l'édition Espace de nom
    AppScan 360° plateforme appscan360-ascp hcl-appscan-ascp
    Conseils de résolution AppScan asra hcl-appscan-asra
    Analyse de la composition logicielle (SCA) (en option) scaservices hcl-appscan-sca
  • No state file found

    Le fichier d'état doit être nommé helmfile.d/*.
    1. Accédez à AppScan-360-Helm-Files -> helm.d
    2. Exécutez 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 "."

    Le fichier de propriétés (singular-singular.clusterKit.yaml) est manquant. Vérifiez que le fichier est au bon emplacement et réessayez.

  • Failed to pull helm-packages or docker images

    La connexion à Docker est manquante, ou les variables d'environnement HCLCR_USERNAME et HCLCR_PASSWORD sont manquantes. Vérifiez les informations de connexion et réessayez.

  • Failed to get pull secret

    Le fichier .docker/config.json est manquant ou AS360_KNI_JSON_CONFIG_AS_BASE64 avec la valeur appropriée n'est pas défini. Vérifiez les informations de connexion et réessayez.