Cos'è la sicurezza CI/CD?

Copia URL

La sicurezza CI/CD è impiegata per tutelare le pipeline di codice con controlli e test automatizzati con l'obiettivo di prevenire le vulnerabilità nella distribuzione del software. Integrare i sistemi di sicurezza nella pipeline permette di proteggere il codice dagli attacchi e prevenire le perdite di dati, e garantisce al contempo la conformità alle policy e il controllo qualità.

CI/CD (integrazione continua, distribuzione continua e deployment continuo) è una serie di passaggi, spesso visualizzati come una pipeline, da svolgere per distribuire una nuova versione di un software. CI/CD introduce l'automazione e il monitoraggio continuo nello sviluppo delle applicazioni, con l'obiettivo di minimizzare gli errori umani e mantenere un più rapido processo per lo sviluppo di codice di alta qualità.

In genere le fasi principali della pipeline CI/CD non comprendono misure di sicurezza, pertanto sono necessari passaggi aggiuntivi per tutelare il processo di sviluppo.
Come creare pipeline CI/CD cloud native

Risorse da Red Hat

La mancanza o l'inadeguatezza di misure di sicurezza applicate ai frequenti cicli di sviluppo e deployment può esporre la pipeline a svariati rischi:

  • Esposizione di dati sensibili a sorgenti esterne
  • Utilizzo di codice non sicuro o componenti di terze parti
  • Accesso non autorizzato a strumenti di compilazione o repository di codice sorgente 

Grazie all'identificazione e alla mitigazione delle vulnerabilità nel ciclo di sviluppo, le modifiche al codice vengono testate in modo accurato e risultano conformi agli standard di sicurezza prima della distribuzione in produzione.

 

DevSecOps (sviluppo, sicurezza e operazioni) è un approccio alla cultura, all'automazione e alla progettazione delle piattaforme che integra la sicurezza come responsabilità condivisa lungo l'intero ciclo di vita dell'IT. Un elemento chiave di DevSecOps è l'introduzione di una pipeline CI/CD sicura. 

CI/CD è fondamentale per DevSecOps, in quanto automatizza e integra i controlli di sicurezza in una fase precoce del processo di sviluppo, garantendo un feedback rapido rispetto alle potenziali vulnerabilità e facilitando un approccio proattivo alla sicurezza nell'intero ciclo di vita dell'applicazione.

Quello di "integrazione a monte" è un principio fondamentale in CI/CD e DevSecOps, che implica l'anticipazione di determinate attività e mansioni orientate alla sicurezza nel processo di sviluppo software. La prassi di adozione della sicurezza in una fase più precoce prevede l'automazione dei processi di test, che eseguono la scansione delle vulnerabilità di sicurezza, e il controllo delle modifiche al codice non appena ne viene eseguito il commit. Tale approccio inoltre aiuta a promuovere una cultura generale di attenzione proattiva alla sicurezza tra sviluppatori e team operativi.

Blog: Building a DevSecOps culture and shifting security left

Fase di pianificazione: è importante integrare i controlli di sicurezza in ogni fase della pipeline affinché il codice sia sicuro e conforme agli standard di sicurezza. Il primo passo prevede lo sviluppo di un piano di azione che consenta di identificare le potenziali minacce alla sicurezza. Questa procedura è nota come modellazione delle minacce. Nel quadro della modellazione delle minacce, vengono identificate le potenziali vulnerabilità e vengono stabilite contromisure per mitigare i rischi. 

Scrittura del codice: nella fase di scrittura del codice, è fondamentale adottare le misure in grado di garantire la conformità alle linee guida di progettazione e agli standard predefiniti. È necessario utilizzare strumenti di scansione del codice sorgente per rilevare parti di codice potenzialmente vulnerabili alle minacce per la sicurezza.

Compilazione: quando gli sviluppatori passano al commit del codice sorgente in un repository condiviso, occorre accertarsi che si attivino i test automatizzati per verificare che le build siano conformi ai requisiti. 

Test: in seguito al buon esito della compilazione, è essenziale testare il software alla ricerca di bug. In caso di introduzione di nuove funzionalità, vengono eseguiti altri test automatizzati. 

Cinque metodi per incrementare la sicurezza

Red Hat® OpenShift® permette alle aziende di utilizzare la pipeline CI/CD per automatizzare le fasi di creazione, test e deployment delle applicazioni, sia sulle piattaforme on premise che nel cloud pubblico. Red Hat OpenShift e Red Hat Ansible® Automation Platform, insieme alle tecnologie dei partner, costituiscono una base per DevSecOps e ti aiutano ad affrontare le sfide in materia di sicurezza durante il ciclo di vita delle applicazioni container, incluse le fasi di sviluppo, deployment e runtime.

Per ottenere la massima continuità aziendale, è fondamentale proteggere la catena di distribuzione del software dalle potenziali vulnerabilità, ma la sua sicurezza per le applicazioni cloud native può richiedere mesi di lavoro da parte di team di ingegneri e sviluppatori di grandi dimensioni. Red Hat Trusted Software Supply Chain è una suite di soluzioni di sicurezza incentrate sulla sicurezza delle dipendenze e dei componenti software nelle prime fasi del ciclo di vita dello sviluppo del software, oltre che nelle pipeline di creazione e rilascio, per verificare e intervenire sui problemi di sicurezza. Utilizziamo le pratiche DevSecOps per integrare le protezioni di sicurezza per accelerare il time to value in ogni fase della realizzazione del software. Così si passa dai processi manuali incoerenti a operazioni coerenti, ripetibili e automatizzate. Aumentando la resilienza nella catena di distribuzione del software, le aziende mantengono e accrescono la fiducia degli utenti. 

Red Hat Advanced Cluster Security (ACS) for Kubernetes è la prima piattaforma di sicurezza Kubernetes native che permette alle aziende di creare, distribuire ed eseguire le applicazioni cloud native con maggiore sicurezza. Aiuta inoltre a proteggere i carichi di lavoro Kubernetes containerizzati su tutte le principali piattaforme cloud e ibride, tra cui Red Hat OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS) e Google Kubernetes Engine (GKE).

Red Hat Advanced Developer Suite, che include Red Hat Trusted Artifact Signer, protegge la catena di distribuzione del software con firma automatizzata, verifica crittografica e tracciamento end to end della provenienza degli artefatti software.

Ebook: Automatizzare DevSecOps con OpenShift

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Che cos'è il computing confidenziale?

Il computing confidenziale utilizza l'elaborazione basata su hardware per proteggere i dati attivi o in transito, ovvero mentre vengono utilizzati.

Cosa sono SPIFFE e SPIRE?

SPIFFE e SPIRE sono due progetti open source pensati per la gestione delle identità in ambienti di elaborazione dinamici e diversificati che, insieme, collaborano per risolvere svariati problemi di sicurezza.

Cos'è l'approccio Zero Trust?

Scopri di più sul modello Zero Trust, un approccio alla progettazione di architetture per la sicurezza basato sul presupposto che ogni interazione inizia in condizioni di non attendibilità.

Sicurezza: risorse consigliate

Articoli correlati