Test d'automatisation dans AppScan Enterprise à l'aide du serveur proxy AppScan

Le serveur proxy AppScan vous permet d'enregistrer votre propre trafic et de l'utiliser en tant que données d'exploration dans votre travail ASE.

Présentation

Cette section décrit l'intégration de l'analyse dynamique dans vos tests fonctionnels. Dans l'univers des DevOps, il est de plus en plus important de pouvoir intégrer des examens de sécurité au processus de test fonctionnel pour les applications Web. Si vous utilisez une infrastructure d'automatisation (comme Selenium), vous pouvez tirer parti des scripts déjà créés pour préparer des examens personnalisés. Les demandes provenant de l'infrastructure d'automatisation vers les applications Web sont transmises via le proxy du serveur proxy. Le serveur enregistre le trafic et le sauvegarde sous la forme d'un fichier de configuration DAST. Vous pouvez ensuite charger le fichier qui sera utilisé par ASE en tant que données d'exploration pour un examen. Vous pouvez également établir manuellement le trafic via le proxy du serveur d'automatisation, pour créer un fichier de configuration DAST.

Ce diagramme représente automated scan flow with AppScan® Enterprise.


Flux d'examen automatisé avec AppScan Enterprise

Flux de travaux standard

  1. Initialisation (une fois par serveur) :
    1. Installation du serveur proxy
    2. [Facultatif] Configuration du serveur proxy
      1. Gestion de l'avertissement SSL (certificat racine)
      2. Dépassement du délai d'inactivité
      3. Proxy chaîné
    3. Démarrage du serveur proxy
  2. Exécution d'examens :
    1. démarrez l'écoute de l'instance du proxy sur un port spécifié ou sélectionné de façon aléatoire, tel que configuré (voir Utilisation du serveur proxy).
    2. Exécutez votre script Selenium (ou un autre test fonctionnel) via le proxy sélectionné.

      Ou

      Parcourez votre application Web manuellement à l'aide d'un navigateur Web configuré pour fonctionner avec le proxy sélectionné.
    3. Arrêtez le proxy et sauvegardez l'enregistrement du trafic.
    4. Mettez à jour les données d'exploration d'un travail ASE existant, à l'aide de l'API REST d'ASE.

      Pour plus d'informations, reportez-vous à la documentation https://%3C%3Case_server%3E%3E:9443/ase/api/pages/apidocs.html

Remarque : Le script de démonstration pour ce flux de travaux, ProxyServerDemoScript.py, est disponible dans le dossier d'installation.

Installation du serveur proxy

  1. Téléchargez l'une des versions actuelles de Node.js et installez-la sur votre machine.
  2. Copiez le fichier AppscanProxyServer.zip depuis le répertoire <Installation_dir>\WebApp\downloads\ et décompressez-le dans un dossier sur votre machine.
    Remarque : La documentation relative à l'API AppscanProxyServer est disponible à l'adresse suivante : <Unzipped folder of AppscanProxyServer.zip>/apidocs/index.html

Configuration du serveur proxy

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 intervention de l'utilisateur. Toutefois, si lorsque vous utilisez l'application des avertissements SSL s'affichent, vous pouvez effectuer l'une des opérations suivantes :

  • Ignorer les avertissements.
  • 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).
  • 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 sur le serveur proxy.
    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.

Délai d'inactivité du serveur 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 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 est de 60 minutes. Vous pouvez modifier cette valeur dans le fichier Settings.json, enregistré dans le dossier d'installation.

Important : N'apportez aucune modification aux autres paramètres de ce fichier.

Proxy chaîné

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. Des instructions d'utilisation sont incluses dans ce fichier.

Démarrage du serveur proxy

Pour démarrer le serveur proxy AppScan, exécutez la commande suivante :
node app.js [port]
*port = le port sur lequel le serveur proxy AppScan répond aux requêtes de l'API REST.
Remarque : Si vous ne définissez pas ce port, le port 8383 sera utilisé par défaut.
Remarque : Il est conseillé d'exécuter le serveur proxy AppScan de manière permanente, et il n'est aucunement nécessaire de l'arrêter.

Utilisation du serveur proxy

Après avoir démarré le serveur proxy, vous pouvez lancer une instance et envoyer votre trafic vers l'application.

  1. Pour consulter la documentation d'API REST, saisissez ce qui suit dans un navigateur : http://localhost:<port>.
    Remarque : Pour la consulter depuis une autre machine, saisissez : http://<IP>:<port>

    *port = le port sur lequel le serveur proxy AppScan écoute.

    *IP = l'adresse IP de la machine sur laquelle le serveur proxy AppScan est installé.

  2. Si le site est sécurisé (HTTPS), évitez les avertissements SSL en procédant 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).
  3. Pour lancer une instance du proxy, utilisez la requête de l'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.
  4. Envoyez votre trafic via le port d'enregistrement défini.
  5. Lorsque vous avez terminé, envoyez la demande API REST : StopProxy.
  6. Téléchargez le fichier de configuration DAST (.dast.config), lequel contient le trafic enregistré, en envoyant la requête d'API REST suivante : Traffic.

    Le fichier est une archive ZIP contenant un ou plusieurs fichiers .har (HTTP Archive).

    Remarque : Lorsque vous téléchargez le fichier de configuration DAST, les données sont supprimées du serveur proxy AppScan.
  7. Vous pouvez utiliser le fichier de configuration DAST pour mettre à jour les données d'exploration d'un travail existant, à l'aide de l'API REST d'ASE. Pour plus d'informations, voir https://%3Case_server%3E:9443/ase/api/pages/apidocs.html.