Exemple 2 : Examen DAST via l'automatisation des générations

Avant de commencer

Cet ensemble de scripts Python vise à démontrer les capacités de l'examen DAST par le biais de l'automatisation des générations. Voici un exemple de fichier que vous pouvez télécharger afin de l'utiliser dans ce flux de travaux : AppScanDASTandSASTautomation.zip. (Si le fichier n'est pas téléchargé, cliquez avec le bouton droit de la souris sur le lien et enregistrez le fichier sur votre disque dur.)
Remarque : Le modèle d'examen à utiliser doit être créé. Il ne peut pas s'agir de l'un des modèles par défaut inclus dans ASE (par exemple : Analyse rapide et superficielle ou Fondamentaux du développeur). Pour cette démonstration, on présuppose que le serveur d'exploration manuelle est installé à l'emplacement par défaut : C:\Program Files (x86)\HCL\AppScan Manual Explorer.

Procédure

Le flux de travaux commence lorsqu'une génération d'AltoroJ est exécutée dans Jenkins. Flux de travaux :
  1. génération terminée dans Jenkins.
  2. Jenkins exécute la tâche post-génération python Selenium_StartScan.py dast_auto.config.
  3. Le script démarre le serveur d'exploration manuelle.
  4. Le script Selenium Selenium_Altoro_View_AcctDetails.py est exécuté. (Le trafic est établi via le serveur d'exploration manuelle.)
  5. Le serveur d'exploration manuelle est interrompu et la capture du trafic est enregistrée sous forme de fichier HTD dans le répertoire d'espace de travail.
  6. Un travail d'examen est créé dans ASE s'il n'en existe pas déjà un.
  7. L'adresse URL de départ est ajoutée au travail (la précédente est écrasée).
  8. Le fichier HTD est supprimé.
  9. Le type de connexion est défini sur automatique.
  10. Des droits d'accès de test sont ajoutés au travail d'examen.
  11. L'examen est exécuté.
  12. Le groupe de rapports est exécuté.
  13. Les problèmes de sécurité sont extraits du rapport sur les problèmes de sécurité.
  14. Le fichier monkit.xml est mis à jour de sorte que Jenkins puisse afficher le graphique.
    Les fichiers nécessaires à ce processus sont :
    • dast_auto.config – Fichier de configuration pour l'automatisation. Editez ce fichier pour adapter le comportement du script. Par exemple : vous pouvez modifier le modèle d'examen ou l'adresse URL de départ. Le fichier Selenium_StartScan.py sert à générer un fichier de configuration vierge.

    • scans.py – Bibliothèque Python contenant les appels d'API vers ASE.
    • Selenium_Altoro_ViewAcctDetails.py – Script Selenium permettant d'établir une connexion à AltoroJ, d'afficher les informations sur le premier compte et de lancer une recherche.

    • Selenium_StartScan.py – Script Python contenant la logique décrite dans les étapes 3 à 14 ci-dessus. Editez la ligne nº 80 en fonction du dossier du projet Jenkins.

    • monkit.xml – Fichier pouvant être utilisé par Jenkins pour afficher les résultats de l'examen de sécurité.
    • geckodriver.log – Ficher journal généré automatiquement pour le pilote Gecko. Le pilote Gecko permet à Selenium de communiquer avec Firefox via Python