DevOps security: sfide e best practice per gli ambienti di sviluppo

Parlare di sicurezza nello sviluppo di applicazioni moderne richiede una visione ampia, soprattutto in ottica temporale. Se gli aspetti tecnologici e organizzativi consentono di fotografare lo stato di avanzamento dello sviluppo, l’evoluzione normativa e della sicurezza impone un approccio orientato al futuro, capace di garantire continuità anche in contesti mutevoli.

Il ciclo di sviluppo del software si consolida sempre più intorno all’approccio DevOps. Sebbene esistano alternative come l’Agile puro, il DevOps mostra oggi grande robustezza e flessibilità, anche con l’introduzione di nuovi paradigmi come IoT, AI e, naturalmente, sicurezza.

DevOps è un processo di sviluppo continuo end-to-end, con test costanti e consegne quotidiane (continuous delivery). Fondamentale è la multidisciplinarità dei team, che possono così ampliare facilmente il loro campo d’azione.

SecDevOps: la sfida del miglioramento

In Italia l’adozione del paradigma è in corso. Secondo il Politecnico di Milano, nel 2020 circa la metà delle aziende era ancora poco incline al DevOps, complice l’impatto della pandemia. Già dal 2021, però, si è assistito a una forte accelerazione, che ha aumentato la competitività nei settori digitali.

I principali freni sono la pervasività dei metodi tradizionali (59%), la mancanza di competenze (57%), la carenza di cultura Agile (55%) e la resistenza al cambiamento (54%).

Un aggiornamento dell’approccio aziendale, supportato da un partner esperto, consente di superare questi ostacoli. La maggioranza delle aziende riconosce che strumenti e metodologie Agile/DevOps hanno inciso fortemente sul modello di business. Per i clienti, questo si traduce in maggiore soddisfazione (81%) e collaborazione (69%).

Fig. 1 – L’utilizzo di strumenti e metodologie DevOps nei progetti IT da parte delle aziende italiane, 2020.

Utilizzo DevOps in Italia 2020

Fonte: Osservatorio Cloud Transformation

DevOps security fin dalla fase di design

Oggi si parte dalla security by design: la sicurezza va prevista già in fase di progettazione. In caso contrario, si rischiano colli di bottiglia complessi da risolvere.

La progettazione diventa quindi essenziale, insieme alla coesistenza dei team di sicurezza, sviluppo e operation. Le app moderne sono composte da microservizi, comunicano tramite API e vengono distribuite con pipeline CI/CD automatizzate.

Serve una varietà di tool specializzati, tutti integrati all’interno del modello SDLC (software development life cycle). Integrare tool in ognuna delle 7 fasi consente di migliorare le competenze e attrarre talenti qualificati.

Fig. 2 – Il ciclo CI/CD ha a disposizione sempre più tools di ogni tipo.

CI/CD tools

Fonte: Nginx

Best practice: il WAF

Uno strumento efficace per integrare la sicurezza nel DevOps è il WAF (Web Application Firewall), progettato per seguire il ciclo di sviluppo software.

Per garantire sicurezza senza rallentare i rilasci, i team DevOps devono collaborare con i team di security mantenendo piena integrazione nel processo CI/CD. Un WAF dedicato è fortemente consigliato.

Un WAF favorisce l’integrazione tra sviluppo, operation e sicurezza, promuove la security by design e riduce la complessità di gestione, i downtime e le violazioni.

Tra i WAF principali troviamo ModSecurity, Amazon WAF e Nginx AppProtect. Un report di Gigaom ha confrontato queste soluzioni: Nginx AppProtect risulta il più diffuso negli scenari ad alte prestazioni.

Anche se non necessario subito, il WAF va considerato fin da ora come parte integrante di un percorso di miglioramento continuo.

Fig. 3 – Un corretto uso delle API è centrale in una strategia di DevOps security.

DevOps e API security

Fonte: Nginx

back to top