Protezione delle distribuzioni PaaS

In questo articolo vengono fornite informazioni che consentono di:

  • Comprendere i vantaggi di sicurezza dell'hosting delle applicazioni nel cloud
  • Valutare i vantaggi di sicurezza del modello di piattaforma distribuita come servizio (PaaS, Platform as a Service) rispetto ad altri modelli di servizio cloud
  • Modificare l'attenzione verso la sicurezza, da un approccio di sicurezza del perimetro incentrato sulla rete a uno incentrato sulle identità
  • Implementare le migliori pratiche generali di sicurezza PaaS

Sviluppare applicazioni sicure in Azure è una guida generale alle domande e ai controlli di sicurezza da considerare in ogni fase del ciclo di vita di sviluppo software durante lo sviluppo di applicazioni per il cloud.

Vantaggi della sicurezza cloud

È importante comprendere la divisione della responsabilità tra l'utente e Microsoft. In locale si è proprietari dell'intero stack, ma quando si passa al cloud alcune responsabilità vengono trasferite a Microsoft.

Il cloud offre vantaggi di sicurezza. In un ambiente on-premises, le organizzazioni probabilmente hanno responsabilità non soddisfatte e risorse limitate da investire nella sicurezza. Questa situazione crea un ambiente in cui gli attaccanti possono sfruttare vulnerabilità a tutti i livelli.

Le organizzazioni possono migliorare il rilevamento delle minacce e i tempi di risposta usando le funzionalità di sicurezza basate sul cloud e l'intelligence cloud di un provider. Passando le responsabilità al provider di servizi cloud, le organizzazioni possono godere di una sicurezza più ampia e possono così riallocare le relative risorse e i relativi budget ad altre priorità aziendali.

Vantaggi di sicurezza di un modello di servizio cloud PaaS

Rivedi i vantaggi di sicurezza di una distribuzione PaaS Azure rispetto a quella on-premises.

Vantaggi della sicurezza di PaaS

Microsoft consente di ridurre i rischi e le responsabilità comuni già a partire dal fondo dello stack, ovvero l'infrastruttura fisica. Poiché Microsoft monitora continuamente il cloud Microsoft, è difficile da attaccare. Pertanto non ha senso che venga considerato una destinazione. A meno che l'attaccante non abbia molti soldi e risorse, è probabile che si sposti su un altro bersaglio.

A metà dello stack, una distribuzione PaaS e quella on-premises non differiscono. A livello applicativo e a livello di gestione account e accessi, esistono rischi simili. La sezione successiva di questo articolo ti guida sulle migliori pratiche per eliminare o minimizzare questi rischi.

Nella parte superiore dello stack, governance dei dati e Rights Management, è possibile affrontare un rischio che la gestione delle chiavi è in grado di ridurre. Sebbene la gestione delle chiavi sia una responsabilità aggiuntiva, una distribuzione PaaS include aree che non devi più gestire. Si possono dedicare risorse alla gestione delle chiavi.

La piattaforma Azure offre anche una protezione DDoS avanzata usando diverse tecnologie basate sulla rete. Tuttavia, tutti i tipi di protezione da attacchi DDoS basati su rete hanno vari limiti per quanto riguarda collegamenti e data center. Per evitare le problematiche legate agli attacchi DDoS di portata elevata, è possibile sfruttare la funzionalità cloud centrale di Azure per aumentare rapidamente e automaticamente il numero di istanze e difendersi da questi attacchi.

Identità come perimetro di sicurezza primario

Le implementazioni PaaS modificano il tuo approccio generale alla sicurezza. Si passa da un controllo autonomo sostanzialmente totale alla condivisione di alcune responsabilità con Microsoft.

Un'altra differenza significativa tra Le distribuzioni PaaS e le distribuzioni locali tradizionali è una nuova visualizzazione di ciò che definisce il perimetro di sicurezza primario. Storicamente, il principale perimetro di sicurezza on-premises era la rete e la maggior parte dei progetti di sicurezza on-premises utilizza la rete come loro principale fulcro di sicurezza. Per le implementazioni PaaS, considera l'identità come il perimetro di sicurezza principale.

Una delle cinque caratteristiche essenziali del cloud computing consiste nell'ampio accesso alla rete, cosa che rende meno efficace un approccio incentrato su di essa. L'obiettivo della maggior parte del cloud computing è consentire l'accesso agli utenti a prescindere dalla loro posizione. Per la maggior parte degli utenti, la loro posizione è da qualche parte su internet.

La figura seguente mostra come il perimetro di sicurezza si sia evoluto da perimetro di rete a perimetro di identità. La sicurezza consiste sempre meno nel difendere la rete e sempre più nel difendere i dati e nel gestire la sicurezza di app e utenti. La differenza principale sta nel voler avvicinare il più possibile la sicurezza alle priorità dell'azienda.

Identità come nuovo perimetro di sicurezza

Inizialmente, i servizi PaaS di Azure (ad esempio, Servizio app di Azure e Azure SQL) fornivano poche o nessuna difesa perimetrale di rete tradizionale. Lo scopo dell'elemento era essere esposto a internet (ruolo web), e l'autenticazione fornisce il nuovo perimetro (ad esempio, Azure SQL).

Le pratiche di sicurezza moderne presuppongono che l'avversario abbia violato il perimetro della rete. Pertanto, le pratiche di difesa moderne si orientano verso l'identità. Le organizzazioni devono stabilire un perimetro di sicurezza basato sulle identità con autenticazione avanzata e igiene delle autorizzazioni.

Procedure consigliate per la gestione delle identità

Usa le seguenti migliori pratiche per gestire il perimetro delle identità.

Buona pratica: Innanzitutto, considera l'uso di identità gestite per le risorse Azure per accedere in modo sicuro ad altri servizi senza memorizzare credenziali. Dettagli:Le identità gestite forniscono automaticamente un'identità per le applicazioni che girano nei servizi Azure, che consente loro di autenticarsi su servizi che supportano Microsoft Entra ID senza richiedere credenziali in codice o file di configurazione. Questa identità riduce il rischio di esposizione delle credenziali e semplifica la gestione dell'identità per le tue applicazioni.

Procedura consigliata: proteggere le chiavi e le credenziali per proteggere la distribuzione PaaS. Dettagli: la perdita di chiavi e credenziali è un problema comune. Puoi usare una soluzione centralizzata in cui memorizzi chiavi e segreti in moduli di sicurezza hardware (HSM). Azure Key Vault protegge le tue chiavi e i tuoi segreti criptando le chiavi di autenticazione, le chiavi degli account di storage, le chiavi di cifratura dei dati, i file .pfx e le password utilizzando chiavi protette dagli HSM.

Procedura consigliata: non inserire credenziali e altri segreti nel codice sorgente o in GitHub. Dettaglio: l'unica cosa peggiore che perdere le chiavi e le credenziali è avere un'entità non autorizzata ottenere l'accesso a tali chiavi. Gli utenti malintenzionati possono sfruttare le tecnologie bot per trovare chiavi e segreti archiviati in repository di codice come GitHub. Non mettere chiavi e segreti in questi repository pubblici di codice.

Procedura consigliata: usare piattaforme di autenticazione e autorizzazione avanzate. Dettaglio: Utilizzare Microsoft Entra ID per l'autenticazione anziché gli archivi di utenti personalizzati. Quando si usa Microsoft Entra ID, si sfrutta un approccio basato sulla piattaforma e si delega la gestione delle identità autorizzate. Un approccio Microsoft Entra ID è particolarmente importante quando i contratti dei dipendenti vengono conclusi e le informazioni devono essere aggiornate attraverso più sistemi di identità e autorizzazione.

Usare i meccanismi di autenticazione e autorizzazione forniti dalla piattaforma invece di un codice personalizzato. poiché sviluppare un codice di autenticazione personalizzato può dare luogo a errori. La maggior parte dei tuoi sviluppatori non è esperta di sicurezza e difficilmente sarà a conoscenza delle sottigliezze e degli ultimi sviluppi nell'autenticazione e nell'autorizzazione. Il codice commerciale, ad esempio quello di Microsoft, è spesso soggetto a rigorose analisi di sicurezza.

Utilizzare l'autenticazione multifattore (MFA) e assicurarsi che i metodi MFA resistenti al phishing - come passkey, FIDO2 o autenticazione basata su certificati (CBA) - siano applicati tramite politiche di Accesso Condizionale. Come minimo, richiederli per tutti gli amministratori e per una sicurezza ottimale, implementarli a livello di tenant. L'accesso alle interfacce di gestione di Azure (portale/PowerShell remoto) e ai servizi rivolti ai clienti deve essere progettato e configurato per l'uso dell'autenticazione a più fattori Di Microsoft Entra.

Per l'accesso all'app, usa OpenID Connect (OIDC) con OAuth 2.0 tramite Microsoft Entra ID. Questi protocolli sono ampiamente sottoposti a revisione paritaria e probabilmente implementati come parte delle librerie della tua piattaforma per l'autenticazione e l'autorizzazione.

Usare la modellazione delle minacce durante la progettazione delle applicazioni

Il ciclo di vita di sviluppo della sicurezza Microsoft specifica che i team devono impegnarsi in un processo denominato modellazione delle minacce durante la fase di progettazione. Per facilitare questo processo, Microsoft ha creato lo strumento SDL Threat Modeling Tool. La modellazione della progettazione dell'applicazione e l'enumerazione delle minacce STRIDE in tutti i limiti di attendibilità possono intercettare gli errori di progettazione all'inizio.

Nella tabella seguente sono elencate le minacce STRIDE e alcuni esempi di mitigazioni dei rischi che usano le funzionalità di Azure. Queste mitigazioni dei rischi non funzionano in tutte le situazioni.

Threat Proprietà di sicurezza Potenziali mitigazioni della piattaforma di Azure
Spoofing (falsificazione dell'identità) Authentication Richiede connessioni HTTPS.
Manomissione Integrità Convalidare i certificati TLS/SSL.
Ripudio Non ripudio Abilitare il monitoraggio e la diagnostica di Azure.
Diffusione di informazioni Riservatezza Crittografare i dati sensibili inattivi tramite certificati di servizio.
Denial of Service Disponibilità Monitorare le metriche delle prestazioni per le potenziali condizioni di Denial of service. Implementare i filtri di connessione.
Elevazione dei privilegi Autorizzazione Usare Privileged Identity Management.

Servizio app di Azure

Servizio app di Azure è un'offerta PaaS che ti aiuta a creare app web e mobili per qualsiasi piattaforma o dispositivo e a connetterti ai dati ovunque, nel cloud o on-premises. Il servizio app include le funzionalità Web e per dispositivi mobili prima fornite separatamente come Siti Web di Azure e Servizi mobili di Azure. Include anche nuove funzionalità per l'automazione dei processi aziendali e l'hosting di API cloud.

Utilizzare le seguenti best practice per App Service.

Procedura consigliata: eseguire l'autenticazione tramite Microsoft Entra ID. Dettagli: App Service offre un servizio OAuth 2.0 per il tuo provider di identità. OAuth 2.0 è incentrato sulla semplicità di sviluppo client fornendo i flussi di autorizzazione specifici per le applicazioni Web, applicazioni desktop e telefoni cellulari. Microsoft Entra ID usa OAuth 2.0 per consentire all'utente di autorizzare l'accesso alle applicazioni per dispositivi mobili e alle applicazioni Web.

Procedura consigliata: limitare l'accesso in base alla necessità di conoscere e meno i principi di sicurezza dei privilegi. Dettagli: la limitazione dell'accesso è fondamentale per le organizzazioni che vogliono applicare criteri di sicurezza per l'accesso ai dati. È possibile utilizzare Azure RBAC per assegnare autorizzazioni a utenti, gruppi e applicazioni in un determinato ambito.

Procedura consigliata: proteggere le chiavi. Dettagli: Azure Key Vault consente di proteggere le chiavi crittografiche e i segreti usati da applicazioni e servizi cloud. Con Key Vault è possibile crittografare chiavi e segreti (ad esempio, chiavi di autenticazione, chiavi dell'account di archiviazione, chiavi di crittografia dati, file PFX e password) usando chiavi protette da moduli di protezione hardware (HSM). Per una maggiore sicurezza, è possibile importare o generare le chiavi in moduli di protezione hardware. Per altre informazioni, vedere Azure Key Vault . È anche possibile utilizzare Azure Key Vault per gestire i certificati TLS con il rinnovo automatico.

Procedura consigliata: limitare gli indirizzi IP di origine in ingresso. Dettagli: l'ambiente del servizio app include una funzionalità di integrazione della rete virtuale che consente di limitare gli indirizzi IP di origine in ingresso tramite i gruppi di sicurezza di rete. Le reti virtuali consentono di posizionare le risorse di Azure in una rete instradabile non Internet di cui si controlla l'accesso. Per altre informazioni, vedere Integrare l'app con una rete virtuale di Azure. Puoi anche usare il collegamento privato (endpoint privato) e disabilitare la rete pubblica per forzare la connessione di rete privata tra App Service e altri servizi.

Procedura consigliata: applicare il traffico solo HTTPS e richiedere TLS 1.2 o versione successiva per tutte le connessioni. Disabilita l'accesso FTP dove possibile. Se è necessario il trasferimento di file, usa FTPS per garantire trasferimenti sicuri e criptati. Dettagli: la configurazione del servizio app per accettare solo il traffico HTTPS garantisce che i dati vengano crittografati in transito, proteggendo le informazioni riservate dall'intercettazione. La richiesta di TLS 1.2 o versione successiva garantisce una maggiore sicurezza dalle vulnerabilità rilevate nelle versioni precedenti del protocollo. La disabilitazione di FTP riduce il rischio di trasmissione di credenziali o dati non crittografati. Se hai bisogno di trasferimento file, abilita solo FTPS, che cripta sia le credenziali che i dati durante il transito.

Procedura consigliata: monitorare lo stato di sicurezza degli ambienti del servizio app. Dettagli: usare Microsoft Defender per il cloud per monitorare gli ambienti del servizio app. Quando il Defender per il cloud identifica potenziali vulnerabilità della sicurezza, crea degli elementi consigliati utili per definire il processo di configurazione dei controlli necessari. Microsoft Defender per il servizio app fornisce la protezione dalle minacce per le risorse del servizio app.

Per ulteriori informazioni, consultare Microsoft Defender for App Service.

Firewall per applicazioni web

Le applicazioni Web sono sempre più vittime di attacchi che sfruttano le più comuni vulnerabilità note. Le vulnerabilità comuni includono attacchi SQL injection e attacchi cross-site scripting. Prevenire tali attacchi nel codice applicativo può essere impegnativo e richiedere una manutenzione rigorosa, patch e monitoraggio su molti livelli della topologia applicativa. Un firewall centralizzato per applicazioni web semplifica la gestione della sicurezza e offre maggiore sicurezza agli amministratori applicativi contro minacce e intrusioni. Una soluzione WAF può anche reagire più rapidamente a una minaccia alla sicurezza applicando patch a una vulnerabilità nota in una posizione centrale rispetto alla protezione di ogni singola applicazione Web.

Web application firewall (WAF) di Azure offre una protezione centralizzata delle applicazioni Web da exploit e vulnerabilità comuni. WAF è disponibile tramite il gateway applicativo di Azure e Frontdoor di Azure.

Protezione DDoS

Azure offre due livelli di protezione DDoS principali: Protezione IP DDoS e Protezione di rete DDoS. Queste opzioni riguardano scenari diversi e hanno caratteristiche e prezzi distinti.

  • Protezione IP DDoS: ideale per proteggere indirizzi IP pubblici specifici, ideale per distribuzioni più piccole o mirate che richiedono una mitigazione DDoS essenziale a livello di IP.
  • Protezione di rete DDoS: copre intere reti virtuali con mitigazione avanzata, analisi e integrazione; adatto per ambienti più grandi o aziendali che necessitano di una maggiore sicurezza.

Scegli DDoS IP Protection per casi focalizzati e sensibili ai costi. Seleziona DDoS Network Protection per una copertura completa e funzionalità avanzate.

Protezione DDoS difende a livello di rete (3/4). Per la difesa a livello di applicazione (7), aggiungere un WAF. Vedere Protezione DDoS dell'applicazione.

Monitorare le prestazioni dell'applicazione

Monitoraggio di Azure raccoglie, analizza e agisce sui dati di telemetria dagli ambienti cloud e locali. Una strategia di monitoraggio efficace aiuta a comprendere il funzionamento dettagliato dei componenti dell'applicazione. Questa strategia ti aiuta ad aumentare il tempo di attività notificandoti di problemi critici in modo da poterli risolvere prima che diventino problemi. Questa strategia ti aiuta anche a rilevare anomalie che potrebbero essere legate alla sicurezza.

Usare Application Insights per monitorare la disponibilità, le prestazioni e l'utilizzo dell'applicazione, indipendentemente dal fatto che sia ospitata nel cloud o in locale. Con Application Insights è anche possibile identificare e diagnosticare rapidamente gli errori nell'applicazione senza attendere che vengano segnalati da un utente. Con le informazioni raccolte, è possibile prendere decisioni informate sulla manutenzione dell'applicazione e sui miglioramenti da apportare.

Application Insights include strumenti estensivi per l'interazione con i dati raccolti dal servizio stesso. Application Insights archivia questi dati in un repository comune. Il servizio può trarre vantaggio da funzionalità condivise come avvisi, dashboard e analisi approfondite con il linguaggio di query Kusto.

Eseguire test di penetrazione della sicurezza

La convalida delle difese di sicurezza è importante quanto il test di qualsiasi altra funzionalità. Eseguire test di penetrazione come parte standard del processo di compilazione e distribuzione. Pianificare test di sicurezza e analisi delle vulnerabilità periodici sulle applicazioni distribuite, monitorando eventuali porte aperte, endpoint e attacchi.

Passaggi successivi

Questo articolo si concentra sui vantaggi di sicurezza di una distribuzione PaaS Azure e sulle migliori pratiche di sicurezza per applicazioni cloud. Successivamente, scopri le pratiche consigliate per proteggere le tue soluzioni PaaS web e mobile utilizzando specifici servizi Azure. Inizia con Servizio app di Azure, database SQL di Azure, Azure Synapse Analytics e Archiviazione di Azure. Man mano che diventeranno disponibili articoli sulle pratiche consigliate per altri servizi Azure, questa lista fornirà link:

Vedere Sviluppare applicazioni sicure in Azure per domande e controlli di sicurezza da considerare in ogni fase del ciclo di vita di sviluppo software durante lo sviluppo di applicazioni per il cloud.

Vedere Procedure consigliate e modelli di sicurezza di Azure per altre procedure consigliate per la sicurezza da usare durante la progettazione, la distribuzione e la gestione delle soluzioni cloud tramite Azure.

Le risorse seguenti offrono altre informazioni più generali sulla sicurezza di Azure e sui servizi Microsoft correlati: