1. Argomenti
  2. Sicurezza
  3. Cos'è la metodologia DevSecOps?

Cos'è la metodologia DevSecOps?

CopiedCopy failedCopia URL

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 si è arrivati a coniare 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 priorizzazione della sicurezza fin dalle prima fasi della progettazione e dello sviluppo fino al runtime è 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. L'approccio shift right consente la continuazione della pratica di test, controllo qualità e valutazione delle prestazioni in un ambiente post-produzione.

Scopri di più sulla scelta di Red Hat per DevSecOps

Ingegneria della piattaforma e DevOps

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 della sicurezza. 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.

Codifica, crea e monitora con Red Hat® Trusted Software Supply Chain

La lista delle cose da fare è lunga: gestire cicli di sviluppo brevi e frequenti, integrare misure di sicurezza assicurando un'interruzione minima delle operazioni, stare al passo con le innovazioni tecnologiche come i container e i microservizi e, al tempo stesso, promuovere la stretta collaborazione tra i team generalmente isolati, un compito arduo per qualsiasi organizzazione. 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, tra le altre cose, repository di controllo della sorgente, registri di container, pipeline di integrazione e distribuzione continue (CI/CD), gestione delle interfacce di programmazione delle applicazioni (API), automazione dell'orchestrazione e dei rilasci, nonché gestione e monitoraggio operativi.

Grazie alle nuove tecnologie di automazione le organizzazioni possono adottare più pratiche di sviluppo agile e implementare misure di sicurezza avanzate. Ma l'automazione non è l'unica evoluzione del panorama IT degli ultimi anni: le tecnologie cloud native come i container e i microservizi svolgono ora un ruolo chiave nella maggior parte delle iniziative DevOps, tanto che la sicurezza DevOps deve adattarsi per accoglierle.

Lo sviluppo e la distribuzione più scalabili e dinamici dei container hanno cambiato il modo di innovare 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 for Kubernetes adotta l'approccio shift left e automatizza le procedure consigliate DevSecOps. Compatibile con qualsiasi ambiente Kubernetes e integrata con gli strumenti DevOps e di sicurezza, la piattaforma aiuta i team a rendere la catena di distribuzione, l'infrastruttura e i carichi di lavoro operativi e più sicuri.

Sicurezza dell'ambiente e dei dati

  • Standardizza e automatizza l'ambiente: ogni servizio deve disporre del minor numero di privilegi possibile per limitare al massimo le connessioni e gli accessi non autorizzati.
  • Centralizza le funzionalità di controllo dell'identità e degli accessi degli utenti: un controllo degli accessi rigoroso e meccanismi di autenticazione centralizzati sono essenziali per proteggere i microservizi, poiché l'autenticazione viene avviata in più punti.
  • Isola tra di loro e dalla rete i container che eseguono microservizi: ciò include sia i dati in transito che quelli inattivi, poiché entrambi possono rappresentare obiettivi di alto valore per i criminali informatici.
  • Usa la crittografia dei dati tra app e servizi: una piattaforma di orchestrazione dei container con funzionalità di sicurezza integrate aiuta a ridurre al minimo la possibilità di accessi non autorizzati.
  • Introduci gateway API sicuri: le API sicure aumentano la visibilità delle autorizzazioni e del routing. Riducendo le API esposte, è possibile limitare le superfici vulnerabili.
     

Red Hat Enterprise Linux aiuta le organizzazioni a mantenere livelli di sicurezza coerenti per i carichi di lavoro containerizzati, ibridi e multicloud. Red Hat Enterprise Linux offre un sistema consolidato e verificabile che protegge i dati fin dall'avvio e fornisce una crittografia avanzata per proteggere i dati in transito. Ciò è possibile grazie a funzionalità come l'avvio sicuro per la misurazione crittografica dei moduli caricabili e dell'ambiente di avvio e l'attestazione remota per verificare l'integrità del sistema e rilevare eventuali violazioni. Inoltre, Red Hat Enterprise Linux offre un sistema trasparente di tracciamento delle vulnerabilità e dei Software bill of materialsPagina disponibile in Inglese (Italiano non disponibile), oltre ad aggiornamenti e correzioni costanti tramite i suoi servizi di sottoscrizione.

Scopri di più su Red Hat Enterprise Linux e sulla sicurezza→ 

Sicurezza delle procedure CI/CD

  • Integra gli scanner di sicurezza per i container: questo dovrebbe essere parte del processo di aggiunta dei container al registro.
  • Automatizza i test di sicurezza nel processo CI: sono incluse sia l'esecuzione di analisi di sicurezza statiche nelle build, sia la scansione delle immagini dei container predefinite per verificare la presenza di vulnerabilità della sicurezza quando vengono integrate nella pipeline di creazione.
  • Aggiungi test automatizzati per le funzionalità di sicurezza nel processo di collaudo: automatizza i test di convalida dell'input e le funzionalità di autenticazione e autorizzazione della verifica.
  • Automatizza gli aggiornamenti di sicurezza, come le patch per le vulnerabilità note: puoi farlo 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 le funzionalità di gestione della configurazione dei servizi e dei sistemi: ciò 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ù sulla sicurezza CI/CD 

L'ingegneria della piattaforma è una disciplina nell'ambito dello sviluppo software che mira a migliorare la produttività, la distribuzione del software e la velocità di lancio sul mercato. Si distingue dalla metodologia DevOps perché ogni pratica si presenta in un momento distinto e si concentra su una serie di problemi diversi. L'obiettivo generale dell'ingegneria della piattaforma è identificare le criticità che incidono sui team di sviluppo e mitigarle fornendo strumenti, servizi e funzionalità comuni e riutilizzabili tramite una piattaforma di sviluppo interna (IDP). L'ingegneria della piattaforma può supportare le pratiche DevSecOps creando nuove funzionalità per la sicurezza, la produttività e la standardizzazione. La pratica può anche facilitare l'adozione della metodologia DevSecOps e creare una catena di distribuzione del software sicura per la distribuzione delle applicazioni. 

Scopri di più su come l'ingegneria della piattaforma può migliorare la metodologia DevSecOpsPagina disponibile in Inglese (Italiano non disponibile)

Red Hat Enterprise Linux e la sicurezza 

Red Hat Enterprise Linux è la base consolidata che può aiutarti a migliorare il livello di sicurezza e conformità fin dall'inizio. Red Hat Enterprise Linux aiuta le organizzazioni a: 

  • Ottenere una sicurezza integrata fin dall'inizio. 
  • Utilizzare l'immutabilità e le immagini preconsolidate con la modalità immagine per Red Hat Enterprise Linux 
  • Ottenere l'efficienza con l'automazione e l'orchestrazione tramite i ruoli di sistema di Red Hat. 
  • Creare una catena di distribuzione del software affidabile e sicura. 
  • Approfittare delle solide protezioni del runtime con SELinux e fapolicyd. 

Scopri di più su Red Hat Enterprise Linux e sulla sicurezza

Risorsa

L'evoluzione dell'ingegneria della piattaforma nell'era dell'IA

Questo articolo fornisce un riepilogo generale del sondaggio condotto da Illuminas sull'evoluzione dell'ingegneria della piattaforma nell'era dell'IA. Scopri i dettagli.

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

Shift left e shift right a confronto

Adottare strategie shift left e shift right significa implementare test continui in ogni fase del ciclo di vita dello sviluppo del software.

Cos'è l'automazione della sicurezza?

L'automazione della sicurezza utilizza tecnologie che eseguono le attività necessarie limitando l'intervento umano e integrando processi, applicazioni e infrastrutture di sicurezza.

Cos'è la sicurezza all'edge?

Il concetto di sicurezza all'edge fa riferimento alla combinazione di strumenti e procedure utilizzata per proteggere l'infrastruttura e i carichi di lavoro edge in posizioni remote con risorse esperte in loco potenzialmente limitate.

Sicurezza: risorse consigliate

Articoli correlati