Cosa è DevSecOps

Cosa è DevSecOps. Negli ultimi anni nel mondo informatico si è iniziato a parlare di cultura Agile, poi passare alla cultura DevOps ed oggi il termine più attuale è il DevSecOps.

La sicurezza è l’aspetto che sta più a cuore a tutti nei sistemi informatici. Difatti, DevSecOps è sinonimo di sviluppo, sicurezza e operazioni. È un approccio alla cultura, all’automazione e alla progettazione della piattaforma che integra la sicurezza come responsabilità condivisa durante l’intero ciclo di vita dell’IT.

Proviamo a fare un confronto fra DevSecOps e DevOps.
DevOps non riguarda solo i team operativi e di sviluppo. Se si vuole sfruttare appieno l’agilità e la reattività di un approccio DevOps, anche la sicurezza IT deve svolgere un ruolo integrato nell’intero ciclo di vita delle tue app.

In passato, il ruolo della sicurezza era riservato a un team specifico nella fase finale dello sviluppo. Non era così problematico quando i cicli di sviluppo duravano mesi o addirittura anni, ma quei giorni sono finiti. Un DevOps efficace garantisce cicli di sviluppo rapidi e frequenti (a volte settimane o giorni), ma pratiche di sicurezza obsolete possono annullare anche le iniziative DevOps più efficienti.

Ora, nel quadro collaborativo di DevOps, la sicurezza è una responsabilità condivisa integrata dall’inizio alla fine. È una mentalità così importante che ha portato alcuni a coniare il termine “DevSecOps” per sottolineare la necessità di costruire una base di sicurezza nelle iniziative DevOps.

DevSecOps significa pensare alla sicurezza delle applicazioni e dell’infrastruttura fin dall’inizio. Significa anche automatizzare alcune porte di sicurezza per evitare che il flusso di lavoro DevOps rallenti. La selezione degli strumenti giusti per integrare continuamente la sicurezza, come concordare un ambiente di sviluppo integrato (IDE) con funzionalità di sicurezza, può aiutare a raggiungere questi obiettivi. Tuttavia, una sicurezza DevOps efficace richiede più di nuovi strumenti: si basa sui cambiamenti culturali di DevOps per integrare il lavoro dei team di sicurezza prima piuttosto che dopo.

Che tu lo chiami “DevOps” o “DevSecOps”, è sempre stato ideale includere la sicurezza come parte integrante dell’intero ciclo di vita dell’app. DevSecOps riguarda la sicurezza integrata, non la sicurezza che funge da perimetro attorno ad app e dati. Se la sicurezza rimane alla fine della pipeline di sviluppo, le organizzazioni che adottano DevOps possono ritrovarsi dei lunghi cicli di sviluppo che cercano soltanto di evitare le falle di sicurezza.

In parte, DevSecOps evidenzia la necessità di invitare team e partner di sicurezza all’inizio delle iniziative DevOps per integrare la sicurezza delle informazioni e impostare un piano per l’automazione della sicurezza. Sottolinea inoltre la necessità di aiutare gli sviluppatori a programmare tenendo presente la sicurezza. Un processo che coinvolge i team di sicurezza che condividono visibilità, feedback e approfondimenti su minacce note, come minacce interne o potenziali malware. È possibile che ciò possa includere anche una nuova formazione sulla sicurezza per gli sviluppatori, dal momento che non è sempre stato un punto focale nello sviluppo di applicazioni più tradizionali.

Come si presenta quindi la sicurezza integrata(o “nativa”)? Per cominciare, una buona strategia DevSecOps consiste nel determinare la tolleranza al rischio e condurre un’analisi rischi/benefici. Quanti controlli di sicurezza sono necessari all’interno di una determinata app? Quanto è importante la velocità di commercializzazione per diverse app? L’automazione delle attività ripetute è fondamentale per DevSecOps, poiché l’esecuzione di controlli di sicurezza manuali nella pipeline può richiedere molto tempo.

La sicurezza DevOps è automatizzata.
Cosa fare: mantenere cicli di sviluppo brevi e frequenti, integrare le misure di sicurezza con interruzioni minime delle operazioni, stare al passo con tecnologie innovative come container e microservizi e nel contempo promuovere una collaborazione più stretta tra team comunemente isolati: questo è un compito arduo per qualsiasi organizzazione. Tutte queste iniziative iniziano a livello umano, con i dettagli della collaborazione all’interno della tua organizzazione, ma il facilitatore di questi cambiamenti umani in un framework DevSecOps è l’automazione. Quindi: DevOps + Automation = Security .

Ma cosa automatizzare e come? C’è una guida scritta per aiutare a rispondere a questa domanda. Le organizzazioni dovrebbero fare un passo indietro e considerare l’intero ambiente di sviluppo e operativo. Ciò include i repository di controllo del codice sorgente, i registri dei contenitori, la pipeline di integrazione continua e distribuzione continua (CI/CD), la gestione dell’interfaccia di programmazione delle applicazioni (API), l’orchestrazione e l’automazione del rilascio e la gestione e il monitoraggio operativi.

Le nuove tecnologie di automazione hanno aiutato le organizzazioni ad adottare pratiche di sviluppo più agili e hanno anche svolto un ruolo nell’avanzamento di nuove misure di sicurezza. Ma l’automazione non è l’unica cosa del panorama IT che è cambiata negli ultimi anni: le tecnologie native del cloud come container e microservizi sono ora una parte importante della maggior parte delle iniziative DevOps e la sicurezza DevOps deve adattarsi per soddisfarle.

La sicurezza DevOps è progettata per container e microservizi
La maggiore scalabilità e l’infrastruttura più dinamica abilitata dai container hanno cambiato il modo in cui molte organizzazioni fanno affari. Per questo motivo, le pratiche di sicurezza DevOps devono adattarsi al nuovo panorama e allinearsi alle linee guida sulla sicurezza specifiche del container.

Le tecnologie native del cloud non si prestano a policy di sicurezza statiche e liste di controllo. Piuttosto, la sicurezza deve essere continua e integrata in ogni fase del ciclo di vita dell’app e dell’infrastruttura.

DevSecOps significa integrare la sicurezza nello sviluppo delle app dall’inizio alla fine. Questa integrazione nella pipeline richiede una nuova mentalità organizzativa tanto quanto nuovi strumenti. Con questo in mente, i team DevOps dovrebbero automatizzare la sicurezza per proteggere l’ambiente e i dati complessivi, nonché il processo di integrazione continua/distribuzione continua, un obiettivo che probabilmente includerà la sicurezza dei microservizi nei container.

Ambiente e sicurezza dei dati. Di seguito i punti cardine:

  • Standardizzare e automatizzare l’ambiente: ogni servizio dovrebbe avere il minor privilegio possibile per ridurre al minimo le connessioni e gli accessi non autorizzati.
    Centralizzare le funzionalità di controllo dell’identità e degli accessi degli utenti: un rigoroso controllo degli accessi e meccanismi di autenticazione centralizzati sono essenziali per proteggere i microservizi, poiché l’autenticazione viene avviata in più punti.
  • Isolare i contanier che eseguono microservizi l’uno dall’altro e dalla rete: ciò include sia i dati in transito che quelli inattivi, poiché entrambi possono rappresentare obiettivi di alto valore per gli aggressori.
  • Crittografare i 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.
  • Introdurre gateway API sicuri: le API sicure aumentano la visibilità dell’autorizzazione e del routing. Riducendo le API esposte, le organizzazioni possono ridurre le superfici degli attacchi.


C//CD process security:

  • Integrare gli scanner di sicurezza per i contenitori: questo dovrebbe far parte del processo per l’aggiunta di contenitori al registro.
  • Automatizzare i test di sicurezza nel processo CI: include l’esecuzione di strumenti di analisi statica della sicurezza come parte delle build, nonché la scansione di eventuali immagini di container predefinite per le vulnerabilità di sicurezza note mentre vengono inserite nella pipeline di build.
  • Aggiungere test automatizzati per le funzionalità di sicurezza nel processo di test di accettazione: automatizza i test di convalida dell’input, nonché le funzionalità di autenticazione e autorizzazione di verifica.
  • Automatizzare gli aggiornamenti di sicurezza, come le patch per le vulnerabilità note: fallo tramite la pipeline DevOps. Dovrebbe eliminare la necessità per gli amministratori di accedere ai sistemi di produzione, creando al contempo un registro delle modifiche documentato e tracciabile.
  • Automatizzare le funzionalità di gestione della configurazione del sistema e del servizio: ciò consente la conformità alle politiche di sicurezza e l’eliminazione degli errori manuali. Anche l’audit e la correzione dovrebbero essere automatizzati.

(fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura DevOps e DevSecOps. In particolare trovate i seguenti corsi (per aziende):

Corso OWASP Sicurezza Web App

Corso DevSecOps

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)

Vuoi essere ricontattato? Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Ti potrebbe interessare

    Articoli correlati