Partager via


Guide d’intégration technique 42Crunch

42Crunch permet une approche standardisée de la sécurisation des API qui automatise l’application de la conformité de la sécurité des API entre les équipes de développement et de sécurité distribuées. La plateforme de sécurité de l’API 42Crunch permet aux développeurs de créer la sécurité à partir de l’environnement de développement intégré (IDE) dans le pipeline CI/CD. Cette approche DevSecOps transparente de la sécurité des API réduit les coûts de gouvernance et accélère la livraison d’API sécurisées.

Approche de test de sécurité

Contrairement aux outils DAST traditionnels utilisés pour analyser des applications web et mobiles, 42Crunch exécute un ensemble de tests qui sont précisément conçus et ciblés sur chaque API en fonction de leur conception spécifique. À l’aide du fichier de définition OpenAPI (autrement dit, Swagger) comme source principale, le moteur Analyse 42Crunch exécute une batterie de tests qui valident la conformité de l’API à la conception prévue. Cette analyse de conformité identifie différents problèmes de sécurité, notamment les 10 principales vulnérabilités OWASP, les codes de réponse incorrects et les violations de schéma. Ces problèmes sont signalés avec un contexte riche, notamment des scénarios d’exploitation possibles et des conseils de correction.

Les analyses peuvent s’exécuter automatiquement dans le cadre d’un pipeline CI/CD ou manuellement via un IDE ou la plateforme Cloud 42Crunch.

Étant donné que la qualité de la spécification de l’API détermine en grande partie la couverture et l’efficacité de l’analyse, il est important de s’assurer que votre spécification OpenAPI est bien définie. L’Audit 42Crunch effectue une analyse statique du fichier de spécification OpenAPI visant à aider le développeur à améliorer la sécurité et la qualité de la spécification. L’audit détermine un score de sécurité composite compris entre 0 et 100 pour chaque fichier de spécification. Lorsque les développeurs corrigent les problèmes de sécurité et sémantique identifiés par l’audit, le score s’améliore. 42Crunch recommande un score d’audit d’au moins 70 avant d’exécuter une analyse de conformité.

Activation

Remarque

Les étapes suivantes vous guident tout au long du processus de configuration de la version gratuite de 42Crunch. Consultez la section FAQ pour en savoir plus sur les différences entre les versions gratuites et payantes de 42Crunch et comment acheter 42Crunch sur la Place de marché Azure.

En s’appuyant sur les services Audit et Analyse 42Crunch, les développeurs peuvent tester et renforcer de façon proactive les API au sein de leurs pipelines CI/CD par le biais de tests statiques et dynamiques des API par rapport aux principaux risques d’API OWASP et aux bonnes pratiques de la spécification OpenAPI. Les résultats de l’analyse de sécurité de 42Crunch sont désormais disponibles dans Defender pour le Cloud, ce qui garantit que les équipes de sécurité centralisées ont une visibilité sur l’intégrité des API au sein de l’expérience de recommandation Defender pour le Cloud et peuvent prendre des mesures de gouvernance en mode natif via les suggestions Defender pour le Cloud.

Connecter vos environnements DevOps à Microsoft Defender pour le cloud

Cette fonctionnalité nécessite la connexion de votre environnement DevOps à Defender pour le cloud.

Consultez Comment intégrer vos organisations GitHub.

Consultez Comment intégrer vos organisations Azure DevOps.

Configurer le service d’audit 42Crunch

L’action Test de sécurité statique de l’API REST localise les contrats d’API REST qui suivent la spécification OpenAPI (OAS, anciennement Swagger) et exécute des vérifications de sécurité approfondies sur ces derniers. La version OAS v2 et v3 est prise en charge, au format JSON et YAML.

L’action est alimentée par Audit de sécurité de l'API de 42Crunch. L’audit de sécurité effectue une analyse statique de la définition d’API qui inclut plus de 300 vérifications sur les meilleures pratiques et les vulnérabilités potentielles sur la façon dont l’API définit les schémas d’authentification, d’autorisation, de transport et de requête/réponse.

Pour les environnements GitHub

Installez le plug-in Audit de sécurité de l’API de 42Crunch dans votre pipeline CI/CD en suivant les étapes ci-dessous :

  1. Connectez-vous à GitHub.

  2. Sélectionnez un dépôt sur lequel configurer l’action GitHub.

  3. Sélectionnez Actions.

  4. Sélectionnez Nouveau workflow.

    Capture d’écran montrant la sélection d’un nouveau workflow.

Pour créer un workflow par défaut :

  1. Choisissez Configurer un workflow vous-même.

  2. Remplacez le nom du workflow main.yaml par 42crunch-audit.yml.

  3. Accédez à https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example.

  4. Copiez l’exemple de workflow complet et collez-le dans l’éditeur de workflow.

    Remarque

    Ce workflow suppose que l’analyse du code GitHub est activée, ce qui est nécessaire pour que les résultats de recherche de sécurité s’affichent dans Defender pour le Cloud. Vérifiez que l’option upload-to-code-scanning est définie sur vrai.

    Capture d’écran montrant l’éditeur de workflow GitHub.

  5. Sélectionnez Valider les modifications. Vous pouvez soit effectuer une validation directe sur la branche principale, soit créer une demande de tirage. Nous vous recommandons de suivre les bonnes pratiques GitHub en créant une demande de tirage, car le workflow par défaut démarre lorsqu’une demande de tirage est ouverte sur la branche principale.

  6. Sélectionnez Actions et vérifiez que la nouvelle action est en cours d’exécution.

    Capture d’écran montrant une nouvelle action en cours d’exécution.

  7. Une fois le workflow terminé, sélectionnez sécurité, puis sélectionnez analyse du code pour afficher les résultats.

  8. Sélectionnez une alerte d’Analyse du code détectée par le Test de sécurité statique de l’API REST 42Crunch. Vous pouvez également filtrer par outil dans l’onglet Analyse du code. Filtrez sur Test de sécurité statique de l’API REST 42Crunch.

    Capture d’écran montrant l’alerte d’analyse du code.

Vous avez maintenant vérifié que les résultats de l’audit s’affichent dans l’analyse du code GitHub. Ensuite, nous vérifions que ces résultats d’audit sont disponibles dans Defender pour le Cloud. L’affichage des résultats dans Defender pour le Cloud peut prendre jusqu’à 30 minutes.

Accédez à Defender pour le cloud :

  1. Sélectionnez Recommandations.
  2. Sélectionner Toutes les suggestions.
  3. Filtrez en recherchant le Test de sécurité de l’API.
  4. Sélectionnez la recommandation les résultats des tests de sécurité des API devraient être résolus dans les référentiels GitHub.

La recommandation sélectionnée affiche toutes les conclusions de l’audit 42Crunch. Vous avez terminé l’intégration pour l’étape d’audit 42Crunch.

Capture d’écran montrant le résumé de l’API.

Pour les environnements Azure DevOps

  1. Installez l’extension Azure DevOps 42Crunch dans votre organisation.

  2. Créez un pipeline dans votre projet Azure DevOps. Pour obtenir un tutoriel sur la création de votre premier pipeline, consultez Créer votre premier pipeline.

  3. Modifiez le pipeline créé en copiant l’extrait de code suivant dans le workflow :

    trigger:
    branches:
       include:
          - main
    
    jobs:
    - job: run_42crunch_audit
       displayName: 'Run Audit'
       pool:
          vmImage: 'ubuntu-latest'
       steps:
          - task: UsePythonVersion@0
          inputs:
             versionSpec: '3.11'
             addToPath: true
             architecture:  x64
          - task: APISecurityAuditFreemium@1
          inputs:
             enforceSQG: false
             sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif'
             exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf'
          - task: PublishBuildArtifacts@1
          displayName: publishAuditSarif
          inputs:
             PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif '
             ArtifactName: 'CodeAnalysisLogs'
             publishLocation: 'Container'
    
  4. Exécutez le pipeline.

  5. Pour garantir la publication correcte des résultats dans Azure DevOps, vérifiez que 42Crunch-AuditReport.sarif est chargé dans les artefacts de build sous le dossier CodeAnalysisLogs.

  6. Vous avez terminé le processus d’intégration. Nous devons vérifier ensuite que les résultats s’affichent dans Defender pour le cloud.

Accédez à Defender pour le cloud :

  1. Sélectionnez Recommandations.
  2. Sélectionner Toutes les suggestions.
  3. Filtrez en recherchant le Test de sécurité de l’API.
  4. Sélectionnez la recommandation Les problèmes détectés durant les tests de sécurité des API dans les référentiels Azure DevOps doivent être résolus.

La recommandation sélectionnée affiche toutes les conclusions de l’audit 42Crunch. Vous avez terminé l’intégration pour l’étape d’audit 42Crunch.

Capture d’écran montrant une recommandation Azure DevOps.

Configurer le service Analyse 42Crunch

API Scan analyse continuellement l’API pour garantir la conformité au contrat OpenAPI et détecter les vulnérabilités au moment du test. Il détecte les 10 principaux problèmes de sécurité des API OWASP au début du cycle de vie de l’API et valide que vos API peuvent gérer des requêtes inattendues.

L’analyse nécessite un point de terminaison d’API en temps réel hors production et les informations d’identification nécessaires (clé API/jeton d’accès). Suivez ces étapes pour configurer Analyse 42Crunch.

Consultez le fichier azure-pipelines-scan.yaml dans le tutoriel pour connaître les tâches spécifiques à ADO.

FAQ

Comment 42Crunch aide-t-il les développeurs à identifier et corriger les problèmes de sécurité des API ?

L'audit de sécurité et l'analyse de conformité de 42Crunch identifient les vulnérabilités potentielles qui existent dans les API dès le début du cycle de développement. Les résultats de l’analyse incluent un contexte enrichi, y compris une description de la vulnérabilité et de l’exploit associé, ainsi que des conseils de correction détaillés. Les analyses peuvent être exécutées automatiquement dans la plateforme CI/CD ou incrémentiellement par le développeur au sein de son IDE via l’une des extensions de l’IDE 42Crunch.

Peut-on utiliser 42Crunch pour appliquer la conformité avec les normes de qualité et de sécurité minimales pour les développeurs ?

Oui. 42Crunch inclut la possibilité d’appliquer la conformité à l’aide de Contrôles de qualité de sécurité (SQG). Les SQG sont constitués de certains critères qui doivent être remplis pour réussir un audit ou une analyse. Par exemple, un SQG permet de veiller à ce qu’un audit ou une analyse comportant un ou plusieurs problèmes dont la gravité est critique ne passent pas. Dans CI/CD, l’audit ou l’analyse 42Crunch peuvent être configurés pour échouer une build si elle ne parvient pas à passer un SQG, ce qui oblige un développeur à résoudre le problème sous-jacent avant d’envoyer (push) son code.

La version gratuite de 42Crunch utilise des SQG par défaut pour l’audit et l’analyse, tandis que la version d’entreprise payante permet la personnalisation des SQG et des balises, ce qui permet d’appliquer des SQG de manière sélective aux regroupements d’API.

Quelles données sont stockées dans le service SaaS de 42Crunch ?

Une version d’évaluation gratuite limitée de l’analyse d’audit et de conformité de sécurité 42Crunch peut être déployée dans CI/CD, ce qui génère des rapports localement sans avoir besoin d’une connexion SaaS 42Crunch. Dans cette version, aucune donnée n’est partagée avec la plateforme 42Crunch.

Pour la version d’entreprise complète de la plateforme 42Crunch, les données suivantes sont stockées dans la plateforme SaaS :

  • Prénom, nom, adresses e-mail des utilisateurs de la plateforme 42Crunch.
  • Fichiers OpenAPI/Swagger (descriptions des API client).
  • Rapports générés pendant les tâches d’analyse d’audit et de conformité de sécurité effectuées par 42Crunch.

Comment 42Crunch est-il concédé sous licence ?

42Crunch est concédé sous licence en fonction d’une combinaison du nombre d’API et du nombre de développeurs approvisionnés sur la plateforme. Pour obtenir des exemples d’offres groupées de tarification, consultez cette description de la Place de marché. Les tarifs personnalisés sont disponibles via des offres privées sur la Place de marché commerciale d’Azure. Pour obtenir un devis personnalisé, contactez mailto:sales@42crunch.com.

Quelle est la différence entre la version gratuite et payante de 42Crunch ?

42Crunch offre à la fois une version gratuite limitée et une version d’entreprise payante de l’analyse d’audit et de conformité de sécurité.

Pour la version gratuite de 42Crunch, les plug-ins CI/CD 42Crunch fonctionnent en mode autonome, sans obligation de se connecter à la plateforme 42Crunch. Les résultats d’audit et d’analyse sont ensuite mis à disposition dans Microsoft Defender pour le Cloud, ainsi que dans la plateforme CI/CD. Les audits et analyses sont limités à 25 exécutions par mois, par dépôt, avec un maximum de 3 dépôts.

Pour la version d’entreprise payante de 42Crunch, les audits et les analyses sont toujours exécutés localement dans CI/CD, mais peuvent être synchronisés avec le service de plateforme 42Crunch, où vous pouvez utiliser plusieurs fonctionnalités avancées, notamment des portes de qualité de sécurité personnalisables, des dictionnaires de données et des balisages. Bien que la version d’entreprise soit concédée sous licence pour un certain nombre d’API, il n’existe aucune limite au nombre d’audits et d’analyses qui peuvent être exécutés tous les mois.

42Crunch est-il disponible sur la Place de marché commerciale d’Azure ?

Oui, 42Crunch est disponible pour l’achat sur la Place de marché commerciale de Microsoft ici.

Notez que les achats de 42Crunch effectués via la Place de marché commerciale d’Azure comptent pour vos engagements minimums de consommation Azure (MACC).

Étapes suivantes

Vue d’ensemble Microsoft Defender pour API