Configurer AppScan 360° pour prendre en charge la présence à des fins de balayage DAST

Ce document fournit aux utilisateurs un guide détaillé de la configuration de AppScan 360° pour la prise en charge du balayage DAST des applications Web déployées sur des réseaux isolés.

Conditions préalables

Avant de démarrer la configuration, vérifiez que vous disposez des éléments suivants :

  • Passerelle K8S : avant l'installation, vérifiez que vous disposez d'une passerelle K8S qui prend en charge l'API de passerelle v1.4 (ou version ultérieure) avec l'API TLSRoute activée et prend en charge la passerelle.

    Si la passerelle Istio est utilisée, la variable d'environnement suivante doit être définie dans la personnalisation :
    env:
     PILOT_ENABLE_ALPHA_GATEWAY_API: true ## Necessary for TLSroute passthrough
  • Accès permettant de modifier les enregistrements DNS ou les fichiers hôtes sur les machines exécutant l'instance Presence.

Pour chaque examen DAST qui utilise l'instance Presence, un tunnel dédié est créé. Tous les tunnels utilisent la même adresse IP de serveur de tunnel, mais ils utilisent un nom de domaine complet différent qui permet le routage vers le scanner DAST correspondant (au sein du cluster K8S).

Paramètres du fichier de personnalisation

Les paramètres suivants doivent être configurés dans le fichier de personnalisation avant le déploiement afin d'autoriser ce même fichier :
Paramètre Description Contrainte/exemple
CK_CONFIGURATION_DISCLOSED_TUNNEL_HOST_MAX_ID Définit la taille totale du pool de serveurs de tunnel disponible pour l'équilibrage de charge. Cet entier détermine la limite supérieure de l'index round-robin utilisé lors du routage des connexions. Le système génère des noms d'hôte en utilisant des index de 0 à TunnelHostMaxId - 1. Contrainte : Assurez-vous que cette valeur correspond au nombre d'enregistrements DNS approvisionnant l'environnement. Exemple : Une valeur de 5 active les index 0 à 4.
CK_CONFIGURATION_DISCLOSED_TUNNEL_HOST_NAME_PATTERN Chaîne de modèle de nom d'hôte utilisée pour acheminer le trafic vers des instances de serveur de tunnel spécifiques. Ce schéma doit contenir le paramètre fictif {0}, que le système remplace par l'index de serveur à trois chiffres avec remplissage de zéros (par exemple, 000, 001). Contrainte : La partie « domaine » du schéma doit correspondre aux entrées DNS mappées à l'adresse IP du programme d'écoute Kubernetes Gateway. Exemple : tap-{0}.as360.example.com résout à l'adresse tap-000.as360.example.com, tap-001.as360.example.com, etc.
Important : Le nombre d'hôtes doit être au moins égal au nombre d'analyses DAST simultanées qui s'exécuteront à l'aide de l'instance Presence.

Configuration du DNS pour l'équilibrage de charge du serveur de tunnel

Pour garantir une connectivité correcte entre les serveurs de tunnel, vous devez configurer vos enregistrements DNS pour mapper les noms d'hôte générés à l'adresse IP du programme d'écoute Kubernetes Gateway.

Conditions préalables :
  1. Obtenez l'adresse IP du programme d'écoute de la passerelle.
  2. Identifiez le schéma de nom d'hôte (par exemple, tap-{0}.as360.example.com).
  3. Identifiez l'ID d'hôte max. (nombre d'instances de tunnel).

Format d'enregistrement DNS :

Le système utilise une stratégie d'indexation round-robin. Vous devez créer des enregistrements DNS pour chaque index compris entre 0 et ID d'hôte max. - 1.
  • Remarque : L'index prend toujours la forme d'un nombre à trois chiffres avec un remplissage de zéros (par exemple, 0 devient 000).

Option A : Enregistrement générique (recommandé)

Si vos stratégies de sécurité le permettent, créez un CNAME ou un enregistrement A à caractère générique unique. Il s'agit de l'approche de maintenance la plus simple.

  • Enregistrer : *.as360.example.com ⇒ [adresse IP du programme d'écoute de la passerelle]

  • Remarque : Cela couvre automatiquement tous les index de tunnel actuels et futurs.

Option B : Enregistrements explicites

Si les caractères génériques ne sont pas autorisés, vous devez ajouter explicitement un enregistrement pour chaque index possible.

Exemple de scénario :

  • Schéma : tap-{0}.as360.example.com

  • ID d'hôte max. : 5 (index 0 à 4)

  • Adresse IP de passerelle : 192.168.1.50

Vous créerez les cinq enregistrements DNS suivants :

Index Nom d'hôte généré Cible
0 tap-000-as360.example.com 192.168.1.50
1 tap-001-as360.example.com 192.168.1.50
2 tap-002-as360.example.com 192.168.1.50
3 tap-003-as360.example.com 192.168.1.50
4 tap-004-as360.example.com 192.168.1.50

Option C : Définir le fichier hosts sur les machines qui exécutent les instances Presence

Si vous n'avez pas accès au serveur DNS de l'entreprise ou si vous avez besoin d'une solution locale rapide pour résoudre les noms d'hôte, vous pouvez définir manuellement le mappage hôte-adresse IP sur les machines individuelles qui hébergent les instances Presence.

Cette méthode remplace la résolution DNS standard pour les entrées spécifiques que vous ajoutez.

Il s'agit d'une solution de contournement courante dans les environnements où :

  • Vous ne disposez pas des autorisations nécessaires pour modifier le serveur DNS central.

  • L'application cible est uniquement accessible via un segment de réseau privé ou spécifique, et l'entrée DNS globale est manquante ou incorrecte pour la machine Presence.

  • Vous testez une nouvelle configuration d'application avant que son entrée DNS officielle ne soit propagée.

Procédure de modification du fichier hosts

Le fichier hosts est un fichier de système d'exploitation en texte brut qui mappe les noms d'hôte aux adresses IP. Son emplacement dépend du système d'exploitation :

Système d'exploitation Emplacement par défaut du fichier hosts
Windows C:\Windows\System32\drivers\etc\hosts
Linux /etc/hosts

Exemple d'entrée de fichier hosts :

Pour vous assurer que la machine Presence DAST résout le nom d'hôte cible tap-000-as360.example.com à l'adresse IP spécifique 192.168.1.50, ajoutez la ligne suivante au fichier hosts :
192.168.1.50 tap-000-as360.example.com # AppScan 360 DAST Target IP