Vai al paragrafo

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à.

Il flusso CI/CD (integrazione continua, distribuzione continua e deployment continuo) consiste in 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

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 richiede mesi di lavoro da parte di team di ingegneri e sviluppatori di grandi dimensioni. Red Hat Trusted Software Supply Chain è una categoria di servizi cloud che permette di velocizzare tali attività, aiutando le aziende nell'introduzione di protezioni nel ciclo di vita dello sviluppo software, grazie all'intercettazione delle vulnerabilità critiche al punto di accesso. 

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. La soluzione aiuta 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 Trusted Application Pipeline (in anteprima) offre definizioni della pipeline predefinite e controlli di sicurezza automatizzati per la creazione di immagini della build di livello 3, secondo i Supply chain Levels for Software Artifacts (SLSA), dal codice applicativo con un'ampia serie di linguaggi di programmazione. La build comprende la creazione di una distinta base (SBOM) immutabile e comprovata che genera automaticamente una catena attendibile per i componenti oper source e le dipendenze transitive.

Keep reading

ARTICOLO

Cos'è la metodologia DevSecOps?

Per sfruttare tutta l'agilità e la reattività di un approccio DevOps, occorre tenere conto anche di un altro elemento cruciale dell'intero ciclo di vita delle tue applicazioni: la sicurezza IT.

ARTICOLO

La sicurezza nel cloud

I problemi di sicurezza hanno un impatto sia sui sistemi IT tradizionali che su quelli cloud. Scopri perché la sicurezza nel cloud è differente.

ARTICOLO

Cosa si intende con SOAR?

L'acronimo SOAR indica 3 capacità chiave utilizzate dai team che si occupano di sicurezza: gestione dei casi e dei flussi di lavoro, automazione delle attività e sistema centralizzato di accesso, query e condivisione dei dati di intelligence sulle minacce.

Scopri di più sulla sicurezza

Prodotti

Un framework di sicurezza progettato per gestire le identità utente e garantire la privacy delle comunicazioni.

Una soluzione, Kubernetes native ed enterprise ready, per la sicurezza dei container che permette di creare, distribuire ed eseguire applicazioni cloud native in modo più sicuro.

Un servizio di analisi predittiva per identificare e contrastare le minacce a sicurezza, prestazioni e disponibilità della tua infrastruttura Red Hat.

Una soluzione che permette di controllare cluster e applicazioni Kubernetes da una singola console dotata di criteri di sicurezza integrati.

Risorse