Procedure consigliate per lo sviluppo sicuro in Azure

Questa serie di articoli illustra le attività di sicurezza e i controlli da considerare quando si sviluppano applicazioni per il cloud. Vengono trattate le fasi del ciclo di vita dello sviluppo della sicurezza Microsoft (SDL) e i concetti e i concetti da considerare durante ogni fase del ciclo di vita. L'obiettivo è definire le attività e i servizi di Azure che è possibile usare in ogni fase del ciclo di vita per progettare, sviluppare e distribuire un'applicazione più sicura.

Le raccomandazioni contenute negli articoli provengono dall'esperienza con la sicurezza di Azure e dalle esperienze dei clienti. È possibile usare questi articoli come riferimento per ciò che è consigliabile prendere in considerazione durante una fase specifica del progetto di sviluppo, ma è consigliabile leggere anche tutti gli articoli dall'inizio alla fine almeno una volta. La lettura di tutti gli articoli illustra i concetti che potrebbero non essere stati rilevati nelle fasi precedenti del progetto. L'implementazione di questi concetti prima di rilasciare il prodotto consente di creare software sicuro, soddisfare i requisiti di conformità della sicurezza e ridurre i costi di sviluppo.

Questi articoli sono destinati a essere una risorsa per progettisti di software, sviluppatori e tester a tutti i livelli che compilano e distribuiscono applicazioni di Azure sicure.

Panoramica

La sicurezza è uno degli aspetti più importanti di qualsiasi applicazione e non è una cosa semplice da risolvere. Fortunatamente, Azure offre molti servizi che consentono di proteggere l'applicazione nel cloud. Questi articoli illustrano le attività e i servizi di Azure che è possibile implementare in ogni fase del ciclo di vita dello sviluppo software per sviluppare codice più sicuro e distribuire un'applicazione più sicura nel cloud.

Security Development Lifecycle

Le procedure consigliate per lo sviluppo di software sicuro richiedono l'integrazione della sicurezza in ogni fase del ciclo di vita dello sviluppo software, dall'analisi dei requisiti alla manutenzione, indipendentemente dalla metodologia del progetto (cascata, agile o DevOps). A seguito di violazioni dei dati di alto profilo e dello sfruttamento dei difetti di sicurezza operativa, più sviluppatori stanno comprendendo che la sicurezza deve essere affrontata durante il processo di sviluppo.

Più avanti si risolve un problema nel ciclo di vita di sviluppo, più questo consente di risolvere i costi. I problemi di sicurezza non fanno eccezione. Se si ignorano i problemi di sicurezza nelle fasi iniziali dello sviluppo software, ogni fase che segue potrebbe ereditare le vulnerabilità della fase precedente. Il prodotto finale accumula più problemi di sicurezza e la possibilità di una violazione. La creazione di sicurezza in ogni fase del ciclo di vita dello sviluppo consente di intercettare i problemi in anticipo e di ridurre i costi di sviluppo.

Seguiamo le fasi del ciclo di vita dello sviluppo della sicurezza Microsoft (SDL) per introdurre attività e servizi di Azure che è possibile usare per soddisfare le procedure di sviluppo software sicure in ogni fase del ciclo di vita.

Le fasi SDL sono:

Security Development Lifecycle

In questi articoli vengono raggruppate le fasi SDL in progettazione, sviluppo e distribuzione.

Coinvolgere il team di sicurezza dell'organizzazione

L'organizzazione potrebbe avere un programma formale di sicurezza delle applicazioni che consente di gestire le attività di sicurezza dall'inizio alla fine durante il ciclo di vita di sviluppo. Se l'organizzazione dispone di team di sicurezza e conformità, assicurarsi di coinvolgerli prima di iniziare a sviluppare l'applicazione. Chiedere loro in ogni fase di SDL se sono presenti attività perse.

Sappiamo che molti lettori potrebbero non avere un team di sicurezza o conformità da coinvolgere. Questi articoli possono essere utili per comprendere le domande e le decisioni relative alla sicurezza da prendere in considerazione in ogni fase di SDL.

Risorse

Usare le risorse seguenti per altre informazioni sullo sviluppo di applicazioni sicure e per proteggere le applicazioni in Azure:

Microsoft Security Development Lifecycle (SDL): SDL è un processo di sviluppo software di Microsoft che consente agli sviluppatori di creare software più sicuro. Consente di soddisfare i requisiti di conformità della sicurezza riducendo i costi di sviluppo.

Open Worldwide Application Security Project (OWASP): OWASP è una community online che produce articoli, metodologie, documentazione, strumenti e tecnologie disponibili gratuitamente nel campo della sicurezza delle applicazioni Web.

Pushing Left, Like a Boss : una serie di articoli online che descrivono diversi tipi di attività di sicurezza delle applicazioni che gli sviluppatori devono completare per creare codice più sicuro.

Microsoft Identity Platform : Microsoft Identity Platform è un'evoluzione del servizio di gestione delle identità Microsoft Entra e della piattaforma per sviluppatori. Si tratta di una piattaforma completa costituita da un servizio di autenticazione, librerie open source, registrazione e configurazione delle applicazioni, documentazione completa per sviluppatori, esempi di codice e altro contenuto per sviluppatori. Microsoft Identity Platform supporta protocolli standard del settore come OAuth 2.0 e OpenID Connessione.

Procedure consigliate e modelli di sicurezza di Azure: una raccolta di procedure consigliate per la sicurezza da usare quando si progettano, distribuiscono e gestiscono soluzioni cloud usando Azure. Le linee guida sono destinate a essere una risorsa per professionisti IT. Potrebbe trattarsi di designer, architetti, sviluppatori e tester che creano e distribuiscono soluzioni sicure per Azure.

Progetti di sicurezza e conformità in Azure : i progetti per la sicurezza e la conformità di Azure sono risorse che consentono di creare e avviare applicazioni basate sul cloud conformi a normative e standard rigorosi.

Passaggi successivi

Negli articoli seguenti è consigliabile usare controlli di sicurezza e attività che consentono di progettare, sviluppare e distribuire applicazioni sicure.