Share via


Technische onboardinghandleiding voor 42Crunch

42Crunch maakt een gestandaardiseerde benadering mogelijk voor het beveiligen van API's waarmee het afdwingen van API-beveiligingsnaleving wordt geautomatiseerd in gedistribueerde ontwikkel- en beveiligingsteams. Het 42Crunch API-beveiligingsplatform biedt ontwikkelaars de mogelijkheid om beveiliging te bouwen vanuit de integrated development environment (IDE) in de CI/CD-pijplijn. Deze naadloze DevSecOps-benadering voor API-beveiliging vermindert de governancekosten en versnelt de levering van beveiligde API's.

Beveiligingstestbenadering

In tegenstelling tot traditionele DAST-hulpprogramma's die worden gebruikt voor het scannen van web- en mobiele toepassingen, voert 42Crunch een reeks tests uit die nauwkeurig zijn gemaakt en gericht op elke API op basis van hun specifieke ontwerp. Met behulp van het OpenAPI-definitiebestand (dat wil gezegd Swagger) als primaire bron, voert de 42Crunch Scan-engine een batterij van tests uit die valideren hoe nauw de API voldoet aan het beoogde ontwerp. Deze Conformance Scan identificeert verschillende beveiligingsproblemen, waaronder OWASP top 10 beveiligingsproblemen, onjuiste responscodes en schemaschendingen. Deze problemen worden gerapporteerd met uitgebreide context, waaronder mogelijke exploitscenario's en herstelrichtlijnen.

Scans kunnen automatisch worden uitgevoerd als onderdeel van een CI/CD-pijplijn of handmatig via een IDE of het 42Crunch-cloudplatform.

Omdat de kwaliteit van de API-specificatie grotendeels de scandekking en effectiviteit bepaalt, is het belangrijk om ervoor te zorgen dat uw OpenAPI-specificatie goed is gedefinieerd. 42Crunch Audit voert een statische analyse uit van het OpenAPI-specificatiebestand dat is gericht op het helpen van de ontwikkelaar om de beveiliging en kwaliteit van de specificatie te verbeteren. De controle bepaalt een samengestelde beveiligingsscore van 0-100 voor elk specificatiebestand. Naarmate ontwikkelaars beveiligings- en semantische problemen oplossen die door de audit worden geïdentificeerd, verbetert de score. 42Crunch raadt een auditscore aan van ten minste 70 voordat een Conformance-scan wordt uitgevoerd.

Activering

Notitie

De volgende stappen doorlopen het proces voor het instellen van de gratis versie van 42Crunch. Zie de sectie Veelgestelde vragen voor meer informatie over de verschillen tussen de gratis en betaalde versies van 42Crunch en het aanschaffen van 42Crunch op de Azure Marketplace.

Door te vertrouwen op de 42Crunch Audit - en Scan-services , kunnen ontwikkelaars api's proactief testen en beveiligen binnen hun CI/CD-pijplijnen door middel van statische en dynamische tests van API's op basis van de belangrijkste OWASP API-risico's en best practices voor OpenAPI-specificatie. De resultaten van de beveiligingsscan van 42Crunch zijn nu beschikbaar in Defender voor Cloud, waardoor centrale beveiligingsteams inzicht hebben in de status van API's binnen de Defender voor Cloud aanbevelingservaring en governancestappen kunnen uitvoeren die systeemeigen beschikbaar zijn via Defender voor Cloud aanbevelingen.

Uw DevOps-omgevingen verbinden met Microsoft Defender voor Cloud

Voor deze functie moet u uw DevOps-omgeving verbinden met Defender voor Cloud.

Ontdek hoe u uw GitHub-organisaties kunt onboarden.

Ontdek hoe u uw Azure DevOps-organisaties kunt onboarden.

42Crunch Audit-service configureren

Met de REST API Static Security Testing-actie worden REST API-contracten gevonden die voldoen aan de OpenAPI-specificatie (OAS, voorheen Swagger genoemd) en worden er grondige beveiligingscontroles op uitgevoerd. Zowel OAS v2 als v3 worden ondersteund, zowel in JSON- als YAML-indeling.

De actie wordt mogelijk gemaakt door 42Crunch API Security Audit. Beveiligingscontrole voert een statische analyse uit van de API-definitie met meer dan 300 controles op best practices en mogelijke beveiligingsproblemen over hoe de API verificatie-, autorisatie-, transport- en aanvraag-/antwoordschema's definieert.

Voor GitHub-omgevingen

Installeer de 42Crunch API Security Audit-invoegtoepassing in uw CI/CD-pijplijn door de volgende stappen uit te voeren:

  1. Meld u aan bij GitHub.

  2. Selecteer een opslagplaats waarnaar u de GitHub-actie wilt configureren.

  3. Selecteer Acties.

  4. Selecteer Nieuwe werkstroom.

    Schermopname van de nieuwe werkstroomselectie.

Een nieuwe standaardwerkstroom maken:

  1. Kies Zelf een werkstroom instellen.

  2. Wijzig de naam van de werkstroom in main.yaml 42crunch-audit.yml.

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

  4. Kopieer de volledige voorbeeldwerkstroom en plak deze in de werkstroomeditor.

    Notitie

    In deze werkstroom wordt ervan uitgegaan dat u GitHub Code Scannen hebt ingeschakeld. Dit is vereist voor de resultaten van het zoeken naar beveiliging om weer te geven in Defender voor Cloud. Zorg ervoor dat de optie voor het scannen van uploaden naar code is ingesteld op true.

    Schermopname van de GitHub-werkstroomeditor.

  5. Selecteer Wijzigingen doorvoeren. U kunt rechtstreeks doorvoeren naar de hoofdbranch of een pull-aanvraag maken. We raden u aan om aanbevolen procedures voor GitHub te volgen door een pull-aanvraag te maken, omdat de standaardwerkstroom wordt gestart wanneer een pull-aanvraag wordt geopend voor de hoofdbranch.

  6. Selecteer Acties en controleer of de nieuwe actie wordt uitgevoerd.

    Schermopname van de nieuwe actie die wordt uitgevoerd.

  7. Nadat de werkstroom is voltooid, selecteert u Beveiliging en selecteert u Codescan om de resultaten weer te geven.

  8. Selecteer een waarschuwing voor het scannen van code die is gedetecteerd door 42Crunch REST API Static Security Testing. U kunt ook filteren op hulpprogramma op het tabblad Code scannen. Filter op 42Crunch REST API Static Security Testing.

    Schermopname van een waarschuwing voor het scannen van code.

U hebt nu gecontroleerd of de controleresultaten worden weergegeven in GitHub Code Scanning. Vervolgens controleren we of deze controleresultaten beschikbaar zijn binnen Defender voor Cloud. Het kan tot 30 minuten duren voordat de resultaten in Defender voor Cloud worden weergegeven.

Ga naar Defender voor Cloud:

  1. Selecteer Aanbevelingen.
  2. Selecteer Alle aanbevelingen.
  3. Filter door te zoeken naar API-beveiligingstests.
  4. Selecteer de aanbeveling voor GitHub-opslagplaatsen waarvoor api-beveiligingstests moeten zijn opgelost.

De geselecteerde aanbeveling toont alle resultaten van 42Crunch Audit. U hebt de onboarding voor de 42Crunch Audit-stap voltooid.

Schermopname van api-samenvatting.

Voor Azure DevOps-omgevingen

  1. Installeer de Azure DevOps-extensie 42Crunch in uw organisatie.

  2. Maak een nieuwe pijplijn in uw Azure DevOps-project. Zie Uw eerste pijplijn maken voor een zelfstudie voor het maken van uw eerste pijplijn.

  3. Bewerk de gemaakte pijplijn door deze te kopiëren in de volgende werkstroom:

    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. Voer de pijplijn uit.

  5. Als u wilt controleren of de resultaten correct worden gepubliceerd in Azure DevOps, controleert u of 42Crunch-AuditReport.sarif wordt geüpload naar de Build Artifacts in de map CodeAnalysisLogs .

  6. U hebt het onboardingproces voltooid. Vervolgens controleren we of de resultaten worden weergegeven in Defender voor Cloud.

Ga naar Defender voor Cloud:

  1. Selecteer Aanbevelingen.
  2. Selecteer Alle aanbevelingen.
  3. Filter door te zoeken naar API-beveiligingstests.
  4. Selecteer de aanbeveling voor AzureDevOps-opslagplaatsen waarvoor api-beveiligingstests moeten zijn opgelost.

De geselecteerde aanbeveling toont alle resultaten van 42Crunch Audit. U hebt de onboarding voor de 42Crunch Audit-stap voltooid.

Schermopname van azure DevOps-aanbeveling.

42Crunch Scan-service configureren

API Scan scant voortdurend de API om ervoor te zorgen dat het OpenAPI-contract voldoet en beveiligingsproblemen tijdens het testen detecteert. Het detecteert OWASP API Security Top 10-problemen vroeg in de API-levenscyclus en valideert dat uw API's onverwachte aanvragen kunnen verwerken.

Voor de scan is een niet-productie-live-API-eindpunt en de vereiste referenties (API-sleutel/toegangstoken) vereist. Volg deze stappen om de 42Crunch Scan te configureren.

Raadpleeg de azure-pipelines-scan.yaml in de zelfstudie voor de specifieke ADO-taken.

Veelgestelde vragen

Hoe kunnen ontwikkelaars met 42Crunch problemen met API-beveiliging identificeren en oplossen?

De 42Crunch security Audit and Conformance scan identificeert potentiële beveiligingsproblemen die al vroeg in de ontwikkelingslevenscyclus in API's bestaan. Scanresultaten bevatten uitgebreide context, waaronder een beschrijving van het beveiligingsprobleem en de bijbehorende exploit, en gedetailleerde richtlijnen voor herstel. Scans kunnen automatisch worden uitgevoerd in het CI/CD-platform of incrementeel door de ontwikkelaar binnen hun IDE via een van de 42Crunch IDE-extensies.

Kan 42Crunch worden gebruikt om naleving van minimale kwaliteits- en beveiligingsstandaarden af te dwingen voor ontwikkelaars?

Ja. 42Crunch bevat de mogelijkheid om naleving af te dwingen met behulp van SqG (Security Quality Gates). SQG's bestaan uit bepaalde criteria waaraan moet worden voldaan om een controle of scan te kunnen doorgeven. Een SQG kan er bijvoorbeeld voor zorgen dat een controle of scan met een of meer kritieke ernstproblemen niet wordt doorgegeven. In CI/CD kan de 42Crunch Audit of Scan zo worden geconfigureerd dat een build mislukt als er geen SQG wordt doorgegeven, waardoor een ontwikkelaar het onderliggende probleem moet oplossen voordat de code wordt gepusht.

De gratis versie van 42Crunch maakt gebruik van standaard-SQG's voor zowel Audit als Scan, terwijl de betaalde enterprise-versie het aanpassen van SQG's en tags toestaat, waardoor SQG's selectief kunnen worden toegepast op groeperingen van API's.

Welke gegevens worden opgeslagen in de SaaS-service van 42Crunch?

Een beperkte gratis proefversie van de 42Crunch-beveiligingscontrole- en conformantiescan kan worden geïmplementeerd in CI/CD, waarmee rapporten lokaal worden gegenereerd zonder dat er een 42Crunch SaaS-verbinding nodig is. In deze versie worden er geen gegevens gedeeld met het 42Crunch-platform.

Voor de volledige enterprise-versie van het 42Crunch-platform worden de volgende gegevens opgeslagen in het SaaS-platform:

  • Voornaam, achternaam, e-mailadressen van gebruikers van het 42Crunch-platform.
  • OpenAPI-/Swagger-bestanden (beschrijvingen van klant-API's).
  • Rapporten die worden gegenereerd tijdens de beveiligingscontrole- en conformancescantaken die worden uitgevoerd door 42Crunch.

Hoe wordt een licentie voor 42Crunch gegeven?

42Crunch heeft een licentie op basis van een combinatie van het aantal API's en het aantal ontwikkelaars dat op het platform is ingericht. Zie deze marketplace-vermelding voor bijvoorbeeld prijsbundels. Aangepaste prijzen zijn beschikbaar via privéaanbiedingen op de commerciële Marketplace van Azure. Voor een aangepast citaat kunt u contact opnemen met mailto:sales@42crunch.com.

Wat is het verschil tussen de gratis en betaalde versie van 42Crunch?

42Crunch biedt zowel een gratis beperkte versie als een betaalde enterprise-versie van de beveiligingscontrole- en conformancescan.

Voor de gratis versie van 42Crunch werken de 42Crunch CI/CD-invoegtoepassingen zelfstandig, zonder dat u zich hoeft aan te melden bij het 42Crunch-platform. Controle- en scanresultaten worden vervolgens beschikbaar gesteld in Microsoft Defender voor Cloud, evenals binnen het CI/CD-platform. Controles en scans zijn beperkt tot maximaal 25 uitvoeringen per maand, per opslagplaats, met maximaal drie opslagplaatsen.

Voor de betaalde enterprise-versie van 42Crunch worden audits en scans nog steeds lokaal uitgevoerd in CI/CD, maar kunnen ze worden gesynchroniseerd met de 42Crunch-platformservice, waar u verschillende geavanceerde functies kunt gebruiken, waaronder aanpasbare poorten voor beveiligingskwaliteit, gegevenswoordenlijsten en taggen. Hoewel de enterprise-versie een licentie heeft voor een bepaald aantal API's, zijn er geen limieten voor het aantal controles en scans dat maandelijks kan worden uitgevoerd.

Is 42Crunch beschikbaar op de commerciële Marketplace van Azure?

Ja, 42Crunch is hier beschikbaar voor aankoop op de commerciële marketplace van Microsoft.

Houd er rekening mee dat aankopen van 42Crunch die via de commerciële Marketplace van Azure worden gedaan, meegeteld voor uw Minimale Azure Consumption Commitments (MACC).

Volgende stappen

Overzicht van Microsoft Defender voor API's