Accedi / Registrati Account
Jump to section

Cos'è la metodologia DevSecOps?

Copia 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 cruciale dell'intero ciclo di vita delle tue 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.

immagine

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.

immagine

DevSecOps significa integrare la sicurezza delle applicazioni e dell'infrastruttura fin dall'inizio del ciclo di sviluppo, nonché automatizzare alcune attività di controllo della sicurezza per evitare che rallentino il flusso di lavoro DevOps. Per realizzare tali obiettivi, è necessario scegliere gli strumenti che consentano 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 implementare 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 metodologia "DevOps" o "DevSecOps" è sempre stata 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. Anche gli sviluppatori sono chiamati a ripensare la creazione del codice, attraverso un processo che tenga conto della condivisione di dati, feedback e informazioni sulle vulnerabilità note ai team di sicurezza. 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 è 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.

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.

immagine

Per ottenere più dettagli sul processo di automazione, puoi consultare questo compendio di utili practice. Le organizzazioni dovrebbero fare un passo indietro ed esaminare l'ambiente di sviluppo e operativo nella sua interezza, tra cui: 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'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.

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 delle app dall'inizio alla fine. E questo richiede, oltre all'adozione di nuovi strumenti, 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.

Senti cos'hanno da dire gli esperti in merito alla protezione dello stack applicativo e del ciclo di vita dei container grazie a questa serie di webinar.

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à utenti: per garantire la sicurezza dei microservizi, adottare 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 ridurre 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.

Tutta l'offerta DevSecOps

Red Hat Ansible Automation

Una tecnologia di automazione IT 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.

Red Hat OpenShift

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

Illustration - mail

Ricevi contenuti simili

Iscriviti a Red Hat Shares, la nostra newsletter gratuita.