Freigeben über


42Crunch: Technischer Leitfaden zum Onboarding

42Crunch ermöglicht einen standardisierten Ansatz zum Sichern von APIs, der die Erzwingung der API-Sicherheitskonformität über verteilte Entwicklungs- und Sicherheitsteams hinweg automatisiert. Mithilfe der API-Sicherheitsplattform 42Crunch können Entwickler*innen die Sicherheit in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) in die CI/CD-Pipeline (Continuous Integration und Continuous Delivery) integrieren. Dieser nahtlose DevSecOps-Ansatz für die API-Sicherheit reduziert die Governancekosten und beschleunigt die Bereitstellung sicherer APIs.

Vorgehen für Sicherheitstests

Im Gegensatz zu herkömmlichen Tools für dynamische Anwendungssicherheitstests (Dynamic Application Security Testing, DAST), die zum Überprüfen von Webanwendungen und mobilen Anwendungen verwendet werden, führt 42Crunch eine Reihe von Tests aus, die eigens für den spezifischen Entwurf jeder API erstellt werden und genau auf diesen ausgerichtet sind. Mit der OpenAPI-Definitionsdatei (d. h. Swagger) als primäre Quelle führt die 42Crunch-Überprüfungs-Engine eine ganze Batterie von Tests aus, mit denen überprüft wird, wie genau die API dem beabsichtigten Entwurf entspricht. Die Konformitätsüberprüfung Conformance Scanermittelt verschiedene Sicherheitsprobleme, darunter die zehn wichtigsten von OWASP (Open Web Application Security Project) identifizierten Sicherheitsrisiken, fehlerhafte Antwortcodes und Schemaverletzungen. Diese Probleme werden mit umfassendem Kontext gemeldet, einschließlich möglicher Exploitszenarien und Anleitungen zur Wartung bzw. Behebung des Problems.

Überprüfungen können automatisch als Teil einer CI/CD-Pipeline oder manuell über eine IDE oder die 42Crunch-Cloudplattform ausgeführt werden.

Die Abdeckung und die Effektivität der Überprüfungen hängen weitgehend von der Qualität der API-Spezifikation ab. Stellen Sie daher unbedingt sicher, dass Ihre OpenAPI-Spezifikation gut definiert ist. Der 42Crunch-Überwachungsdienst Audit führt eine statische Analyse der OpenAPI-Spezifikationsdatei durch, die Entwickler*innen dabei hilft, die Sicherheit und Qualität der Spezifikation zu verbessern. Audit ermittelt für jede Spezifikationsdatei eine zusammengefasste Sicherheitsbewertung zwischen 0 und 100. Wenn Entwickler*innen von Audit identifizierte Sicherheitsprobleme und semantische Probleme beheben, verbessert sich die Bewertung. 42Crunch empfiehlt eine Audit-Bewertung von mindestens 70, bevor eine Konformitätsüberprüfung mit Conformance Scan ausgeführt wird.

Aktivierung

Hinweis

Die folgenden Schritte beschreiben, wie Sie die kostenlose Version von 42Crunch einrichten. Informationen zu den Unterschieden zwischen der kostenlosen und der kostenpflichtigen Version von 42Crunch und zum Kauf von 42Crunch auf dem Azure Marketplace finden Sie im Abschnitt mit den häufig gestellten Fragen.

Mit den 42Crunch-Diensten Audit und Scan können Entwickler APIs in ihren CI/CD-Pipelines proaktiv testen und härten, indem sie statische und dynamische API-Tests im Hinblick auf die wichtigsten OWASP-API-Risiken und bewährte Methoden für OpenAPI-Spezifikationen durchführen. Die Ergebnisse der Sicherheitsüberprüfung von 42Crunch sind jetzt in Defender for Cloud verfügbar. Dadurch wird sichergestellt, dass zentrale Sicherheitsteams auf der Oberfläche mit den Defender for Cloud-Empfehlungen Einblick in die Integrität von APIs haben und Governanceschritte durchführen können, die nativ über Defender for Cloud-Empfehlungen verfügbar sind.

Verbinden Ihrer DevOps-Umgebungen mit Microsoft Defender for Cloud

Dieses Feature erfordert, dass Sie Ihre DevOps-Umgebung mit Defender for Cloud verbinden.

Erfahren Sie, wie Sie das Onboarding für Ihre GitHub-Organisationen durchführen.

Erfahren Sie, wie Sie das Onboarding für Ihre Azure DevOps-Organisationen durchführen.

Konfigurieren des Audit-Diensts von 42Crunch

Die Aktion „REST API Static Security Testing“ sucht nach REST-API-Verträgen, die der OpenAPI-Spezifikation (OAS, früher Swagger) entsprechen, und führt gründliche Sicherheitsüberprüfungen für sie aus. Sowohl OAS v2 als auch v3 werden im JSON- und im YAML-Format unterstützt.

Die Aktion wird von der API-Sicherheitsüberwachung 42Crunch API Security Audit unterstützt. Security Audit führt eine statische Analyse der API-Definition durch. Diese Analyse umfasst mehr als 300 Überprüfungen in Bezug auf bewährte Methoden und potenzielle Sicherheitsrisiken, durch die ermittelt wird, wie die API Authentifizierung, Autorisierung, Datentransport sowie Anforderungs-/Antwortschemas definiert.

Für GitHub-Umgebungen

Führen Sie die folgenden Schritte aus, um das Plug-In „42Crunch API Security Audit“ in Ihrer CI/CD-Pipeline (Continuous Integration und Continuous Delivery) zu installieren:

  1. Melden Sie sich bei GitHub an.

  2. Wählen Sie ein Repository aus, für das Sie die GitHub-Aktion konfigurieren möchten.

  3. Wählen Sie Actions aus.

  4. Wählen Sie Neuer Workflow aus.

    Screenshot: Auswählen von „Neuer Workflow“

So erstellen Sie einen neuen Standardworkflow

  1. Wählen Sie Workflow selber einrichten aus.

  2. Benennen Sie den Workflow von main.yaml in 42crunch-audit.yml um.

  3. Wechseln Sie zu https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example.

  4. Kopieren Sie den vollständigen Beispielworkflow, und fügen Sie ihn in den Workflow-Editor ein.

    Hinweis

    Bei diesem Workflow wird davon ausgegangen, dass Sie GitHub Code Scanning aktiviert haben. Falls dies aktiviert ist, stellen Sie sicher, dass die Option upload-to-code-scanning auf true festgelegt ist. Falls GitHub Code Scanning nicht aktiviert ist, stellen Sie sicher, dass die Option upload-to-code-scanning auf false festgelegt ist. Führen Sie dann die zusätzlichen Schritte aus, die unten im Abschnitt Aktivieren der Integration von Defender for Cloud ohne GitHub Code Scanning beschrieben sind.

    Screenshot: GitHub-Workflow-Editor

  5. Wählen Sie Commit changes (Änderungen committen) aus. Sie können entweder direkt einen Commit in den Mainbranch ausführen oder einen Pull Request (PR) erstellen. Wir empfehlen, entsprechend den bewährten Methoden von GitHub einen PR zu erstellen, da der Standardworkflow gestartet wird, wenn ein PR für den Mainbranch geöffnet wird.

  6. Wählen Sie Actions (Aktionen) aus, und überprüfen Sie, ob die neue Aktion ausgeführt wird.

    Screenshot: Ausführen der neuen Aktion

  7. Wählen Sie nach Abschluss des Workflows Security und dann Code scanning aus, um die Ergebnisse anzuzeigen.

  8. Wählen Sie eine Codeüberprüfungswarnung aus, die von den statischen REST-API-Sicherheitstests von 42Crunch (42Crunch REST API Static Security Testing) erkannt wurde. Sie können die Ergebnisse auf der Registerkarte „Code scanning“ auch nach Tool filtern. Filtern Sie nach 42Crunch REST API Static Security Testing.

    Screenshot: Codeüberprüfungswarnung

Sie haben sich jetzt vergewissert, dass die Ergebnisse des Audits im GitHub-Codescannen angezeigt werden. Als Nächstes überprüfen Sie, ob diese Audit-Ergebnisse in Defender for Cloud verfügbar sind. Es kann bis zu 30 Minuten dauern, bis Ergebnisse in Defender for Cloud angezeigt werden.

Aktivieren der Integration von Defender for Cloud ohne GitHub Code Scanning

Wenn Sie nicht über GitHub Code Scanning für Ihre Umgebung verfügen und Ergebnisse der Sicherheitsprüfung aus 42Crunch in Defender for Cloud integrieren möchten, können Sie diesen Schritten folgen. Nachdem Sie den 42Crunch-Workflowschritt hinzugefügt haben, fügen Sie Ihrem GitHub-Workflow die folgenden Schritte hinzu, um die Prüfungsergebnisse mithilfe der GitHub-Aktion für Microsoft Security DevOps direkt an Defender for Cloud zu senden.

- name: save-sarif-report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: 42Crunch_AuditReport_${{ github.run_id }}
          path: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
          if-no-files-found: error
- name: Upload results to MSDO
        uses: microsoft/security-devops-action@v1
        id: msdo
        with:
          existingFilename: 42Crunch_AuditReport_${{ github.run_id }}.SARIF

Fügen Sie dem Workflow dann eine zusätzliche Berechtigung hinzu, indem Sie id-token auf write festlegen.

Nach dem Ausführen des Workflows kann es bis zu 30 Minuten dauern, bis Ergebnisse in Defender for Cloud angezeigt werden.

  1. Wählen Sie Empfehlungen aus.
  2. Wählen Sie Alle Empfehlungen aus.
  3. Filtern Sie die Anzeige, indem Sie nach API-Sicherheitstest suchen.
  4. Wählen Sie die Empfehlung Für GitHub-Repositorys müssen Ergebnisse des API-Sicherheitstests angewendet werden aus.

Die ausgewählte Empfehlung zeigt alle Audit-Ergebnisse von 42Crunch an. Sie haben das Onboarding für den Schritt „42Crunch Audit“ abgeschlossen.

Screenshot: API-Zusammenfassung

Für Azure DevOps-Umgebungen

  1. Installieren Sie die 42Crunch-Erweiterung für Azure DevOps in Ihrer Organisation.

  2. Erstellen Sie eine neue Pipeline in Ihrem Azure DevOps-Projekt. Ein Tutorial zum Erstellen Ihrer ersten Pipeline finden Sie unter Erstellen Ihrer ersten Pipeline.

  3. Bearbeiten Sie die erstellte Pipeline, indem Sie den folgenden Workflow in die Pipeline kopieren:

    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. Ausführen der Pipeline.

  5. Um sicherzustellen, dass die Ergebnisse korrekt in Azure DevOps veröffentlicht werden, überprüfen Sie, ob 42Crunch-AuditReport.sarif in die Buildartefakte unter dem Ordner CodeAnalysisLogs hochgeladen wird.

  6. Sie haben den Onboardingprozess abgeschlossen. Als Nächstes überprüfen Sie, ob die Ergebnisse in Defender for Cloud angezeigt werden.

Navigieren Sie zu Defender for Cloud:

  1. Wählen Sie Empfehlungen aus.
  2. Wählen Sie Alle Empfehlungen aus.
  3. Filtern Sie die Anzeige, indem Sie nach API-Sicherheitstest suchen.
  4. Wählen Sie die Empfehlung Für AzureDevOps-Repositorys müssen beim API-Sicherheitstest festgestellte Probleme behoben werden aus.

Die ausgewählte Empfehlung zeigt alle Audit-Ergebnisse von 42Crunch an. Sie haben das Onboarding für den Schritt „42Crunch Audit“ abgeschlossen.

Screenshot: Azure DevOps-Empfehlung

Konfigurieren des Scan-Diensts von 42Crunch

API Scan überprüft die API kontinuierlich, um die Konformität mit dem OpenAPI-Vertrag sicherzustellen und Sicherheitsrisiken zur Testzeit zu erkennen. Das Tool erkennt frühzeitig im API-Lebenszyklus die zehn wichtigsten von OWASP identifizierten API-Sicherheitsprobleme und überprüft, ob Ihre APIs unerwartete Anforderungen behandeln können.

Der Scan erfordert einen nicht produktiven API-Liveendpunkt und die notwendigen Anmeldeinformationen (API-Schlüssel/Zugriffstoken). Führen Sie folgende Schritte aus, um 42Crunch Scan zu konfigurieren.

Informationen zu den ADO-spezifischen Aufgaben (ActiveX Data Objects) finden Sie in der Datei azure-pipelines-scan.yaml im Tutorial.

Häufig gestellte Fragen

Wie hilft 42Crunch Entwickler*innen, API-Sicherheitsprobleme zu identifizieren und zu beheben?

42Crunch Security Audit und Conformance Scan identifizieren frühzeitig im Entwicklungslebenszyklus potenzielle Sicherheitsrisiken in APIs. Die Überprüfungsergebnisse enthalten umfangreiche Kontextinformationen, darunter eine Beschreibung des Sicherheitsrisikos und des zugehörigen Exploits sowie detaillierte Anleitungen zur Behebung des Problems. Überprüfungen können automatisch in der CI/CD-Plattform oder inkrementell von Entwickler*innen innerhalb ihrer IDE über eine der 42Crunch-IDE-Erweiterungen ausgeführt werden.

Kann 42Crunch verwendet werden, um die Konformität mit Mindestqualitäts- und -sicherheitsstandards für Entwickler*innen zu erzwingen?

Ja. 42Crunch bietet die Möglichkeit, die Konformität mithilfe von Sicherheitsqualitätsstufen (Security Quality Gate, SQG) zu erzwingen. SQGs bestehen aus bestimmten Kriterien, die erfüllt werden müssen, um eine Audit oder einen Scan erfolgreich zu bestehen. Beispielsweise kann eine SQG sicherstellen, dass ein Audit oder ein Scan, bei denen ein oder mehrere Probleme mit kritischem Schweregrad festgestellt werden, nicht bestanden wird. In CI/CD können die Audit- oder Scan-Dienste von 42Crunch so konfiguriert werden, dass ein Buildvorgang fehlschlägt, wenn eine SQG nicht erfüllt wird. Entwickler*innen müssen dann das zugrunde liegende Problem beheben, bevor sie ihren Code pushen können.

Die kostenlose Version von 42Crunch verwendet Standard-SQGs für Audit und Scan. Die kostenpflichtige Enterprise-Version ermöglicht dagegen die Anpassung von SQGs und Tags, sodass SQGs selektiv auf Gruppierungen von APIs angewendet werden können.

Welche Daten werden im SaaS-Dienst von 42Crunch gespeichert?

In CI/CD kann eine eingeschränkte kostenlose Testversion von 42Crunch Security Audit und Conformance Scan bereitgestellt werden. Diese Version generiert Berichte lokal, ohne dass eine Verbindung mit dem SaaS-Dienst von 42Crunch erforderlich ist. In dieser Version werden keine Daten mit der 42Crunch-Plattform geteilt.

Bei der vollständigen Enterprise-Version der 42Crunch-Plattform werden die folgenden Daten in der SaaS-Plattform gespeichert:

  • Vorname, Nachname, E-Mail-Adressen von Benutzer*innen der 42Crunch-Plattform.
  • OpenAPI-/Swagger-Dateien (Beschreibungen von Kunden-APIs).
  • Berichte, die während der von 42Crunch ausgeführten Security Audit- und Conformance Scan-Aufgaben generiert werden.

Wie wird 42Crunch lizenziert?

42Crunch wird basierend auf einer Kombination aus der Anzahl von APIs und der Anzahl von Entwickler*innen lizenziert, die auf der Plattform bereitgestellt werden. Beispiele für Preispakete finden Sie in dieser Marketplace-Auflistung. Kundenspezifische Preise sind über private Angebote auf dem kommerziellen Azure Marketplace verfügbar. Wenden Sie sich an mailto:sales@42crunch.com, um ein individuelles Angebot zu erhalten.

Was ist der Unterschied zwischen der kostenlosen und der kostenpflichtigen Version von 42Crunch?

42Crunch bietet sowohl eine kostenlose eingeschränkte Version als auch eine kostenpflichtige Enterprise-Version von Security Audit und Conformance Scan an.

Bei der kostenlosen Version von 42Crunch werden die 42Crunch-CI/CD-Plug-Ins eigenständig ausgeführt, und es ist keine Anmeldung bei der 42Crunch-Plattform erforderlich. Überwachungs- und Überprüfungsergebnisse werden dann in Microsoft Defender for Cloud sowie innerhalb der CI/CD-Plattform verfügbar gemacht. Audits und Scans sind auf jeweils auf maximal 25 Ausführungen pro Monat und Repository beschränkt, mit einem Maximum von drei Repositorys.

Bei der kostenpflichtigen Enterprise-Version von 42Crunch werden Überwachungen und Überprüfungen ebenfalls lokal in CI/CD ausgeführt, sie können aber mit dem 42Crunch-Plattformdienst synchronisiert werden, wo Sie verschiedene erweiterte Features verwenden können, einschließlich anpassbarer Sicherheitsqualitätsstufen (SQGs), Datenwörterbücher und Tagging. Die Enterprise-Version wird zwar für eine bestimmte Anzahl von APIs lizenziert, die Anzahl von Überwachungen und Überprüfungen, die pro Monat ausgeführt werden können, ist jedoch nicht begrenzt.

Ist 42Crunch auf dem kommerziellen Azure Marketplace verfügbar?

Ja. 42Crunch ist hier auf dem kommerziellen Azure Marketplace zum Kauf verfügbar.

Beachten Sie, dass 42Crunch-Käufe über den kommerziellen Azure Marketplace auf Ihre Azure-Mindestabnahme (Minimum Azure Consumption Commitments, MACC) angerechnet werden.

Nächste Schritte

Übersicht: Microsoft Defender für APIs