Configuration de l'environnement Analyse statique AppScan 360°
Avant d'installer Analyse statique AppScan 360°, configurez votre environnement pour un déploiement optimal.
- Tous les environnements Kubernetes :
- Si vous téléchargez Analyse statique AppScan 360° depuis Harbor
- Si vous téléchargez Analyse statique AppScan 360° à partir d'un fichier d'archive via le portail de licence et de téléchargement HCL :
- Si vous utilisez un cluster Azure basé sur le cloud :
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 ou Red Hat Enterprise est requis pour lancer le déploiement. Le déploiement réel peut se faire dans un cluster Kubernetes distant (par exemple, un cluster dans Azure Kubernetes Service), mais le déploiement est initié à partir de cette machine Linux.
Plateforme centrale AppScan
Plateforme centrale AppScan est la base de l'expérience Plateforme centrale AppScan. Il rassemble l'interface utilisateur, les API et les composants de base du serveur.
Des instructions complètes pour l'installation et la configuration de Plateforme centrale AppScan sont disponibles ici.
- Nom d'hôte du service ASCP
Nom d'hôte (FQDN) du serveur ASCP. Par exemple,
ascp.example.com
. - Jeton d'authentification
Le jeton d'authentification se trouve à l'emplacement suivant :
<ascp-install-path>\Keys\AgentsApiKey.txt
. - Certificat CA
Le fichier de certificat se trouve à l'emplacement suivant :
<ascp-install-path>\Certs\AppScan360_RootCA.crt
. - Clé privée
Le fichier de clé privée se trouve à l'emplacement suivant :
<ascp-install-path>\Certs\AppScan360_RootCA.key
.
Service de conteneur local
Un service de conteneur local capable de transférer des images vers un registre distant est nécessaire lors de l'installation d'Analyse statique AppScan 360° à partir d'un fichier d'archive téléchargé depuis le portail licence et de téléchargement HCL. Vous pouvez utiliser docker, un processus persistant qui gère les conteneurs, ou containerd, un runtime qui gère le cycle de vie d'un conteneur sur une machine physique ou virtuelle.
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.
Cluster Kubernetes
Le cluster se trouve à l'emplacement où résident les conteneurs d'agent Analyse statique AppScan 360° et où ils sont utilisés.
Par exemple, pour déployer un cluster Azure Kubernetes, l'utilisateur doit disposer d'un groupe de ressources pour gérer les ressources consommées par le cluster.
- Par défaut, les pods AppScan 360° SAST
preparer
etanalyzer
nécessitent un minimum de 16 Go de mémoire. - Un fournisseur de stockage prenant en charge
ReadWriteMany
est requis. AKS fournitazurefile
en tant que fournisseur de stockage, qui prend en chargeReadWriteMany
. Si un fournisseur de stockage personnalisé commelonghorn
doit être utilisé, assurez-vous qu'il prend en charge `ReadWriteMany
.
Vérifier la communication entre la machine virtuelle et le cluster Kubernetes
- Connectez-vous à votre compte Azure :
> azure login
- Pour vous connecter au cluster Kubernetes sur Azure :
> az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
--resource-group
est le groupe de ressources Azure de votre cluster.--name
est le nom du cluster à connecter à votre interface de ligne de commande.La connexion au cluster fusionne votre jeton d'installation dans un fichier .kube/config de votre dossier d'accueil. Ce fichier de configuration sera créé s'il n'existe pas.
Keda
> helm repo add kedacore https://kedacore.github.io/charts
> helm repo update
> helm install keda kedacore/keda --namespace keda --create-namespace
Contrôleur d'ingress
Déployer un contrôleur d'ingress.
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.
Une adresse IP liée au nom DNS est requise. Cette adresse IP doit exister dans le groupe de ressources Kubernetes par défaut pour le déploiement AKS.
> helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
> helm repo update
> helm install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--create-namespace \
--set controller.service.loadBalancerIP=<ip-address> \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz
L'installation d'un ingress NGINX peut être configurée pour la tolérance, nodeSelector, etc. Ces configurations peuvent être transmises à la commande de déploiement Helm d'ingress à l'aide de l'option -f
. Les paramètres configurables sont les suivants :
Paramètre | Description |
---|---|
controller.config.proxy-body-size |
Taille maximale autorisée dans le corps de la requête. La valeur doit être supérieure à la taille des données que vous essayez de transférer. |
controller.config.proxy-connect-timeout |
Délai d'attente maximal pour établir une connexion avec un serveur proxy. |
controller.config.proxy-read-timeout |
Définit un délai d'attente pour la lecture d'une requête au serveur proxy. |
controller.config.proxy-send-timeout |
Définit un délai d'attente pour la transmission d'une requête au serveur proxy |
controller.config.enable-access-log-for-default-backend |
Active l'accès via une connexion au back-end par défaut. Désactivé par défaut. |
controller.config.ssl-redirect |
Définit la valeur globale des redirections (301) vers HTTPS si le serveur dispose d'un certificat TLS. La valeur par défaut est true. |
controller.config.use-http2 |
Active ou désactive la prise en charge HTTP/2 dans les connexions sécurisées. |
nodeSelector.kubernetes.io/os |
Type de système d'exploitation sur les nœuds pour l'exécution de l'ingress. |
tolerations.key |
Tolérance aux pannes. |
Cert-manager
> helm repo add jetstack https://charts.jetstack.io
> helm repo update
> helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true
Helm
Helm 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.
Azure CLI
L'interface de ligne de commande Azure est un ensemble de commandes utilisées pour créer et gérer des ressources Azure.
Des instructions complètes pour l'installation de l'interface de ligne de commande Azure sont disponibles ici.