Configuration de l'environnement AppScan 360°

Avant d'installer AppScan 360°, configurez votre environnement pour un déploiement optimal.

L'environnement dans lequel vous installez et déployez AppScan 360° nécessite la mise en place d'outils préalables pour des performances optimales :

ID HCL

Votre ID HCL associe votre compte à des licences valides et à un accès aux logiciels et au support. Il est nécessaire pour accéder au portail de licence et de téléchargement HCL et à HCL Harbor.

Pour obtenir des informations complètes sur la création d'un ID HCL et l'accès aux licences et aux logiciels, consultez ce document.

Système Linux

Un système Linux Ubuntu, version 22:04 ou ultérieure, est nécessaire pour lancer le déploiement. Le déploiement réel peut se faire dans un cluster Kubernetes distant, mais le déploiement est initié depuis cette machine Linux. Bash shell et openssl doivent être installés sur le système, qui doit être en mesure de se connecter au serveur SQL désigné.

Pour l'analyse dynamique, augmentez le nombre d'instances inotify dans le noyau dans tous les nœuds où les analyses dynamiques sont exécutées :
  1. Ajoutez fs.inotify.max_user_instances=524288 à /etc/sysctl.conf.
  2. Redémarrez le nœud pour que les modifications soient prises en compte.

Service de conteneur local (Docker)

Docker est un service de conteneur local qui peut envoyer des images vers un registre distant. Docker est requis lors de l'installation de ASCP et Conseils de résolution AppScan à partir d'un fichier d'archive téléchargé depuis le portail de licence et de téléchargement HCL.

Cluster Kubernetes

Le cluster se trouve à l'emplacement où résident les conteneurs d'agent ASCP et où ils sont utilisés.

Un fournisseur de stockage prenant en charge ReadWriteMany est requis. Si un fournisseur de stockage personnalisé comme longhorn doit être utilisé, assurez-vous qu'il prend en charge `ReadWriteMany.

Kubectl

Kubectl est utilisé pour communiquer avec les clusters Kubernetes distants.

Des instructions complètes pour l'installation et la configuration de Kubectl sont disponibles ici.

Helm 3

Helm 3 est un ensemble de ressources qui facilite la configuration et l'utilisation des applications Kubernetes.

Les instructions complètes d'installation de l'interface de ligne de commande Helm sont disponibles ici.

Vérifiez la communication entre Linux et les services de composants

Pour valider la connectivité Kubernetes, exécutez :
> kubectl version
ou
> kubectl get nodes

Pour valider la connectivité Docker, exécutez :

> docker version
Pour valider la connectivité Helm, exécutez :
> helm version

Contrôleur d'ingress

Déployez un contrôleur d'ingress qui prend en charge le protocole HTTPS.

Le contrôleur d'ingress recommandé est NGINX (dernière version). Cependant, si un contrôleur d'ingress est déjà présent dans le cluster, il n'est pas nécessaire d'en installer un nouveau.

Le contrôleur doit satisfaire les exigences suivantes :
  • proxy-body-size : 2g

  • proxy-connect-timeout : 3600

  • proxy-read-timeout : 3600

  • proxy-send-timeout : 3600

  • enable-access-log-for-default-backend : vrai

  • ssl-redirect : vrai

  • use-http2 : vrai

  • use-forwarded-headers : vrai

  • compute-full-forwarded-for : vrai

Cert-manager

Installez et configurez Cert-manager :

MSSQL

MSSQL est un système de gestion de bases de données relationnelles.

Active Directory (LDAP)

Active Directory authentifie et autorise tous les utilisateurs et ordinateurs d'un réseau, en définissant et en appliquant des politiques de sécurité pour l'accès au réseau.

Important : Lors de la mise à niveau à partir de AppScan 360° version 1.1.0 ou antérieure, la configuration LDAP ne peut pas être utilisée à nouveau telle quelle. Vous devez vérifier que tous les paramètres LDAP répondent aux exigences de AppScan 360° version 1.2 avant de procéder à l'installation.

Réseau

Le réseau doit être chiffré et prendre en charge la stratégie du réseau.

Important : Nous recommandons vivement que le certificat installé pour la communication entre le client et AppScan 360° soit un certificat reconnu. En l'absence de certificat reconnu, la communication entre le client et AppScan 360° sera non fiable ; les clients peuvent importer le certificat dans le magasin de clés JRE du client. Cependant, cette option peut ne pas fonctionner pour les clients d'analyse statique (comme un plugin Azure) qui téléchargent Utilitaire de ligne de commande Static Analyzer (SAClientUtil) à partir de AppScan 360° automatiquement.

Stockage

AppScan 360° utilise deux types de stockage. L'espace de stockage nécessaire dépend largement du nombre d'examens et de la taille de l'application examinée. A titre indicatif, la taille moyenne de stockage requise pour l'exécution d'un seul examen correspond à ce qui suit :

  • Stockage de la base de données du serveur MSSQL : 150 Ko
  • Stockage de fichiers : 10 Mo
Stockage estimé par nombre d'exécutions d'examen :
Exécutions d'examen 1 000 100 000 1 000 000
Stockage sur serveur MSSQL 150 Mo 15 Mo 150 Go
Stockage de fichiers 10 Go 1 To 10 To
La taille minimale recommandée pour la base de données et le stockage des fichiers est de 200 Go chacun pour le stockage temporaire des journaux.
Remarque : Le stockage doit être chiffré, redondant, partageable entre les pods et prendre en charge le mode d'accès RWX (ReadWriteMany).

Vous pouvez supprimer manuellement les précédents examens pour gagner de l'espace.

UC et mémoire

Les besoins en UC et en mémoire dépendent du nombre d'utilisateurs et de la charge de travail prévue.

Par défaut, la tâche Kubernetes alloue les ressources minimales pour chaque examen. Dans certains cas, en fonction de facteurs tels que le niveau d'activité des utilisateurs, le degré d'automatisation, la taille de l'application et la fréquence des examens, davantage de ressources peuvent être nécessaires pour que l'examen s'exécute correctement ; si les ressources sont disponibles, le module essaiera de s'adapter aux ressources maximales définies. S'il n'y a pas suffisamment de ressources pour évoluer, certains examens peuvent échouer.

Pour des résultats optimaux, fournissez suffisamment de ressources pour que le système puisse évoluer en fonction des besoins. L'allocation des ressources est fonction du nombre d'examens simultanés.

Ressources ASCP

Lors de l'exécution de ASCP uniquement :
Mémoire UC (vCore)
ASCP
Minimum 42 Go 10
Maximum 48 Go 12
Remarque : Les ressources ASCP sont constantes et viennent s'ajouter aux ressources nécessaires à l'examen.

Recherche de ressources

Lors de l'exécution d'examens, ressources supplémentaires :

Mémoire UC (vCore)
Analyse dynamique : examen unique
Minimum 3 Go 2
Recommandé 4 Go 5
Analyse dynamique : cinq examens simultanés
Minimum 15 Go 10
Recommandé 20 Go 15
Analyse dynamique : dix examens simultanés
Minimum 30 Go 20
Recommandé 40 Go 30
Analyse statique : examen unique
Minimum 16 Go 2
Maximum 28 Go 6
Analyse statique : cinq examens simultanés
Minimum 80 Go 10
Maximum 140 Go 20
Analyse statique : dix examens simultanés
Minimum 160 Go 20
Maximum 280 Go 40
Pour obtenir une plus grande simultanéité, il faut disposer de ressources supplémentaires suffisantes :
  • Multipliez les ressources d'examen énumérées ci-dessus pour une analyse unique par le nombre d'examens simultanés prévus, et ajoutez-les aux ressources ASCP.
    Par exemple :
    • Les ressources minimales pour cinq examens simultanés seraient de 122 Go de mémoire et 20 UC (42 Go pour ASCP + 80 Go pour l'examen et 10 UC pour ASCP + 10 UC pour l'examen).
    • Les ressources minimales pour 12 examens simultanés seraient de 234 Go de mémoire et 34 UC (42 Go pour ASCP + 192 Go pour la numérisation et 10 UC pour ASCP + 24 UC pour l'examen).
  • Assurez-vous qu'un nombre suffisant de licences AppScan 360° est fourni lors de l'installation de ASCP.
  • Définissez la configuration de Kubernetes et la disponibilité des ressources pour permettre à plusieurs examens d'être opérationnels en même temps.
  • Nous vous recommandons de ne pas dépasser 25 examens simultanés.

Le nombre maximal de chaque service dépend du profil de charge d'examen maximal attendu, c'est-à-dire du nombre maximal d'examens soumis, du pourcentage d'examen de code source/fichiers binaires et du pourcentage d'examen de fichiers IRX. En raison de ces inconnues, il est possible que la configuration optimale ne puisse pas être définie lors du déploiement initial. La configuration HCL AppScan 360° peut être ajustée en fonction de la charge de l'examen réelle.

Remarque : Pour effectuer un examen, les ressources requises doivent être disponibles sur un seul nœud. Les nœuds recommandés pour un examen statique doivent disposer d'au moins 28 Go de RAM et de quatre cœurs. Les nœuds recommandés pour un examen dynamique doivent disposer d'au moins 4 Go de RAM, trois cœurs et 200 Go d'espace disque pour le stockage temporaire des journaux.

Base de données

  • L'installation, la gestion, la sauvegarde, la maintenance et l'octroi de licence de la base de données relèvent de la responsabilité de l'utilisateur.
  • MSSQL Server 2019 et versions ultérieures sont pris en charge.
  • Avant d'installer HCL AppScan 360°, assurez-vous de disposer d'un utilisateur doté des droits db_creator.

Navigateur

AppScan 360° prend en charge les dernières versions des navigateurs suivants :
  • Chrome
  • Safari
  • Edge
  • Firefox

Fournisseur d'identité

Deux utilisateurs locaux sont créés lors du processus d'installation.
Administrateur Gestionnaire d'applications
Nom d'utilisateur Administrateur Utilisateur
Mot de passe Admin12! User12!

Pour intégrer d'autres utilisateurs, HCL AppScan 360° requiert Microsoft Active Directory.

Résolution d'écran

La résolution d'écran recommandée pour HCL AppScan 360° est de 1920 x 1080.

Points d'accès

Composant URL Ingress
Portail utilisateur https://<CK_CONFIGURATION_DISCLOSED_SITE_URL>
API utilisateur https://<CK_CONFIGURATION_DISCLOSED_SITE_URL>/api
API utilisateur (swagger) https://<CK_CONFIGURATION_DISCLOSED_SITE_URL>/swagger
Remarque : La publication du FQDN Ingress avec l'IP désignée de l'Ingress dans le serveur DNS est nécessaire.