42Crunch: Technischer Leitfaden zum Onboarding

Overview

42Crunch ermöglicht einen standardisierten Ansatz zum Sichern von APIs, der die Erzwingung der API-Sicherheitskonformität über verteilte Entwicklungs- und Sicherheitsteams hinweg automatisiert. Die 42Crunch API-Sicherheitsplattform ermöglicht es Entwickler*innen, Sicherheit von der integrierten Entwicklungsumgebung (IDE) bis in die CI/CD-Pipeline zu 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.

Aktivieren Sie 42Crunch in Microsoft Defender for Cloud

Note

Die folgenden Schritte beschreiben, wie Sie die kostenlose Version von 42Crunch einrichten. Im Abschnitt "Häufig gestellte Fragen " erfahren Sie mehr über die Unterschiede zwischen den kostenlosen und kostenpflichtigen Versionen von 42Crunch und dem Kauf von 42Crunch auf Azure Marketplace.

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 Sicherheitsscans von 42Crunch sind jetzt in Defender for Cloud verfügbar. Dadurch wird sichergestellt, dass zentrale Sicherheitsteams innerhalb der Empfehlungsansicht von Defender for Cloud Einblick in den Sicherheitsstatus von APIs haben und Governance-Maßnahmen ergreifen können, die in Defender for Cloud-Empfehlungen nativ verfügbar sind.

Verbinden Ihrer DevOps-Umgebungen mit Microsoft Defender for Cloud

Das Anzeigen der 42Crunch-Scan-Ergebnisse in Defender for Cloud erfordert die Verbindung Ihrer DevOps-Umgebung mit Defender for Cloud.

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

Informationen dazu finden Sie unter So binden Sie Ihre Azure DevOps-Organisationen ein.

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.

42Crunch-Audit für GitHub-Umgebungen konfigurieren

Installieren Sie das Plugin „42Crunch API Security Audit“ innerhalb Ihrer CI/CD-Pipeline, indem Sie die folgenden Schritte ausführen:

  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 Aktionen aus.

  4. Wählen Sie Neuer Workflow aus.

    Screenshot mit der Auswahl eines neuen Workflows.

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. Gehen Sie zum 42Crunch REST API Static Security Testing Full-Workflow-Beispiel.

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

    Note

    Bei diesem Workflow wird davon ausgegangen, dass Sie GitHub Code Scanning aktiviert haben. Falls es aktiviert ist, stellen Sie sicher, dass die Option upload-to-code-scanning auf true festgelegt ist. Wenn GitHub Code Scanning nicht aktiviert ist, setzen Sie upload-to-code-scanning auf false, und führen Sie die Schritte unter Defender for Cloud-Integration ohne GitHub Code Scanning aktivieren aus.

    Screenshot mit dem Editor für GitHub-Workflows.

  5. Wählen Sie Änderungen übernehmen. 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 "Aktionen" aus, und überprüfen Sie, ob die neue Aktion ausgeführt wird.

    Screenshot mit neuer Aktion in Ausführung.

  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 mit einer Warnung bei der Codeüberprüfung.

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 keine GitHub-Codeüberprüfung für Ihre Umgebung haben und Sicherheitsscanergebnisse aus 42Crunch in Defender für Cloud integrieren möchten, können Sie diese Schritte ausführen. 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 als Nächstes die erforderliche Berechtigung zum Workflow hinzu, indem Sie das id-Token für das Schreiben festlegen.

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

Um die Ergebnisse des 42Crunch-Audits in Defender for Cloud einzusehen, führen Sie die folgenden Schritte aus:

  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 GitHub-Repositorys sollten Erkenntnisse aus API-Sicherheitstests behoben haben 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

Configure 42Crunch Audit for Azure DevOps environments

Um 42Crunch Audit in Azure DevOps zu konfigurieren, führen Sie die folgenden Schritte aus:

  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). Siehe das 42Crunch API-Sicherheitstutorial , um den 42Crunch Scan zu konfigurieren.

Siehe die azure-pipelines-scan.yaml-Datei im 42Crunch API Security Tutorial für die Azure DevOps-spezifischen Aufgaben.

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 Einhaltung mithilfe von Security Quality Gates (SQG) durchzusetzen. 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. Zum Beispiel Preispakete siehe die Marktplatzliste 42Crunch Developer-First API Security Platform. 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 Scanergebnisse werden dann in Microsoft Defender für Cloud und innerhalb der CI/CD-Plattform zur Verfügung gestellt. 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 auf dem 42Crunch Developer-First API Security Platform Angebot auf Microsoft-Marketplace erhältlich.

Käufe von 42Crunch, die über den kommerziellen Azure Marketplace getätigt wurden, zählen zu Ihren Mindestens-Azure-Verbrauchsverpflichtungen (MACC).

Nächste Schritte