Installation et utilisation du plug-in Azure DevOps Services

Cette tâche décrit la manière d'installer et d'utiliser le plug-in Azure DevOps Services pour effectuer des examens statiques ou dynamiques dans vos pipelines Azure DevOps Services et Team Foundation Server (TFS). (Azure DevOps Services était auparavant connu sous le nom de Visual Studio Team Services (VSTS)).

Remarque : Notez les URL pour le service AppScan sur Cloud :Migrez depuis l'emplacement de service précédent chez IBM vers celui-ci, y compris en mettant à jour les propriétés des nœuds d'extrémité de service. Pour plus d'informations, voir https://hclpnpsupport.hcltech.com/csm?id=kb_article&sysparm_article=KB0069537.

Tutoriel

Installation du plug-in Azure DevOps/TFS

Remarque : AppScan sur Cloud prend en charge TFS version 2018 mise à jour 2 et les versions plus récentes.
Pour utiliser le plug-in Azure DevOps/TFS, vous devez d'abord le télécharger depuis la marketplace Azure DevOps et l'installer.
  1. Dans Azure DevOps Services, accédez à Gérer les extensions > Parcourir la marketplace.
  2. Dans la fenêtre résultante, recherchez HCL.
  3. Sélectionnez et installez le plug-in HCL AppScan.
Remarque : Pour TFS, téléchargez-le depuis la marketplace Azure DevOps, comme indiqué. Ensuite, accédez à Gérer les extensions > Parcourir les extensions locales > Charger une nouvelle extension et choisissez l'extension téléchargée à installer.

Configuration de l'environnement Azure DevOps

Pour configurer l'environnement Azure DevOps pour les tests :

  1. Connectez-vous aux services Azure DevOps.
  2. Créez une organisation :
    1. Cliquez sur Créer une organisation.
    2. Indiquez le nom de l'organisation.
    3. Spécifiez le nom du projet.
    4. Indiquez si le projet est public ou privé.
    5. Cliquez sur OK.
  3. Associez un référentiel de code au projet :
    1. Cliquez sur Référentiels > Fichiers.
    2. Sélectionnez Importer.
    3. Sélectionnez un type de source pour le référentiel.
    4. Spécifiez une URL clone pour le référentiel.
    5. Cliquez sur Import.
  4. Créez un pipeline de génération :
    1. Cliquez sur Pipelines > Générations.
    2. Cliquez sur Nouveau pipeline.
    3. Cliquez sur Utiliser le concepteur visuel.
    4. Pour Sélectionner une source, cliquez sur Référentiel Git Azure, puis sélectionnez le référentiel à examiner et cliquez sur Continuer.
    5. Sélectionnez Pipeline vide, puis Continuer.
    6. Cliquez sur + en regard de Travail d'agent 1, puis recherchez NuGet et cliquez sur Ajouter.
    7. Sélectionnez NuGet restore à partir des tâches et orientez-le vers le fichier de solution. Sous Chemin d'accès à la solution, packages.config ou project.json, accédez au fichier .sln approprié.
    8. Cliquez sur + en regard de Travail d'agent 1 pour ajouter la première étape. Cliquez sur Build, puis sur Visual Studio Build et sur Ajouter.
    9. Cliquez sur Solution Build **/*.sln et dirigez-le vers le fichier de solution. Dans le champ Solution, accédez au fichier .sln approprié.
    10. Cliquez sur Enregistrer et mettre en file d'attente pour tester la génération.

      Tandis que vous apportez des ajustements à la génération, ajoutez des commentaires qui reflètent ces modifications. Dès que vous cliquez sur Enregistrer et mettre en file d'attente, le numéro de génération se met à jour.

Utilisation du plug-in Azure DevOps/TFS

Ajout d'un test de sécurité

Pour ajouter un test de sécurité à un processus de construction dans Azure DevOps/TFS :
  1. Choisissez l'une des options suivantes :
    • Pour Azure DevOps Services, choisissez Pipelines > Générations dans le menu de la page d'accueil de votre projet.
    • Pour TFS, choisissez Génération et édition > Générations.
  2. Modifiez le pipeline où vous voulez ajouter le test de sécurité.
  3. Dans l'onglet Tasks, cliquez sur + pour ajouter une tâche.
  4. Localisez la tâche en tant qu'HCL AppScan on Cloud, puis cliquez sur Ajouter.
  5. Dans votre processus de génération, cliquez sur la tâche Exécuter le test de sécurité HCL AppScan on Cloud nouvellement ajoutée.
  6. Spécifiez les Task Settings.
    1. Tapez une chaîne de caractères pour Display Name.

      Elle deviendra le nom de la tâche dans le processus de génération.

    2. Sélectionnez les référentiels appropriés dans la liste.

      Si le champ Credentials est vide, voir Ajout d'un nouveau point d'extrémité de service.

    3. Sélectionnez une application dans la liste Application.

      Le menu déroulant Application est rempli en fonction des informations d'identification sélectionnées.

    4. Tapez un nom pour l'examen dans le champ Scan Name. Facultatif.

      Il s'agira du nom de l'examen dans le service.

    5. Sélectionnez un type d'examen dans la liste Type d'examen :
      • Sélectionnez Static Analyzer pour exécuter le test de sécurité de l'analyse statique.
        Tableau 1. Paramètres d'examen Static Analyzer
        Paramètre Description
        Sous-répertoire de référentiel à examiner Saisissez une valeur ou sélectionnez-en une dans la boîte de dialogue du navigateur de fichiers du référentiel (facultatif). Par défaut, le service examine l'ensemble du référentiel. Pour limiter l'analyse à un sous-répertoire, indiquez ici le chemin relatif.
        Options supplémentaires
        Vitesse de l'examen Précisez un niveau d'optimisation d'examen en fonction des besoins et du temps nécessaire :
        • Simple Un examen simple effectue une analyse au niveau de la surface de vos fichiers afin d'identifier les problèmes à résoudre au plus vite. C'est celui qui prend le moins de temps à réaliser.
        • Equilibré : Un examen balanced propose un niveau de détail d'analyse et d'identification des problèmes de sécurité moyen et prend un peu plus de temps que l'examen simple.
        • Profond : Valeur par défaut. Un examen deep réalise une analyse plus complète de vos fichiers afin d'identifier des vulnérabilités. Il prend généralement plus de temps.
        • Complet : Un examen thorough effectue une analyse complète afin de dresser la liste des vulnérabilités la plus exhaustive possible. Il s'agit de l'examen qui prend le plus de temps.
        Remarque : La vitesse d'examen n'est pas nécessairement liée au nombre relatif de vulnérabilités détectées dans le code. Par exemple, une analyse thorough peut exclure les faux positifs qui pourraient être signalés lors d'un examen simple et, par conséquent, signaler moins de vulnérabilités.
      • Sélectionnez Dynamic Analyzer pour effectuer l'analyse d'une application qui s'exécute dans un navigateur.
        Tableau 2. Paramètres d'examen Dynamic Analyzer
        Paramètre Description
        URL de départ

        Entrez l'URL depuis laquelle vous souhaitez que l'examen commence à explorer le site.

        Si vous sélectionnez Options supplémentaires, ces paramètres supplémentaires sont également disponibles :

        Options supplémentaires
        Type de site Indiquez si votre site est un site de Transfert (en cours de développement) ou un site de Production (opérationnel et utilisé), ou sélectionnez S/O.
        Optimisation du test Indiquez un niveau d'optimisation :
        • Sans optimisation (Par défaut) : Examen profond standard. La durée de l'examen est plus longue. Couverture maximale des vulnérabilités.
        • Rapide : Jusqu'à deux fois plus rapide. Couverture de 97% des vulnérabilités.
        • Plus rapide : Jusqu'à cinq fois plus rapide. Couverture de 85% des vulnérabilités.
        • Le plus rapide : Jusqu'à dix fois plus rapide. Couverture de 70 % des vulnérabilités.

        Pour en savoir plus sur l'optimisation du test ainsi que sur la profondeur et la vitesse d'examen associées, voir Optimisation du test.

        Utilisateur de connexion et Mot de passe de connexion Si l'application doit pouvoir se connecter, entrez des données d'identification utilisateur valides.
        Données d'identification tierces si votre application a besoin d'un troisième droit d'accès, entrez-le dans ce champ.
        Presence Si votre application n'est pas sur Internet, entrez votre nom d'instance Presence AppScan. Pour plus d'informations sur la création d'une instance AppScan Presence, voir AppScan Presence.
        Examiner un fichier Si vous avez un fichier d'examen AppScan Standard, entrez le nom de fichier et le chemin d'accès relatifs dans ce champ. Pour en savoir plus sur les fichiers d'examen AppScan Standard, voir Utilisation d'examens ou de modèles AppScan Standard.

        Pour en savoir plus sur les paramètres de l'analyse dynamique, voir Créer un examen (configuration complète).

Options avancées

Les options avancées ne sont pas nécessaires pour utiliser le plug-in Azure DevOps/TFS. Pour paramétrer les propriétés avancées :

  1. Cliquez sur Advanced pour afficher des options supplémentaires.
  2. Cochez la case Email Notification pour recevoir un courrier électronique lorsque l'analyse de sécurité est terminée. Celui-ci sera envoyé à l'adresse électronique associée aux référentiels sélectionnés.
  3. Sélectionnez Exécuter en tant qu'examen personnel pour évaluer la sécurité relative d'une application en développement sans affecter les données d'examen de l'application globale, ou la conformité. La prise en charge des examens personnels n'est pas disponible dans la tâche HCL AppScan dépréciée.
  4. Sélectionnez Autoriser l'intervention par l'équipe d'activation des examens pour permettre à notre équipe d'activation d'examen d'intervenir en cas d'échec de l'examen ou si aucun problème n'est détecté, puis essayez de corriger la configuration. Cela peut retarder le résultat de l'examen. Cette option est sélectionnée par défaut.
  5. Sélectionnez Suspendre le travail jusqu'à la fin de l'analyse de sécurité : Cochez cette case si vous souhaitez que la génération Jenkins attende la disponibilité des résultats de l'analyse de sécurité avant de passer à l'étape suivante du pipeline.
  6. Sélectionnez Echec de la configuration de la génération pour spécifier les conditions qui provoqueront l'échec de la génération en fonction des résultats du test de sécurité. Echec de la configuration de la génération ne sera visible que si l'écran Suspendre le travail jusqu'à la fin de l'analyse de sécurité est sélectionné.
    • Sélectionnez For noncompliance with application policies pour faire échouer la génération si des problèmes de sécurité non conformes aux règles de l'application sélectionnée sont détectés.
    • Sélectionnez When the following conditions are true pour faire échouer la génération en fonction du nombre spécifié de problèmes de sécurité non conformes Total, de gravité critique, élevée, moyenne ou faible. Si plusieurs seuils sont spécifiés, une opération logique OR leur est appliquée à tous.
  7. Une fois la génération terminée, vous pouvez visualiser ou télécharger le rapport d'analyse à partir de l'onglet Application Security Report de la page Build Summary. Ce rapport inclut uniquement les problèmes non conformes.
    Le rapport de sécurité d'application et les journaux de génération irx. (pour les examens statiques) sont également disponibles pour téléchargement via les journaux de génération du pipeline Azure.
    Remarque : Notez que les rapports d'examen ne peuvent pas être téléchargés si l'option Suspendre le travail jusqu'à la fin de l'analyse de sécurité n'est pas sélectionnée. Dans ce cas, vous pouvez télécharger le rapport à partir du portail HCL AppScan On Cloud.

Ajout d'un nouveau point d'extrémité de service

Si, dans Task Settings, le champ Credentials est vide, vous devez configurer le point d'extrémité de service. Pour configurer un point d'extrémité de service pour l'utilisation du plug-in Azure DevOps/TFS :

  1. Dans Task Settings, cliquez sur Manage au-dessus du champ Credentials.
  2. Dans la fenêtre résultante, cliquez sur New Service Endpoint.
  3. Cliquez sur HCL AppScan on Cloud à partir de la liste des nœuds finaux.
  4. Remplissez les détails dans la boîte de dialogue résultante et cliquez sur OK :
    Tableau 3. Propriétés des nœuds d'extrémité de service
    Propriété Valeur
    Nom de la connexion Nom logique de la connexion.
    URL du serveur
    KeyID Procurez-vous un KeyID et un KeySecret au niveau du service AppScan sur Cloud pour le centre de données que vous utilisez :
    KeySecret

Optimisation des examens et analyse des résultats

Comme pour les autres examens, vous pouvez utiliser un fichier de configuration pour optimiser les examens en spécifiant les cibles individuelles à inclure ou à exclure de l'examen, et pour préciser des informations supplémentaires.

Lorsqu'un examen est terminé, AppScan sur Cloud génère un rapport de l'examen. Consultez les informations dans Résultats pour en savoir plus sur les rapports relatifs aux vulnérabilités de sécurité et sur la manière de résoudre les problèmes.