Come integrare DevOps e sicurezza?
Se il DevOps mira a guardare avanti, cercando di fornire nuovi programmi in modo rapido ed efficiente, i tradizionali processi di sicurezza tendono invece ad essere più scrupolosi in termini di agilità e vengono generalmente affrontati nelle ultime fasi dello sviluppo.
Questi due approcci, così diversi tra loro, potrebbero quindi essere considerati “nemici”.

DevOps e Security: fazioni in lotta o grandi amici?
Fazioni nemiche? Non deve essere così. Con i sempre più numerosi security breaches che si verificano ogni settimana, è di vitale importanza che la sicurezza e il DevOps lavorino insieme per integrare e semplificare il delivery, bilanciando la velocità e la sicurezza senza alcun compromesso.
Nonostante questi approcci siano entrambi validi e vitali per il corretto funzionamento di un’impresa, i team che operano in questi due ambiti non sono generalmente integrati, e questo può provocare dei malintesi.
Mentre in passato la colpa è stata attribuita al DevOps, colpevole di seguire cattive pratiche in termini di sicurezza, oggigiorno è inopportuno e controproducente perseverare con questa visione. Infatti, molti team DevOps sono più focalizzati sulla sicurezza rispetto ad un tradizionale team di sviluppo. Dunque, è sufficiente definire i parametri e le priorità a livello di sicurezza affinché entrambi i team lavorino bene insieme. Così facendo, i team possono identificare i punti deboli e gli obiettivi condivisi e sviluppare un metodo di lavoro reciprocamente vantaggioso.
Sia il DevOps che la Security sono gestiti da risorse con competenze approfondite, per cui favorire e sviluppare una comprensione reciproca è fondamentale.
L’obiettivo deve quindi essere quello di modificare i processi per garantire che i team DevOps e di Security siano totalmente coinvolti sin dall’inizio di un progetto.
Automazione
Scoprire quali componenti dei processi di sicurezza possono essere automatizzati consente alle aziende di garantire che questi task siano eseguiti presto, spesso e in modo coerente. L’automazione è importante in quanto consente un risparmio di tempo e assicura una regolarità, ma affinché questo avvenga è necessario che i team abbiano già capito o stabilito dove sono le aree di vulnerabilità e cosa si sta cercando di sfruttare.
Creazione di best practice
Comprendere i metodi e i processi migliori all’interno dei team DevOps e di sicurezza deve essere una best practice. Sono fondamentali, quindi, due elementi di interconnessione: collaborazione e comunicazione.
È necessario garantire la collaborazione tra i team includendo la sicurezza fin dall’inizio del processo, ovvero coinvolgendo i team di sicurezza sin dal momento in cui gli sviluppatori iniziano il processo di sviluppo del codice, il che permette di non avere brutte sorprese da entrambi i lati.
Oltra alla collaborazione, anche la comunicazione è essenziale: è un punto ovvio, che va necessariamente preso in considerazione. Quando una parte sensibile del codice viene modificata o aggiornata, gli sviluppatori devono condividere gli aggiornamenti con il team di sicurezza al fine di individuare la posizione di potenziali vulnerabilità. E allo stesso modo, i team di sicurezza devono indicare le priorità e il mutevole scenario delle minacce affinché il team DevOps ne sia al corrente.
Valutazione
Tutto ciò non significa necessariamente misurare il successo di ogni team, ma piuttosto garantire che entrambi lavorino insieme in modo efficace.
Per far sì che questo accada non c’è bisogno di reinventare la ruota, ma è sufficiente utilizzare metriche esistenti, quali il defect rate, il tempo medio delle failure e le metriche di vulnerabilità nelle scansioni del codice.
DevOps e sicurezza: amici che collaborano
La corretta integrazione tra DevOps e Security richiede fondamentalmente un cambiamento nelle persone, nei processi e negli strumenti, con l’obiettivo di creare in modo efficace un ambiente di lavoro semplificato e collaborativo.