DevOps

Cos'è la metodologia DevSecOps?

La metodologia DevOps non riguarda solo i team operativi e di sviluppo. Se desideri sfruttare tutta l'agilità e la reattività di un approccio DevOps, la sicurezza IT deve avere un ruolo fondamentale nell'intero ciclo di vita delle tue applicazioni.

Perché? In passato, il ruolo della sicurezza era isolato a un team specifico e confinato alla fase finale dello sviluppo. 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.

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.

DevSecOps significa pensare alla sicurezza delle applicazioni e dell'infrastruttura fin dall'inizio, nonché automatizzare alcune funzionalità di sicurezza per evitare che rallentino il flusso di lavoro DevOps. Scegliere gli strumenti di sicurezza giusti e integrarli in maniera continuativa può servire a soddisfare gli obiettivi in materia di sicurezza, tuttavia, per garantire la sicurezza DevOps non basta, poiché occorre sfruttare i cambiamenti culturali promossi da DevOps per integrare al più presto possibile il lavoro dei team di sicurezza.


Sicurezza DevOps integrata

La metodologia “DevOps” o “DevSecOps” che dir si voglia è sempre stata la soluzione ideale per rendere la sicurezza una parte integrante dell'intero ciclo di vita delle applicazioni. La sicurezza DevSecOps è una sicurezza integrata che non si limita ad agire come un perimetro intorno ad app e dati. Se la sicurezza continua a essere confinata alla fase finale del ciclo di sviluppo, le organizzazioni che adottano la metodologia DevOps possono trovarsi bloccate in quei lunghi cicli di sviluppo che cercano di evitare in tutti i modi.

In parte, DevSecOps evidenzia la necessità di stimolare i team di sicurezza a proteggere la sicurezza delle informazioni e a definire un piano di automazione della sicurezza alla nascita delle iniziative DevOps, nonché di aiutare gli sviluppatori a creare codici tenendo a mente la sicurezza, un processo che richiede la condivisione di dati, feedback e informazioni sulle minacce note da parte dei team di sicurezza. Questo nuovo approccio potrebbe richiedere la partecipazione degli sviluppatori a nuovi corsi di formazione sulla sicurezza, cosa che non era così tipica con l'approccio di sviluppo tradizionale.

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


Sicurezza DevOps automatizzata

Tutte le organizzazioni devono assolutamente 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 che generalmente tendono a essere isolati. Tutte queste iniziative iniziano a livello umano, con i pro e i contro che caratterizzano la collaborazione all'interno di un'organizzazione, ma in un framework DevSecOps sono facilitate dall'automazione.

Cosa automatizzare e come? Qui trovi qualche consiglio. Le organizzazioni dovrebbero fare un passo indietro ed esaminare l'intero ambiente di sviluppo e operazioni, compresi repository di controllo delle fonti, registri dei container, flusso di sviluppo continuo e di integrazione continua (CI/CD), gestione delle API, automazione dell'orchestrazione e dei rilasci, e gestione e 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'unica cosa ad essere cambiata 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.


Sicurezza DevOps pensata per container e microservizi

L'infrastruttura più ampia e più dinamica consentita dai container ha cambiato il modo di operare di tantissime organizzazioni. È proprio per questo motivo che le pratiche di sicurezza DevOps devono adattarsi a un nuovo paesaggio e 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. La sicurezza deve invece 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 di app dall'inizio alla fine. Questo richiede una nuova strategia organizzativa oltre a nuovi strumenti. 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.

Sicurezza dell'ambiente e dei dati:

Standardizzazione e automazione dell'ambiente.

Ogni servizio deve limitare nella misura massima possibile gli accessi e i collegamenti non autorizzati.

Centralizzazione delle capacità di controllo degli accessi e delle identità degli utenti.

Meccanismi rigidi di autenticazione centralizzata e di controllo degli accessi sono fondamentali per garantire la sicurezza dei microservizi, poiché l'autenticazione avviene in più punti.

Isolamento dei container che eseguono microservizi tra loro e dalla rete.

Sono inclusi anche i dati in transito e a riposo perché entrambi possono rappresentare obiettivi ad alto valore per eventuali attacchi.

Crittografia dei 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 accesso non autorizzato.

Introduzione di gateway di API protetti.

La presenza di API protette accresce la visibilità su autorizzazioni e routing. Riducendo le API esposte, è possibile ridurre le superfici attaccabili.

Sicurezza del processo CI/CD:

Integrazione di scanner di sicurezza per i container.

Questo dovrebbe rientrare nel processo di aggiunta di container al registro.

Automazione dei test di sicurezza nel processo CI.

È inclusa l'esecuzione di strumenti di analisi statica della sicurezza nell'ambito delle build, nonché la scansione di eventuali immagini di container precreati per verificare la presenza di vulnerabilità note nel corso della creazione.

Aggiunta di test automatizzati per le capacità di sicurezza nel processo di accettazione.

Automazione dei test di convalida degli input, nonché delle funzioni di autenticazione e autorizzazione della verifica.

Automazione degli aggiornamenti di sicurezza, come patch per le vulnerabilità note.

Da effettuare tramite il flusso DevOps. Dovrebbe eliminare la necessità per gli amministratori di accedere ai sistemi di produzione, creando al tempo stesso un registro delle modifiche documentato e tracciabile.

Automazione delle capacità di 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 risoluzione.

Gli strumenti DevSecOps di cui hai bisogno

Gestione

Una tecnologia di automazione semplice e agentless in grado di migliorare i processi esistenti, di garantire l'ottimizzazione attraverso la migrazione delle applicazioni, e di fornire un unico linguaggio per le attività di DevOps dell'intera organizzazione.

Cloud computing

La sicurezza integrata per le applicazioni basate su container offerta da Red Hat® OpenShift® include controlli di accesso basati sui ruoli, isolamento garantito da Security-Enhanced Linux (SELinux) e controlli durante tutto il processo di creazione del container.

DevSecOps si presta a molti altri utilizzi