Implementare la sicurezza della pipeline

Completato

È fondamentale proteggere il codice proteggendo credenziali e segreti. Gli attacchi di phishing stanno diventando sempre più sofisticati. L'elenco seguente include una serie di procedure operative che un team dovrebbe applicare per proteggersi:

  • Autenticazione e autorizzazione. Usare l'autenticazione a più fattori (MFA), anche tra domini interni, e strumenti di amministrazione just-in-time, ad esempio Just Enough Administration (JEA) di Azure PowerShell, per proteggersi dalle escalation dei privilegi. L'uso di password diverse per account utente diversi consente di limitare i danni nel caso in cui venga sottratto un set di credenziali di accesso.
  • Pipeline di versione CI/CD. Se la pipeline di versione e la frequenza di rilascio vengono danneggiate, usare questa pipeline per ricostruire l'infrastruttura. Gestire l'infrastruttura come codice (IaC) con Azure Resource Manager oppure usare il modello di piattaforma distribuita come servizio (PaaS) di Azure o un servizio simile. La pipeline creerà automaticamente nuove istanze e quindi le eliminerà, limitando così il rischio che utenti malintenzionati nascondano codice dannoso all'interno dell'infrastruttura. Azure DevOps crittograferà i segreti nella pipeline. È inoltre consigliabile ruotare le password come per le altre credenziali.
  • Gestione delle autorizzazioni. È possibile gestire le autorizzazioni per proteggere la pipeline con il controllo degli accessi in base al ruolo, proprio come si farebbe per il codice sorgente. In questo modo si mantiene il controllo delle modifiche alle definizioni di build e versione usate per l'ambiente di produzione.
  • Analisi dinamica. È il processo di test dell'applicazione in esecuzione con modelli di attacco noti. Come parte della procedura di rilascio è possibile implementare test di penetrazione. È inoltre possibile tenersi aggiornati sui progetti di sicurezza, ad esempio Open Web Application Security Project (OWASP), e adottarli nei processi.
  • Monitoraggio della produzione. È una pratica fondamentale di DevOps. I servizi specializzati per rilevare anomalie correlate alle intrusioni sono noti come SIEM (Security Information and Event Management, informazioni di sicurezza e gestione degli eventi). Microsoft Defender per il cloud è incentrato sugli incidenti di sicurezza correlati al cloud di Azure.

Nota

In ogni caso, usare modelli di Azure Resource Manager o altre configurazioni basate su codice. Implementare le procedure consigliate di IaC, ad esempio apportare modifiche nei modelli per renderle tracciabili e ripetibili. È inoltre possibile usare tecnologie di provisioning e configurazione, ad esempio Desired State Configuration (DSC), Automazione di Azure e altri strumenti e prodotti di terze parti che possono integrarsi facilmente con Azure.