Exemple 2 : Examen DAST via l'automatisation des générations
Avant de commencer
Procédure
- génération terminée dans Jenkins.
-
Jenkins exécute la tâche post-génération
python Selenium_StartScan.py dast_auto.config
. - Le script démarre le serveur d'exploration manuelle.
-
Le script Selenium
Selenium_Altoro_View_AcctDetails.py
est exécuté. (Le trafic est établi via le serveur d'exploration manuelle.) - 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.
- Un travail d'examen est créé dans ASE s'il n'en existe pas déjà un.
- L'adresse URL de départ est ajoutée au travail (la précédente est écrasée).
- Le fichier HTD est supprimé.
- Le type de connexion est défini sur automatique.
- Des droits d'accès de test sont ajoutés au travail d'examen.
- L'examen est exécuté.
- Le groupe de rapports est exécuté.
- Les problèmes de sécurité sont extraits du rapport sur les problèmes de sécurité.
-
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
-