42 Guida tecnica all'onboarding tecnico
42Crunch consente un approccio standardizzato alla protezione delle API che automatizza l'applicazione della conformità della sicurezza delle API tra i team di sviluppo e sicurezza distribuiti. La piattaforma di sicurezza api 42Crunch consente agli sviluppatori di creare sicurezza dall'ambiente di sviluppo integrato (IDE) alla pipeline CI/CD. Questo approccio DevSecOps facile alla sicurezza delle API riduce i costi di governance e accelera la distribuzione di API sicure.
Approccio ai test di sicurezza
A differenza degli strumenti DAST tradizionali usati per analizzare applicazioni Web e per dispositivi mobili, 42Crunch esegue un set di test appositamente creati e destinati a ogni API in base alla progettazione specifica. Usando il file di definizione OpenAPI (ovvero Swagger) come origine primaria, il motore 42Crunch Scan esegue una batteria di test che convalidano la conformità dell'API alla progettazione prevista. Questa analisi di conformità identifica vari problemi di sicurezza, tra cui le prime 10 vulnerabilità OWASP, i codici di risposta non corretto e le violazioni dello schema. Questi problemi vengono segnalati con un contesto avanzato, inclusi possibili scenari di exploit e linee guida per la correzione.
Le analisi possono essere eseguite automaticamente come parte di una pipeline CI/CD o manualmente tramite un IDE o la piattaforma cloud 42Crunch.
Poiché la qualità della specifica DELL'API determina in gran parte la copertura e l'efficacia dell'analisi, è importante assicurarsi che la specifica OpenAPI sia ben definita. 42Crunch Audit esegue un'analisi statica del file di specifica OpenAPI volto a aiutare lo sviluppatore a migliorare la sicurezza e la qualità della specifica. Il controllo determina un punteggio di sicurezza composito compreso tra 0 e 100 per ogni file di specifica. Man mano che gli sviluppatori correggeno i problemi di sicurezza e semantica identificati dal controllo, il punteggio migliora. 42Crunch consiglia un punteggio di controllo di almeno 70 prima di eseguire un'analisi di conformità.
Abilitazione
Nota
I passaggi seguenti illustrano il processo di configurazione della versione gratuita di 42Crunch. Vedere la sezione Domande frequenti per informazioni sulle differenze tra le versioni gratuite e a pagamento di 42Crunch e come acquistare 42Crunch in Azure Marketplace.
Usando i servizi 42Crunch Audit and Scan , gli sviluppatori possono testare e rafforzare in modo proattivo le API all'interno delle pipeline CI/CD tramite test statici e dinamici delle API rispetto ai principali rischi dell'API OWASP e alle procedure consigliate per le specifiche OpenAPI. I risultati dell'analisi della sicurezza di 42Crunch sono ora disponibili all'interno di Defender per il cloud, assicurando che i team di sicurezza centrale abbiano visibilità sull'integrità delle API all'interno dell'esperienza di raccomandazione Defender per il cloud e possano eseguire passaggi di governance disponibili in modo nativo tramite raccomandazioni Defender per il cloud.
Connettere gli ambienti DevOps a Microsoft Defender per il cloud
Questa funzionalità richiede la connessione dell'ambiente DevOps a Defender per il cloud.
Vedere Come eseguire l'onboarding delle organizzazioni GitHub.
Vedere Come eseguire l'onboarding delle organizzazioni Azure DevOps.
Configurare il servizio 42Crunch Audit
L'azione Rest API Static Security Testing individua i contratti API REST che seguono la specifica OpenAPI (OAS, in precedenza nota come Swagger) ed esegue controlli di sicurezza approfonditi su di essi. Sia OAS v2 che v3 sono supportati, sia in formato JSON che YAML.
L'azione è basata su 42Crunch API Security Audit. Il controllo di sicurezza esegue un'analisi statica della definizione dell'API che include più di 300 controlli sulle procedure consigliate e sulle potenziali vulnerabilità sul modo in cui l'API definisce gli schemi di autenticazione, autorizzazione, trasporto e richiesta/risposta.
Per gli ambienti GitHub
Installare il plug-in 42Crunch API Security Audit all'interno della pipeline CI/CD completando i passaggi seguenti:
Accedi a GitHub.
Selezionare un repository in cui si vuole configurare l'azione GitHub.
Seleziona Azioni.
Selezionare Nuovo flusso di lavoro.
Per creare un nuovo flusso di lavoro predefinito:
Scegliere Configura manualmente un flusso di lavoro.
Rinominare il flusso di lavoro da
main.yaml
a42crunch-audit.yml
.Copiare il flusso di lavoro di esempio completo e incollarlo nell'editor del flusso di lavoro.
Nota
Questo flusso di lavoro presuppone che sia abilitata l'analisi del codice GitHub. Se abilitata, verificare che l'opzione upload-to-code-scanning sia impostata su true. Nel caso in cui l'analisi del codice GitHub non sia abilitata, verificare che l'opzione upload-to-code-scanning sia impostata su false e seguire i passaggi aggiuntivi seguenti nella sezione Abilitazione dell'integrazione Defender per il cloud senza l'analisi del codice GitHub.
Selezionare Eseguire il commit delle modifiche. È possibile eseguire direttamente il commit nel ramo principale o creare una richiesta pull. È consigliabile seguire le procedure consigliate di GitHub creando una richiesta pull, perché il flusso di lavoro predefinito viene avviato all'apertura di una richiesta pull nel ramo principale.
Selezionare Azioni e verificare che la nuova azione sia in esecuzione.
Al termine del flusso di lavoro, selezionare Sicurezza, quindi selezionare Analisi codice per visualizzare i risultati.
Selezionare un avviso di analisi del codice rilevato da 42Crunch REST API Static Security Testing.Select a Code Scanning alert detected by 42Crunch REST API Static Security Testing. È anche possibile filtrare in base allo strumento nella scheda Analisi codice. Filtrare in base ai test di sicurezza statici dell'API REST 42Crunch.
È stato verificato che i risultati del controllo siano visualizzati nell'analisi del codice GitHub. Verificare quindi che questi risultati di controllo siano disponibili all'interno di Defender per il cloud. La visualizzazione dei risultati in Defender per il cloud potrebbe richiedere fino a 30 minuti.
Abilitare l'integrazione Defender per il cloud senza l'analisi del codice GitHub
Se l'analisi del codice GitHub non è disponibile per l'ambiente e si vuole integrare i risultati dell'analisi della sicurezza da 42Crunch in Defender per il cloud, è possibile seguire questa procedura. Dopo aver aggiunto il passaggio 42Crunch del flusso di lavoro, aggiungere i passaggi seguenti al flusso di lavoro gitHub per inviare i risultati dell'analisi direttamente a Defender per il cloud usando l'azione GitHub di 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
Aggiungere quindi un'autorizzazione aggiuntiva al flusso di lavoro, impostando id-token da scrivere.
Dopo aver eseguito il flusso di lavoro, potrebbero essere necessari fino a 30 minuti prima che i risultati vengano visualizzati in Defender per il cloud.
Passare a Defender per il cloud
- Selezionare Raccomandazioni.
- Selezionare Tutti i consigli.
- Filtrare cercando test di sicurezza API.
- Selezionare la raccomandazione I repository GitHub devono essere risolti con i risultati dei test di sicurezza API.
La raccomandazione selezionata mostra tutti i risultati di 42Crunch Audit. È stato completato l'onboarding per il passaggio 42Crunch Audit.
Per gli ambienti Azure DevOps
Installare l'estensione 42Crunch di Azure DevOps nell'organizzazione.
Creare una nuova pipeline per il progetto di Azure DevOps. Per un'esercitazione per la creazione della prima pipeline, vedere Creare la prima pipeline.
Modificare la pipeline creata copiando il flusso di lavoro seguente:
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'
Esegui la pipeline.
Per verificare che i risultati vengano pubblicati correttamente in Azure DevOps, verificare che 42Crunch-AuditReport.sarif venga caricato nella cartella Build Artifacts nella cartella CodeAnalysisLogs .
Il processo di onboarding è stato completato. Verificare quindi che i risultati siano visualizzati in Defender per il cloud.
Passare a Defender per il cloud:
- Selezionare Raccomandazioni.
- Selezionare Tutti i consigli.
- Filtrare cercando test di sicurezza API.
- Selezionare la raccomandazione Che i repository AzureDevOps devono avere i risultati dei test di sicurezza api risolti.
La raccomandazione selezionata mostra tutti i risultati di 42Crunch Audit. È stato completato l'onboarding per il passaggio 42Crunch Audit.
Configurare il servizio 42Crunch Scan
Analisi API analizza continuamente l'API per garantire la conformità al contratto OpenAPI e rilevare le vulnerabilità in fase di test. Rileva i primi 10 problemi di Sicurezza API OWASP all'inizio del ciclo di vita dell'API e verifica che le API possano gestire richieste impreviste.
L'analisi richiede un endpoint API live non di produzione e le credenziali necessarie (chiave API/token di accesso). Seguire questa procedura per configurare 42Crunch Scan.
Fare riferimento ad azure-pipelines-scan.yaml nell'esercitazione per le attività specifiche di ADO.
Domande frequenti
In che modo 42Crunch aiuta gli sviluppatori a identificare e correggere i problemi di sicurezza delle API?
L'analisi di controllo e conformità della sicurezza 42Crunch identifica le potenziali vulnerabilità presenti nelle API nelle prime fasi del ciclo di vita dello sviluppo. I risultati dell'analisi includono un contesto avanzato, tra cui una descrizione della vulnerabilità e l'exploit associato e indicazioni dettagliate sulla correzione. Le analisi possono essere eseguite automaticamente nella piattaforma CI/CD o in modo incrementale dallo sviluppatore all'interno dell'IDE tramite una delle estensioni 42Crunch dell'IDE.
42Crunch può essere usato per applicare la conformità con gli standard minimi di qualità e sicurezza per gli sviluppatori?
Sì. 42Crunch include la possibilità di applicare la conformità usando controlli di qualità della sicurezza (SQG). Gli sqg sono costituiti da determinati criteri che devono essere soddisfatti per superare correttamente un controllo o un'analisi. Ad esempio, un sqG può garantire che un controllo o un'analisi con uno o più problemi di gravità critici non venga superato. In CI/CD, il controllo 42Crunch o l'analisi possono essere configurati in modo da non riuscire a eseguire una compilazione se non riesce a superare un SQG, richiedendo quindi a uno sviluppatore di risolvere il problema sottostante prima di eseguire il push del codice.
La versione gratuita di 42Crunch usa gli SQG predefiniti per Audit e Scan, mentre la versione enterprise a pagamento consente la personalizzazione di SQG e tag, che consentono l'applicazione selettiva degli SQG ai raggruppamenti delle API.
Quali dati vengono archiviati nel servizio SaaS di 42Crunch?
Una versione di valutazione gratuita limitata del controllo di sicurezza 42Crunch e l'analisi conformità possono essere distribuite in CI/CD, che genera report in locale senza la necessità di una connessione SaaS 42Crunch. In questa versione non sono presenti dati condivisi con la piattaforma 42Crunch.
Per la versione enterprise completa della piattaforma 42Crunch, i dati seguenti vengono archiviati nella piattaforma SaaS:
- Nome, Cognome, indirizzi di posta elettronica degli utenti della piattaforma 42Crunch.
- File OpenAPI/Swagger (descrizioni delle API dei clienti).
- Report generati durante le attività di analisi di conformità e controllo della sicurezza eseguite da 42Crunch.
Come viene concessa la licenza 42Crunch?
42Crunch viene concesso in licenza in base a una combinazione del numero di API e del numero di sviluppatori di cui viene effettuato il provisioning nella piattaforma. Per un esempio di bundle di prezzi, vedere questa presentazione nel Marketplace. I prezzi personalizzati sono disponibili tramite offerte private nel marketplace commerciale di Azure. Per un preventivo personalizzato, contattare mailto:sales@42crunch.com.
Qual è la differenza tra la versione gratuita e a pagamento di 42Crunch?
42Crunch offre sia una versione limitata gratuita che una versione enterprise a pagamento dell'analisi di controllo di sicurezza e conformità.
Per la versione gratuita di 42Crunch, i plug-in CI/CD 42Crunch funzionano autonomamente, senza dover accedere alla piattaforma 42Crunch. I risultati di controllo e analisi vengono quindi resi disponibili in Microsoft Defender per il cloud, nonché all'interno della piattaforma CI/CD. I controlli e le analisi sono limitati a un massimo di 25 esecuzioni al mese per ogni repository, con un massimo di tre repository.
Per la versione enterprise a pagamento di 42Crunch, i controlli e le analisi vengono ancora eseguiti localmente in CI/CD, ma possono essere sincronizzati con il servizio piattaforma 42Crunch, in cui è possibile usare diverse funzionalità avanzate, tra cui controlli di qualità della sicurezza personalizzabili, dizionari dati e tag. Anche se la versione enterprise è concessa in licenza per un determinato numero di API, non esistono limiti al numero di controlli e analisi che possono essere eseguiti su base mensile.
42Crunch è disponibile nel marketplace commerciale di Azure?
Sì, 42Crunch è disponibile per l'acquisto nel marketplace commerciale Microsoft qui.
Si noti che gli acquisti di 42Crunch effettuati tramite il marketplace commerciale di Azure conteggio per gli impegni minimi per il consumo di Azure (MACC).