Teknisk registreringsguide för 42Crunch
42Crunch möjliggör en standardiserad metod för att skydda API:er som automatiserar tillämpningen av API-säkerhetsefterlevnad i distribuerade utvecklings- och säkerhetsteam. 42Crunch API-säkerhetsplattformen ger utvecklare möjlighet att skapa säkerhet från den integrerade utvecklingsmiljön (IDE) till CI/CD-pipelinen. Den här sömlösa DevSecOps-metoden för API-säkerhet minskar styrningskostnaderna och påskyndar leveransen av säkra API:er.
Metod för säkerhetstestning
Till skillnad från traditionella DAST-verktyg som används för att skanna webb- och mobilprogram, kör 42Crunch en uppsättning tester som är exakt utformade och riktade mot varje API baserat på deras specifika design. Med hjälp av OpenAPI-definitionsfilen (d.v.s. Swagger) som primär källa kör 42Crunch Scan-motorn ett batteri med tester som verifierar hur nära API:et överensstämmer med den avsedda designen. Den här överensstämmelsegenomsökningen identifierar olika säkerhetsproblem, inklusive OWASP:s 10 främsta sårbarheter, felaktiga svarskoder och schemaöverträdelser. Dessa problem rapporteras med omfattande kontext, inklusive möjliga sårbarhetsscenarier och reparationsvägledning.
Genomsökningar kan köras automatiskt som en del av en CI/CD-pipeline eller manuellt via en IDE eller 42Crunch-molnplattformen.
Eftersom kvaliteten på API-specifikationen till stor del avgör genomsökningens täckning och effektivitet är det viktigt att se till att Din OpenAPI-specifikation är väldefinierad. 42Crunch Audit utför en statisk analys av OpenAPI-specifikationsfilen som syftar till att hjälpa utvecklaren att förbättra specifikationens säkerhet och kvalitet. Granskning avgör en sammansatt säkerhetspoäng från 0–100 för varje specifikationsfil. När utvecklare åtgärdar säkerhets- och semantiska problem som identifieras av granskningen förbättras poängen. 42Crunch rekommenderar en granskningspoäng på minst 70 innan du kör en överensstämmelsegenomsökning.
Aktivering
Kommentar
Följande steg går igenom processen för att konfigurera den kostnadsfria versionen av 42Crunch. Se avsnittet Vanliga frågor och svar om du vill veta mer om skillnaderna mellan de kostnadsfria och betalda versionerna av 42Crunch och hur du köper 42Crunch på Azure Marketplace.
Genom att förlita sig på 42Crunch-gransknings- och genomsökningstjänster kan utvecklare proaktivt testa och härda API:er i sina CI/CD-pipelines genom statisk och dynamisk testning av API:er mot de främsta OWASP API-riskerna och bästa praxis för OpenAPI-specifikation. Säkerhetsgenomsökningsresultaten från 42Crunch är nu tillgängliga inom Defender för molnet, vilket säkerställer att centrala säkerhetsteam har insyn i hälsotillståndet för API:er inom Defender för molnet rekommendationsupplevelse och kan vidta styrningssteg som är internt tillgängliga via Defender för molnet rekommendationer.
Ansluta dina DevOps-miljöer till Microsoft Defender för molnet
Den här funktionen kräver att du ansluter din DevOps-miljö till Defender för molnet.
Se hur du registrerar dina GitHub-organisationer.
Se hur du registrerar dina Azure DevOps-organisationer.
Konfigurera granskningstjänsten 42Crunch
Rest API Static Security Testing-åtgärden letar upp REST API-kontrakt som följer OpenAPI-specifikationen (OAS, tidigare kallat Swagger) och kör noggranna säkerhetskontroller på dem. Både OAS v2 och v3 stöds i både JSON- och YAML-format.
Åtgärden drivs av 42Crunch API Security Audit. Säkerhetsgranskning utför en statisk analys av API-definitionen som innehåller mer än 300 kontroller av metodtips och potentiella sårbarheter för hur API:et definierar scheman för autentisering, auktorisering, transport och begäran/svar.
För GitHub-miljöer
Installera plugin-programmet 42Crunch API Security Audit i CI/CD-pipelinen genom att utföra följande steg:
Logga in på GitHub.
Välj en lagringsplats som du vill konfigurera GitHub-åtgärden till.
Välj Åtgärder.
Välj Nytt arbetsflöde.
Så här skapar du ett nytt standardarbetsflöde:
Välj Konfigurera ett arbetsflöde själv.
Byt namn på arbetsflödet från
main.yaml
till42crunch-audit.yml
.Kopiera det fullständiga exempelarbetsflödet och klistra in det i arbetsflödesredigeraren.
Kommentar
Det här arbetsflödet förutsätter att du har GitHub Code Scanning aktiverat. Om det är aktiverat kontrollerar du att alternativet upload-to-code-scanning är inställt på true. Om du inte har aktiverat GitHub Code Scanning kontrollerar du att alternativet för att ladda upp till kod-genomsökning är inställt på false och följer de ytterligare stegen nedan i avsnittet Aktivera Defender för molnet integrering utan GitHub Code Scanning.
Välj Genomför ändringar. Du kan antingen checka in direkt till huvudgrenen eller skapa en pull-begäran. Vi rekommenderar att du följer github-metodtipsen genom att skapa en pr eftersom standardarbetsflödet startas när en PR öppnas mot huvudgrenen.
Välj Åtgärder och kontrollera att den nya åtgärden körs.
När arbetsflödet är klart väljer du Säkerhet och sedan Kodgenomsökning för att visa resultatet.
Välj en avisering för kodgenomsökning som identifierats av rest-API:ets statiska säkerhetstestning i 42Crunch. Du kan också filtrera efter verktyg på fliken Kodgenomsökning. Filtrera på 42Crunch REST API Static Security Testing.
Nu har du verifierat att granskningsresultaten visas i GitHub Code Scanning. Därefter kontrollerar vi att granskningsresultaten är tillgängliga inom Defender för molnet. Det kan ta upp till 30 minuter innan resultaten visas i Defender för molnet.
Aktivera Defender för molnet integrering utan GitHub Code Scanning
Om du inte har GitHub Code Scanning för din miljö och vill integrera säkerhetsgenomsökningsresultat från 42Crunch i Defender för molnet kan du följa dessa steg. När du har lagt till i arbetsflödessteget 42Crunch lägger du till följande steg i ditt GitHub-arbetsflöde för att skicka genomsökningsresultat direkt till Defender för molnet med hjälp av GitHub-åtgärden för Microsoft Security DevOps.
- 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
Lägg sedan till ytterligare en behörighet till arbetsflödet och ange att ID-token ska skrivas.
När arbetsflödet har körts kan det ta upp till 30 minuter innan resultaten visas i Defender för molnet.
Gå till Defender för molnet
- Välj Rekommendationer.
- Välj Alla rekommendationer.
- Filtrera genom att söka efter API-säkerhetstestning.
- Välj rekommendationen att GitHub-lagringsplatser ska ha api-säkerhetstestresultat lösta.
Den valda rekommendationen visar alla 42Crunch-granskningsresultat. Du har slutfört registreringen för 42Crunch-granskningssteget.
För Azure DevOps-miljöer
Installera 42Crunch Azure DevOps-tillägget i din organisation.
Skapa en ny pipeline i ditt Azure DevOps-projekt. En självstudiekurs om hur du skapar din första pipeline finns i Skapa din första pipeline.
Redigera den skapade pipelinen genom att kopiera i följande arbetsflöde:
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'
Köra pipelinen.
Kontrollera att resultatet publiceras korrekt i Azure DevOps genom att kontrollera att 42Crunch-AuditReport.sarif laddas upp till build artifacts under mappen CodeAnalysisLogs.
Du har slutfört registreringsprocessen. Sedan kontrollerar vi att resultaten visas i Defender för molnet.
Gå till Defender för molnet:
- Välj Rekommendationer.
- Välj Alla rekommendationer.
- Filtrera genom att söka efter API-säkerhetstestning.
- Välj rekommendationen AzureDevOps-lagringsplatser ska ha api-säkerhetstestresultat lösta.
Den valda rekommendationen visar alla 42Crunch-granskningsresultat. Du har slutfört registreringen för 42Crunch-granskningssteget.
Konfigurera 42Crunch Scan-tjänsten
API Scan söker kontinuerligt igenom API:et för att säkerställa överensstämmelse med OpenAPI-kontraktet och identifiera sårbarheter vid testtillfället. Den identifierar OWASP API Security De 10 främsta problemen tidigt i API-livscykeln och verifierar att dina API:er kan hantera oväntade begäranden.
Genomsökningen kräver en icke-produktionsbaserad live-API-slutpunkt och nödvändiga autentiseringsuppgifter (API-nyckel/åtkomsttoken). Följ de här stegen för att konfigurera 42Crunch-genomsökningen.
Se azure-pipelines-scan.yaml i självstudien för ADO-specifika uppgifter.
Vanliga frågor
Hur hjälper 42Crunch utvecklare att identifiera och åtgärda API-säkerhetsproblem?
Genomsökningen 42Crunch security Audit and Conformance identifierar potentiella sårbarheter som finns i API:er tidigt i utvecklingslivscykeln. Genomsökningsresultaten innehåller omfattande kontext, inklusive en beskrivning av sårbarheten och tillhörande sårbarhet samt detaljerad vägledning för reparation. Genomsökningar kan köras automatiskt i CI/CD-plattformen eller stegvis av utvecklaren inom deras IDE via något av 42Crunch IDE-tilläggen.
Kan 42Crunch användas för att framtvinga efterlevnad med lägsta kvalitet och säkerhetsstandarder för utvecklare?
Ja. 42Crunch innehåller möjligheten att framtvinga efterlevnad med security quality gates (SQG). Vanliga frågor och svar består av vissa kriterier som måste uppfyllas för att klara en granskning eller genomsökning. En SQG kan till exempel se till att en gransknings- eller genomsökning med ett eller flera kritiska allvarlighetsproblem inte godkänns. I CI/CD kan 42Crunch-granskning eller genomsökning konfigureras för att misslyckas med en version om den misslyckas med att skicka en SQG, vilket kräver att en utvecklare löser det underliggande problemet innan de push-överför sin kod.
Den kostnadsfria versionen av 42Crunch använder standard-SQG:er för både granskning och genomsökning, medan den betalda företagsversionen tillåter anpassning av SQG:er och taggar, vilket gör att SQG:er kan tillämpas selektivt på grupper av API:er.
Vilka data lagras i SaaS-tjänsten i 42Crunch?
En begränsad kostnadsfri utvärderingsversion av 42Crunch-säkerhetsgenomsökningen för granskning och överensstämmelse kan distribueras i CI/CD, vilket genererar rapporter lokalt utan behov av en SaaS-anslutning med 42Crunch. I den här versionen delas inga data med 42Crunch-plattformen.
För den fullständiga företagsversionen av 42Crunch-plattformen lagras följande data på SaaS-plattformen:
- Förnamn, Efternamn, e-postadresser till användare av 42Crunch-plattformen.
- OpenAPI/Swagger-filer (beskrivningar av kund-API:er).
- Rapporter som genereras under säkerhetsgransknings- och överensstämmelsegenomsökningsuppgifterna som utförs av 42Crunch.
Hur är 42Crunch licensierat?
42Crunch licensieras baserat på en kombination av antalet API:er och antalet utvecklare som etableras på plattformen. Exempel på prispaket finns i den här marknadsplatslistan. Anpassade priser är tillgängliga via privata erbjudanden på den kommersiella Azure-marknadsplatsen. För en anpassad offert kontaktar du mailto:sales@42crunch.com.
Vad är skillnaden mellan den kostnadsfria och betalda versionen av 42Crunch?
42Crunch erbjuder både en kostnadsfri begränsad version och betald företagsversion av säkerhetsgransknings- och överensstämmelsegenomsökningen.
För den kostnadsfria versionen av 42Crunch fungerar 42Crunch CI/CD-plugin-program fristående, utan krav på att logga in på 42Crunch-plattformen. Gransknings- och genomsökningsresultat görs sedan tillgängliga i Microsoft Defender för molnet, samt inom CI/CD-plattformen. Granskningar och genomsökningar är begränsade till upp till 25 körningar per månad, per lagringsplats, med högst tre lagringsplatser.
För den betalda företagsversionen av 42Crunch körs granskningar och genomsökningar fortfarande lokalt i CI/CD men kan synkroniseras med plattformstjänsten 42Crunch, där du kan använda flera avancerade funktioner, inklusive anpassningsbara säkerhetskvalitetsgrindar, dataordlistor och taggning. Även om företagsversionen är licensierad för ett visst antal API:er finns det inga gränser för antalet granskningar och genomsökningar som kan köras varje månad.
Är 42Crunch tillgängligt på den kommersiella Azure-marknadsplatsen?
Ja, 42Crunch finns att köpa på Microsofts kommersiella marknadsplats här.
Observera att inköp av 42Crunch som görs via den kommersiella Azure-marknadsplatsen räknas mot dina minsta Azure-förbrukningsåtaganden (MACC).