Jump to section

DevSecOps: cos'è?

Copia URL
DevOps_OneColor

Scopri come adottare una soluzione DevSecOps esaustiva in grado di garantire la sicurezza della piattaforma.

DevSecOps sta per 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 IT.

La metodologia DevOps non riguarda solo i team operativi e di sviluppo. Per sfruttare tutta l'agilità e la reattività di un approccio DevOps, occorre tenere conto anche di un altro elemento indispensabile dell'intero ciclo di vita delle applicazioni: la sicurezza IT.

Perché? In passato, il ruolo della sicurezza interessava prettamente la fase finale dello sviluppo affidata a un team specifico. Quando i cicli di sviluppo duravano mesi o persino anni, la sicurezza non aveva la stessa importanza che ha oggi. Una metodologia DevOps efficace garantisce cicli di sviluppo rapidi e frequenti (di settimane o giorni), ma anche le iniziative DevOps più efficienti possono fallire se le pratiche di sicurezza adottate sono obsolete.

 

Illustration representing a linear progression from Development to Security and then to Operations

Ora, nel framework DevOps collaborativo, la sicurezza è una responsabilità di tutti, integrata dall'inizio alla fine. Si tratta di un concetto talmente importante che alcuni hanno coniato il termine "DevSecOps" per sottolineare quanto sia fondamentale creare una base sicura per le iniziative DevOps.

 

Illustration representing collaboration between Development, Security, and Operations roles

Questo approccio è incentrato sulla sicurezza delle applicazioni e dell'infrastruttura sin dalle prime fasi e sull'automatizzazione di alcune attività di controllo della sicurezza per evitare che rallentino il flusso di lavoro DevOps. Per raggiungere tali obiettivi, è necessario scegliere gli strumenti che consentono di integrare la sicurezza in maniera costante, come un ambiente di sviluppo integrato (IDE) dotato di funzionalità di sicurezza. Tuttavia, per garantire la sicurezza DevOps non è sufficiente adottare nuovi strumenti, ma occorre sfruttare i cambiamenti culturali promossi da DevOps per integrare nel più breve tempo possibile il lavoro dei team di sicurezza. 

La pratica di dare priorità alla sicurezza fin dalle prime fasi della pianificazione e dello sviluppo e per tutto il tempo di esecuzione viene spesso definita sicurezza shift left e shift right. Implementare e automatizzare i processi DevSecOps con un approccio shift left fornisce protezioni a misura di sviluppatori che possono ridurre gli errori degli utenti in fase di sviluppo e distribuzione e proteggere i carichi di lavoro al momento del runtime. Per questo motivo, allo shift left è stato affiancato un approccio complementare: l'approccio shift right, che consente la continuazione della pratica di test, controllo qualità e valutazione delle prestazioni in un ambiente post-produzione.

Durata del video: 02:40. 
Le aziende necessitano di strumenti di sicurezza integrati verificabili in grado di proteggere il software per l'intera durata del ciclo di vita. Scopri perché il 90% delle aziende Fortune 500 ha scelto soluzioni Red Hat.

Gli approcci "DevOps" o "DevSecOps" sono sempre stati la soluzione ideale per rendere la sicurezza una parte integrante dell'intero ciclo di vita delle applicazioni. Non agendo in modo perimetrale, DevSecOps garantisce l'adesione ai principi di una sicurezza integrata delle app e dei dati. Se la sicurezza continua a essere confinata alla fase finale del flusso di sviluppo, le organizzazioni che adottano la metodologia DevOps possono trovarsi di nuovo a gestire quei lunghi cicli di sviluppo che cercavano di evitare.

Con DevSecOps si concretizza in parte la necessità da parte dei team e dei partner della sicurezza di proteggere le informazioni alla nascita delle iniziative DevOps, definendo inoltre un piano di automazione. Gli sviluppatori sono chiamati a ripensare la creazione del codice tenendo conto della sicurezza, attraverso un processo che consideri la condivisione di dati, feedback e informazioni sulle vulnerabilità note ai team di sicurezza, ad esempio minacce interne o malware potenziale. L'approccio DevSecOps punta anche a identificare i rischi pertinenti alla catena di distribuzione del software, evidenziando la sicurezza dei componenti e delle dipendenze software open source sin dalle prime fasi del ciclo di sviluppo software. Questo nuovo approccio potrebbe richiedere la partecipazione degli sviluppatori a nuovi corsi di formazione sulla sicurezza, un aspetto spesso secondario nell'approccio di sviluppo tradizionale.

In cosa consiste la sicurezza integrata? Per i principianti, una buona strategia DevSecOps serve a determinare la tolleranza al rischio e a condurre un'analisi dei rischi/benefici. Quali controlli di sicurezza sono necessari per un'applicazione specifica? Quanto sono importanti i tempi di rilascio per le varie applicazioni? L'automazione delle attività ripetitive è fondamentale per DevSecOps, poiché eseguire controlli manuali può essere dispendioso in termini di tempo.

Per garantire una sicurezza completa e costante occorre: mantenere cicli di sviluppo brevi e frequenti, integrare misure di sicurezza con un'interruzione minima delle operazioni, restare al passo con le tecnologie innovative come i container e i microservizi, il tutto promuovendo una maggiore collaborazione tra i team. Tutte queste misure sono inizialmente intraprese dai team che collaborano all'interno dell'azienda, ma in un framework DevSecOps l'automazione ha l'obiettivo di agevolare tali interventi manuali.

Illustrations representing that DevOps plus Automation equals Security

Per ottenere più dettagli sul processo di automazione, puoi consultare questa utile guida. Le organizzazioni dovrebbero fare un passo indietro ed esaminare l'ambiente di sviluppo e operativo nella sua interezza, considerando i repository di controllo della sorgente, i registri dei container, la pipeline di integrazione e deployment continui (CI/CD),la gestione delle interfacce di programmazione delle applicazioni (API), l'automazione dell'orchestrazione e delle release nonché la gestione e il monitoraggio delle operazioni.

Le nuove tecnologie di automazione hanno permesso alle organizzazioni di adottare pratiche di sviluppo più agili, oltre a supportare l'introduzione di nuove misure di sicurezza. Tuttavia, l'automazione non è l'unico aspetto ad essere cambiato negli ultimi anni: le tecnologie cloud native, come i container e i microservizi, oggi hanno un ruolo fondamentale nella maggior parte delle iniziative DevOps e la sicurezza DevOps deve adattarsi ad esse.

L'infrastruttura più scalabile e dinamica per container ha cambiato il modo di operare di molte organizzazioni. A fronte di questa trasformazione, anche le pratiche di sicurezza DevOps devono allinearsi alle linee guida sulla sicurezza specifiche per i container.

I criteri e le checklist per la sicurezza statica non si prestano alle tecnologie cloud native. Al contrario, la sicurezza deve essere continua e integrata in ogni fase del ciclo di vita delle applicazioni e dell'infrastruttura.

L'approccio DevSecOps prevede che la sicurezza sia integrata nello sviluppo applicativo dall'inizio alla fine. Oltre all'adozione di nuovi strumenti, ciò richiede un cambiamento nella cultura e nelle strategie aziendali. I team DevOps, tenendo a mente tutto questo, devono automatizzare la sicurezza per proteggere l'ambiente e i dati, nonché il processo di distribuzione e integrazione continua: obiettivo che includerà con ogni probabilità anche la sicurezza dei microservizi nei container.

Red Hat® Advanced Cluster Security adotta i principi e gli artefatti cloud native dell'architettura di microservizi, la definizione dichiarativa e l'infrastruttura immutabile per automatizzare le procedure DevSecOps ottimali. Compatibile con qualsiasi ambiente Kubernetes e integrata con gli strumenti DevOps e di sicurezza, la piattaforma aiuta i team a rendere operativi e più sicuri la catena di distribuzione, l'infrastruttura e i carichi di lavoro.

 

Sicurezza dell'ambiente e dei dati

  • Standardizza e automatizza l'ambiente: ogni servizio deve limitare nella misura massima possibile gli accessi e i collegamenti non autorizzati.
  • Centralizza il controllo degli accessi e delle identità degli utenti: per garantire la sicurezza dei microservizi, l'adozione di meccanismi rigidi di autenticazione centralizzata e di controllo degli accessi diventa fondamentale, poiché l'autenticazione avviene in più punti.
  • Separa tra loro e dalla rete i container che eseguono i microservizi: ciò comporta isolare anche i dati in transito e quelli inattivi perché entrambi possono rappresentare obiettivi ad alto valore per eventuali attacchi.
  • Crittografa i dati tra le app e i servizi: una piattaforma di orchestrazione dei container con funzione di sicurezza integrata contribuisce a ridurre al minimo le possibilità di accessi non autorizzati.
  • Adotta gateway di API protette: la presenza di API protette accresce la visibilità su autorizzazioni e routing. Riducendo le API esposte, è possibile limitare le superfici vulnerabili.

Sicurezza del processo CI/CD

  • Integra analisi di sicurezza per i container: ciò deve essere parte integrante del processo che prevede l'aggiunta di container al registro.
  • Automatizza i test di sicurezza nel processo CI: tali attività di automazione includono l'esecuzione di strumenti di analisi statica della sicurezza nell'ambito delle build, nonché la scansione di eventuali immagini di container pre-built per verificare la presenza di vulnerabilità note nel flusso della creazione.
  • Aggiungi test automatizzati per le funzionalità di sicurezza al processo di accettazione: ciò significa automatizzare i test di convalida degli input, nonché delle funzioni di autenticazione e autorizzazione della verifica.
  • Automatizza gli aggiornamenti di sicurezza, come le patch per le vulnerabilità note: eseguendo questa operazione tramite la pipeline DevOps, gli amministratori possono evitare di accedere ai sistemi di produzione, durante la creazione di un registro delle modifiche documentato e tracciabile.
  • Automatizza la gestione della configurazione del sistema e dei servizi: questo garantisce la conformità ai criteri di sicurezza e l'eliminazione degli errori manuali. È necessario automatizzare anche le procedure di auditing e correzione.

Scopri di più sull'approccio CI/CD 

 

Sottotitoli disponibili in italiano. Durata del video: 02:21. 
Grazie a funzionalità di sicurezza integrate, la gamma di prodotti open source di Red Hat offre gli strumenti e le piattaforme necessari a superare gli ostacoli presenti e futuri legati a sicurezza e conformità.

Immagine della copertina dell'ebook DevOps culture and practice with OpenShift

Scopri di più sulle procedure e sulla cultura DevOps con OpenShift

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

Cosa si intende con CI/CD?

Il metodo CI/CD introduce l'automazione costante e il monitoraggio continuo in tutto il ciclo di vita delle applicazioni, dalle fasi di integrazione e test a quelle di distribuzione e deployment.

ARTICOLO

Il ruolo di un ingegnere DevOps

Un ingegnere DevOps possiede competenze ed esperienze specifiche che promuovono collaborazione, innovazione e trasformazione all'interno di un'azienda.  

Scopri di più su DevOps

Prodotti

Un incontro conoscitivo approfondito con gli esperti di Red Hat in cui apprendere una metodologia agile e identificare gli strumenti open source più adatti a risolvere i problemi della tua azienda.

Collabora con il nostro team di consulenti strategici in grado di analizzare l'azienda nel suo insieme e valutare le sfide da affrontare, per aiutarti a superarle con soluzioni complete e convenienti.

Risorse