Articoli
Tutorial
Guide interattive
Come integrare Snyk e Bitbucket Cloud per implementare l'approccio DevSecOps
Simon Maple
Field CTO di Snyk
Adotta l'approccio DevSecOps integrando Snyk con Bitbucket Cloud e Jira.
Snyk si integra con più prodotti Atlassian per migliorare i flussi di lavoro e le pipeline dei team DevSecOps. Questo tutorial descrive i modelli per consentire la sicurezza shift-left sfruttando Atlassian Bitbucket e Snyk. Grazie a queste tecniche il tuo team può eseguire la scansione dei carichi di lavoro basati su applicazioni e container al ritmo di DevSecOps. Imparerai come utilizzare questi modelli per includere la sicurezza in tutte le fasi della pipeline.
Ora
15 minuti.
Pubblico
- Sviluppatori
- Ingegneri DevOps e DevSecOps
- Team di sviluppo e sicurezza delle applicazioni
Prerequisiti
Devi avere un account Snyk, disponibile qui.
Devi avere un account Atlassian Bitbucket. Accedi qui o inizia qui.
Passaggio 1: configura l'ambiente
Installa l'interfaccia della riga di comando di Snyk
L'interfaccia della riga di comando (CLI) di Snyk autentica il computer in uso con l'account Snyk. Lo strumento della CLI ti aiuta a trovare e correggere le vulnerabilità note nelle dipendenze, sia manualmente che nella pipeline CI/CD. Le istruzioni complete per installare la CLI sono disponibili su Snyk in diversi formati per i sistemi operativi e gli ambienti più diffusi. Ad esempio, la CLI è disponibile con brew con questi comandi:
brew tap snyk/tap
brew install snyk
Una volta installata la CLI, effettua l'autenticazione con il seguente comando:
snyk auth
Questo comando apre una scheda del browser per completare il processo di autenticazione e potrai eseguire la scansione del repository cliccando sul pulsante Authenticate (Autentica). Una volta completata l'autenticazione, puoi tornare al terminale e continuare a lavorare.
Risorse lab aggiuntive
Gli esercizi contenuti in questo tutorial includono una combinazione di comandi o frammenti di codice che verranno condivisi nelle pagine del modulo specificate, oltre a modelli e codice sorgente disponibili in un repository Bitbucket pubblico. Una volta configurato l'account Bitbucket Cloud, dovrai copiare queste risorse nel tuo account. Per farlo, attieniti alla seguente procedura:
Esegui il fork del repository
Clicca qui per eseguire un fork del repository nell'account Bitbucket. La documentazione di Atlassian offre istruzioni dettagliate su come eseguire un fork di un repository.
Clona il fork localmente
Una volta completato il fork, è necessario clonare il repository sottoposto a fork. Consulta la documentazione di Atlassian su come clonare un repository per le istruzioni dettagliate.
Passaggio 2: collega Snyk a Bitbucket
In questa sezione collegheremo Snyk a Bitbucket per eseguire la scansione dell'applicazione Bitbucket alla ricerca di vulnerabilità open source.
Cos'è l'analisi della composizione software (SCA)?
L'analisi della composizione software (SCA) è uno strumento di gestione dei componenti open source. Genera un report che elenca tutti i componenti open source di un'applicazione, incluse le dipendenze dirette e indirette. Utilizzando uno strumento SCA, i team di sviluppo possono monitorare e analizzare rapidamente i componenti open source introdotti in un progetto.
Sebbene pratici e ampiamente utilizzati, i componenti open source sono tradizionalmente difficili da tracciare. Di conseguenza, gli sviluppatori si sono affidati a processi manuali come e-mail e fogli di calcolo per semplificare il lavoro. Tuttavia, questi processi manuali sono un ostacolo alla praticità dell'open source e sono dunque una soluzione incompleta. Un approccio più vantaggioso è quello di sfruttare uno strumento SCA in grado di fornire una visibilità immediata su ogni componente.
Perché utilizzare uno strumento SCA?
I componenti open source sono i principali elementi costitutivi dello sviluppo software praticamente in ogni verticale. Indipendentemente dalle dimensioni dell'organizzazione, SCA aiuta a identificare i componenti open source nelle applicazioni fondamentali per la tua azienda. Gli strumenti SCA consentono agli sviluppatori di:
1. Comprendere le dipendenze utilizzate nelle applicazioni.
2. Applicare policy di sicurezza e conformità per tutto il ciclo di vita dello sviluppo del software (SDLC).
3. Correggere in modo proattivo le potenziali vulnerabilità all'origine.
4. Migliorare l'efficienza del team e il livello di sicurezza aziendale.
Passaggio 3: crea una password per l'app
Dovrai creare una password per l'app per autorizzare Snyk ad accedere al repository e abilitare l'integrazione con Bitbucket Cloud di Snyk.
Per creare una password per l'app:
1. Dal tuo avatar in basso a sinistra, clicca su Personal settings (Impostazioni personali).
2. Clicca su App passwords (Password app) in Access management (Gestione dell'accesso).
3. Clicca su Create app password (Crea password per l'app).
4. Assegna alla password dell'app un nome correlato all'applicazione che la utilizzerà.
5. Seleziona l'accesso e le autorizzazioni specifici che desideri associare alla password dell'applicazione.
- Account:
lettura
- Appartenenza al team:
lettura
- Progetti:
lettura
- Repository:
lettura e scrittura
- Pull request:
lettura e scrittura
- Webhook:
lettura e scrittura
6. Copia la password generata e registrala o incollala nell'applicazione a cui desideri assegnare l'accesso. La password viene visualizzata solo questa volta.
Passaggio 4: aggiungi le variabili del repository
Dovrai definire le variabili del repository a livello di repository, a cui verrà successivamente fatto riferimento nella pipeline. Questi saranno costituiti dai seguenti elementi:
- SNYK_TOKEN: token API di Snyk per l'autenticazione con l'account Snyk. Si tratta di una variabile protetta.
- IMAGE: nome immagine del container. Si tratta di una variabile non protetta.
Le altre variabili riguardano le operazioni della pipeline migliorate, non descritte in questo tutorial.
Passaggio 5: Ottieni il token API di Snyk
1. Ottieni il token API di Snyk
Dalla console di Snyk, vai a Settings (Impostazioni) (l'icona dell'ingranaggio nella foto) e, nel menu General (Generale), copia l'ID dell'organizzazione.
Dopo aver copiato il token, torna all'interfaccia utente di Bitbucket Cloud e definisci la variabile del repository SNYK_TOKEN
.
Passaggio 6: Abilita l'integrazione con Bitbucket
Dalla console di Snyk, accedi a Integrations (Integrazioni) e seleziona Bitbucket Cloud.
Nella pagina di integrazione di Bitbucket Cloud, inserisci il tuo nome utente di Bitbucket nel campo Username (Nome utente) e la password dell'app Bitbucket creata nel passaggio precedente nel campo App password (Password app). Quindi, clicca su Save (Salva).
Dopo aver collegato correttamente gli account Snyk e Bitbucket, vedrai un messaggio di conferma e potrai scegliere di aggiungere il repository di Bitbucket Cloud a Snyk.
Rimani su questa pagina e, nella sezione successiva, potrai scoprire come importare un repository di Bitbucket Cloud e sottoporlo a scansione con Snyk.
Sottoponi a scansione e monitora l'applicazione Bitbucket
La scansione dell'applicazione alla ricerca di vulnerabilità nelle dipendenze open source inizia dall'origine. Nella sezione precedente, abbiamo abilitato l'integrazione di Snyk con Bitbucket e possiamo adesso importare il primo progetto.
Passaggio 7: aggiungi i repository di Bitbucket Cloud a Snyk
Nell'ultima schermata della sezione precedente, clicca su Add your Bitbucket Cloud repository to Snyk (Aggiungi il repository di Bitbucket Cloud a Snyk).
Trova il repository di cui hai eseguito un fork nel modulo Configure Environment (Configura ambiente). Clicca sulla casella di spunta per selezionarlo, quindi clicca sul pulsante Add selected repository (Aggiungi repository selezionato) per importare il progetto.
Passaggio 8: Rivedi il report di vulnerabilità
Dovresti vedere il numero delle vulnerabilità in base a packages.json, nonché informazioni dettagliate per ciascuna di esse. Clicca sul progetto appena sottoposto a scansione ed esamina i risultati in Snyk. Grazie a questo strumento, avrai a disposizione non solo contesto (ad esempio informazioni sulla gravità e la scadenza degli exploit per le vulnerabilità), ma anche le seguenti potenti funzionalità:
- Fix this vulnerability (Correggi questa vulnerabilità) ti aiuta a correggere le vulnerabilità tramite l'applicazione di patch alla vulnerabilità o l'upgrade delle dipendenze dirette.
- Priority Score (Punteggio di priorità) ti aiuta a stabilire in modo efficace le priorità delle correzioni. Il punteggio, che va da 1 a 1000, è basato su un algoritmo proprietario che elabora una vasta gamma di fattori, come il punteggio CVSS, la disponibilità di correzioni, gli exploit noti, le informazioni sulla nuova vulnerabilità e se è raggiungibile.
- Jira integration (Integrazione di Jira) consente di creare ticket in Jira.
Scopri altre integrazioni per Atlassian Open DevOps.
Condividi l'articolo
Argomento successivo
Letture consigliate
Aggiungi ai preferiti queste risorse per ricevere informazioni sui tipi di team DevOps e aggiornamenti continui su DevOps in Atlassian.