Configuration et utilisation du serveur proxy

Vous pouvez utiliser le serveur proxy de l'instance AppScan Presence pour enregistrer le trafic, l'enregistrer en tant que fichier DAST.CONFIG et l'importer afin d'exécuter un examen ASoC. En option, vous pouvez chiffrer ce fichier, comme expliqué dans la sous-section ci-dessous.

Configuration de la connexion au serveur proxy

Pourquoi et quand exécuter cette tâche

Après avoir apporté des modifications au fichier de configuration, vous devez redémarrer le serveur.
Remarque : Settings.json est un fichier JSON et certains caractères tels que " (guillemets doubles) et \ (barre oblique inverse) doivent donc être "échappés", de sorte que " devient \" et \ devient \\.
Important : Ne modifiez pas les paramètres internalConfiguration dans ce fichier.

Procédure

Pour une connexion sécurisée (SSL) au serveur proxy : Configurez votre propre certificat PEM ou PKCS12 :
  • PEM :
    • Un certificat PEM requiert deux fichiers (chemins complets)
    • N'oubliez pas d'échapper des caractères si nécessaire à la fois dans les chemins d'accès aux fichiers et dans le mot de passe, par exemple un mot de passe tel que abc!"123 devient abc!\"123 (le symbole " est échappé).
  • PKCS12 :
    1. Dans la ligne de commande, exécutez :
      .\Java\jre\bin\java.exe -jar .\DastProxy.jar -sc "C:\Path\to\certificate.pfx"
    2. A l'invite, entrez le mot de passe du certificat et appuyez sur Entrée.
Exemple d'utilisation d'openssl pour créer un certificat PEM :
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt 
Exemple d'utilisation d'openssl pour convertir le certificat PEM en certificat PKCS12 :
openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in server.crt
Exemple d'outil keygen de Java pour convertir un certificat JKS en certificat PKCS12 :
keytool -importkeystore -srckeystore certificate.jks -srcstoretype JKS -destkeystore certificate.p12 -deststoretype PKCS12

Utilisation du serveur proxy

Une fois que le serveur proxy a démarré, vous pouvez lancer de nouvelles instances de proxy d'enregistrement, pour enregistrer le trafic de votre application.

Procédure

  1. Si le site est protégé (HTTPS), vous pouvez éviter les avertissements SSL comme suit :
    1. Utilisez l'API REST pour télécharger l'autorité de certification racine autosignée utilisée par le serveur proxy AppScan en tant que fichier PEM.
    2. Installez le certificat sur le navigateur utilisé pour l'exploration ou à tout emplacement requis (en fonction de l'origine du trafic).
    Pour plus d'informations, voir Configurer le certificat racine ci-dessous.
  2. Pour démarrer un proxy, utilisez la requête API REST : StartProxy, puis définissez le port d'enregistrement (vers lequel vous souhaitez envoyer le trafic).
    Remarque : si le serveur proxy ne dispose pas d'un accès direct au site, vous pouvez également définir un proxy (chaîné) en amont avec cet API REST.
    Remarque : Si vous devez définir plusieurs proxys chaînés ou des exceptions sur le proxy, utilisez le fichier de règles de proxy chaîné (proxy.chain) qui se trouve dans le dossier d'installation.
    Remarque : Si le trafic n'est pas chiffré (voir la sous-section ci-dessous), vous pouvez chiffrer le fichier de trafic (DAST.CONFIG) pour un enregistrement individuel en utilisant :
    Query param Example:
    /StartProxy/<recordingPort>?encrypted=true
  3. Envoyez votre trafic via le port d'enregistrement défini.
  4. Lorsque vous avez terminé, envoyez la demande API REST : StopProxy (notez que StopProxy/0 n'est pas autorisé).
  5. Téléchargez le fichier de trafic enregistré en envoyant la demande API REST : Trafic
    Le fichier de trafic possède une extension .dast.config.
    Remarque : lorsque vous téléchargez le fichier de trafic, les données de trafic sont supprimées du serveur proxy.

    Vous pouvez utiliser le fichier DAST.CONFIG pour mettre à jour les données d'exploration d'un travail existant, à l'aide de l'API REST d'ASoC. Vous pouvez

Chiffrer le fichier DAST.CONFIG

Vous pouvez utiliser l'API REST du serveur proxy pour charger un fichier DAST.CONFIG à chiffrer, puis télécharger le fichier chiffré.
  • Pour charger votre fichier afin de le charger, utilisez : "EncryptDastConfig"
  • Pour télécharger le fichier chiffré, utilisez : DownloadEncryptedDastConfig
Pour plus de détails, voir Commandes de l'APU du serveur proxy.

Chiffrer le trafic

Par défaut, les fichiers de trafic (DAST.CONFIG) ne sont pas chiffrés. Pour configurer le serveur afin de chiffrer tout le trafic, modifiez la clé "encryptDastConfig" dans le fichier Settings.json, qui se trouve dans le dossier d'installation, en true.

Définir le délai d'inactivité du proxy

Si une instance de proxy n'est pas fermée après utilisation à l'aide de la commande correspondante, elle reste ouverte et en mode écoute sur le port. Les instances de proxy d'enregistrement sont automatiquement fermées si elles restent inactives pendant une durée prédéfinie.

Le délai d'inactivité par défaut pour les instances de proxy d'enregistrement est de 60 minutes. Vous pouvez modifier cette valeur dans le fichier Settings.json, enregistré dans le dossier d'installation.

Proxy chaîné

Si une instance de proxy n'est pas fermée après utilisation à l'aide de la commande correspondante, elle reste ouverte et en mode écoute sur le port. Les instances de proxy d'enregistrement sont automatiquement fermées si elles restent inactives pendant une durée prédéfinie.

Le délai d'inactivité par défaut pour les instances de proxy d'enregistrement est de 60 minutes. Vous pouvez modifier cette valeur dans le fichier Settings.json, enregistré dans le dossier d'installation.

Configurer le certificat racine

Si votre application utilise le protocole SSL (HTTPS), le proxy doit agir comme intermédiaire pour l'enregistrement du trafic. Pour cela, le serveur proxy doit disposer d'un certificat racine qu'il peut utiliser pour signer ses communications avec l'application.
Par défaut, le serveur proxy génère un certificat racine unique, sans que l'intervention de l'utilisateur ne soit requise. Cependant, vous obtiendrez des avertissements SSL lorsque vous parcourrez l'application. Vous pouvez effectuer l'une des opérations suivantes :
  1. Installer le certificat généré par le proxy sur votre ou vos machines :
    1. Utilisez l'API REST pour télécharger l'autorité de certification racine autosignée utilisée par le serveur proxy AppScan en tant que fichier PEM.
    2. Installez le certificat sur le navigateur utilisé pour l'exploration ou à tout emplacement requis (en fonction de l'origine du trafic).
  2. Importer votre propre certificat racine sur le serveur proxy. Les formats de certificats pris en charge sont PKCS12 (.P12, .PFX) et JKS :
    1. Ouvrez une fenêtre de ligne de commande et accédez au dossier d'installation du serveur proxy sur la machineAppScan Presence. Emplacement par défaut :
      <AppScanPresenceInstallFolder>\Automation
    2. Exécutez la commande suivante :
      ..\Java\jre\bin\java -jar DastProxy.jar -irc [path to certificate file] -ircp [password]
    Remarque : Pour afficher la syntaxe de commande complète, exécutez :
     ..\Java\jre\bin\java -jar DastProxy.jar
Important : Il est recommandé d'utiliser un certificat test dédié, dans la mesure où le certificat est enregistré sur le serveur proxy.
Remarque : Le script de démonstration pour ce flux de travaux, ProxyServerDemoScript.py, est disponible dans (emplacement par défaut).
<AppScanPresenceInstallFolder>\Automation