Specificare i requisiti di sicurezza per i carichi di lavoro Web

Completato

In qualità di progettista della sicurezza, è possibile specificare i requisiti di sicurezza per i carichi di lavoro Web che proteggono le applicazioni da minacce comuni, abilitando al contempo le funzionalità aziendali. Le applicazioni Web affrontano rischi univoci, tra cui lo sfruttamento di vulnerabilità del codice, l'intercettazione dei dati e gli attacchi Denial of Service distribuiti.

Specificare i requisiti di sicurezza di rete

I controlli di sicurezza di rete limitano chi può accedere alle applicazioni Web e come il traffico passa da e verso di essi.

Connettività privata

Specificare i requisiti per ridurre al minimo l'esposizione a Internet pubblico:

  • Endpoint privati: Richiedi agli endpoint Azure Private Link di instradare il traffico nella tua rete virtuale per le applicazioni interne. Gli endpoint privati eliminano l'esposizione a Internet pubblico, consentendo al tempo stesso l'accesso sicuro dalle reti aziendali.
  • Integrazione della rete virtuale: abilitare l'integrazione della rete virtuale in uscita per le applicazioni che devono accedere alle risorse nelle reti virtuali di Azure o nelle reti locali tramite VPN o ExpressRoute.
  • Disabilitare l'accesso alla rete pubblica: quando gli endpoint privati forniscono tutta la connettività necessaria, è necessario disabilitare completamente gli endpoint pubblici.

Restrizioni di accesso

Per le applicazioni che richiedono l'accesso pubblico, specificare i controlli per limitare l'esposizione:

  • Restrizioni di accesso IP: definire elenchi di indirizzi IP e subnet che possono accedere all'applicazione. Bloccare tutto il traffico dagli indirizzi IP non consentiti in modo esplicito.
  • Endpoint di servizio: limitare l'accesso in ingresso a subnet specifiche nelle reti virtuali usando endpoint di servizio combinati con restrizioni di accesso IP.

Protezione DDoS e livello applicazione

Specificare la distribuzione dei servizi di protezione davanti alle applicazioni Web:

  • Web Application Firewall (WAF): richiede la distribuzione di Azure WAF tramite Azure Front Door o Application Gateway per proteggersi da exploit comuni, ad esempio SQL injection, scripting tra siti e le altre vulnerabilità OWASP Top 10.
  • Modalità dei criteri WAF: distribuire i criteri WAF in modalità di rilevamento inizialmente per registrare le minacce senza bloccare il traffico legittimo. Dopo aver convalidato l'efficacia delle regole, richiedere la modalità di prevenzione per i carichi di lavoro di produzione.
  • Set di regole gestite: usare i set di regole gestiti di Azure che vengono aggiornati automaticamente per proteggersi da nuove firme di attacco, inclusa la raccolta di Intelligence sulle minacce Microsoft per una copertura avanzata.
  • Protezione DDoS: abilitare protezione DDoS di Azure nelle reti virtuali che ospitano l'infrastruttura dell'applicazione Web per difendersi da attacchi volumetrici.

Prevenzione del bypass WAF

Specificare i controlli per assicurarsi che il traffico non possa ignorare l'ispezione WAF:

  • Configurare le restrizioni di accesso nel servizio app per accettare il traffico solo dagli indirizzi IP del WAF
  • Utilizzare endpoint privati combinati con l'implementazione di WAF per garantire che tutto il traffico venga sottoposto a ispezione.
  • Bloccare l'endpoint diretto dell'applicazione usando endpoint di servizio o restrizioni IP

Specificare i requisiti di identità e accesso

I controlli delle identità determinano chi può accedere all'applicazione Web e con quali autorizzazioni.

Autenticazione dell'applicazione

Specificare i requisiti di autenticazione in base al gruppo di destinatari dell'applicazione:

  • Autenticazione di Microsoft Entra: Richiedere l'ID Microsoft Entra come provider di identità per le applicazioni aziendali. Usare l'autenticazione predefinita del servizio app per gestire l'autenticazione senza codice personalizzato.
  • Criteri di accesso condizionale: definire le condizioni in cui gli utenti possono accedere alle applicazioni, inclusi i requisiti di conformità, posizione e livello di rischio dei dispositivi.
  • Autenticazione a più fattori: richiedere l'autenticazione a più fattori per le applicazioni che accedono a dati sensibili o eseguire operazioni con privilegi.
  • Disabilitare l'autenticazione locale: limitare l'uso dei metodi di autenticazione locale. Richiedere l'ID Microsoft Entra come metodo di autenticazione predefinito per l'accesso al piano dati.

Identità dell'applicazione

Specificare il modo in cui l'applicazione esegue l'autenticazione ad altri servizi:

  • Identità gestite: richiedere identità gestite per le applicazioni che accedono a risorse di Azure come Key Vault, database SQL o Archiviazione. Le identità gestite eliminano le credenziali nel codice o nella configurazione.
  • Identità univoche per applicazione: assegnare identità distinte a ogni applicazione per mantenere l'isolamento e abilitare il controllo di accesso granulare. Non condividere identità tra applicazioni.

Accesso alla gestione

Specificare i controlli per le operazioni amministrative:

  • Azure RBAC: implementare il controllo degli accessi basati sui ruoli per le operazioni di gestione usando ruoli predefiniti come Web Plan Contributor e Website Contributor.
  • Privilegi minimi: assegnare le autorizzazioni minime necessarie per ogni ruolo amministrativo.
  • Customer Lockbox: abilitare Customer Lockbox per richiedere l'approvazione prima che il supporto tecnico Microsoft possa accedere ai dati dell'applicazione durante gli scenari di supporto.

Specificare i requisiti di protezione dei dati

I requisiti di protezione dei dati garantiscono la riservatezza e l'integrità delle informazioni in transito e a riposo.

Sicurezza del trasporto

Specificare i requisiti per la crittografia dei dati in transito:

  • Solo HTTPS: richiedere la modalità solo HTTPS per reindirizzare tutte le richieste HTTP a HTTPS. Tutte le comunicazioni tra client e applicazioni devono essere crittografate.
  • Versione minima di TLS: richiedere TLS 1.2 o versione successiva per tutte le connessioni. Disabilitare TLS 1.0 e 1.1 che contengono vulnerabilità note.
  • Certificati TLS: richiedere certificati TLS/SSL configurati correttamente per i domini personalizzati. Archiviare i certificati in Azure Key Vault per la gestione centralizzata e il rinnovo automatico.
  • TLS reciproco: per scenari B2B o applicazioni a sicurezza elevata, richiedere l'autenticazione del certificato client per verificare l'identità client.

Gestione dei segreti

Specificare i requisiti per la protezione della configurazione sensibile:

  • Integrazione di Azure Key Vault: archiviare tutti i segreti, i certificati e le chiavi di crittografia in Key Vault anziché le impostazioni o il codice dell'applicazione.
  • Riferimenti a Key Vault: Usare i riferimenti di Key Vault di App Service per accedere in modo sicuro ai segreti usando le identità gestite.
  • Nessuna credenziale nel codice: impedisce l'archiviazione di credenziali, stringhe di connessione o chiavi API nel codice sorgente o nei file di configurazione archiviati nel controllo della versione.

Chiavi gestite dal cliente

Per gli scenari di conformità alle normative, specificare:

  • Requisiti per le chiavi di crittografia gestite dal cliente, se necessario
  • Pianificazioni e procedure di rotazione delle chiavi
  • Integrazione di Key Vault per la gestione del ciclo di vita delle chiavi

Specificare i requisiti di monitoraggio

Il monitoraggio consente il rilevamento e la risposta alle minacce alla sicurezza.

Registrazione

Specificare i requisiti di registrazione per l'indagine sulla sicurezza.

  • Log delle risorse: abilitare i log delle risorse del servizio app, inclusi i log HTTP, i log delle applicazioni e le tracce delle richieste non riuscite.
  • Log del server Web: acquisire informazioni dettagliate sulle richieste per l'analisi della sicurezza.
  • Integrazione con Azure Monitor: Inviare i log a Azure Monitor Logs per l'analisi centralizzata e la conservazione a lungo termine.
  • Periodi di conservazione: definire i requisiti di conservazione dei log allineati agli obblighi di conformità.

Rilevamento delle minacce

Specificare le funzionalità di rilevamento delle minacce:

  • Microsoft Defender per il servizio app: abilitare Microsoft Defender per il servizio app per identificare gli attacchi destinati alle applicazioni e ricevere avvisi di sicurezza.
  • Avvisi di sicurezza: configurare avvisi per modelli anomali come errori di autenticazione ripetuti, volumi di traffico insoliti o comportamenti sospetti dell'applicazione.
  • Application Insights: distribuire Application Insights per il monitoraggio delle prestazioni dell'applicazione e il rilevamento delle anomalie.

Specificare i requisiti di distribuzione sicura

Le procedure di distribuzione influiscono sulla sicurezza delle applicazioni di produzione.

DevSecOps

Specificare i requisiti di sicurezza per le pipeline di distribuzione:

  • Origini di distribuzione controllate: distribuire il codice solo da Azure Pipelines controllate e protette. Impedire la distribuzione da origini non attendibili.
  • Analisi del codice: richiedere test di sicurezza delle applicazioni statici (SAST) e analisi della composizione software prima della distribuzione.
  • Gestione delle dipendenze: analizzare le dipendenze per individuare vulnerabilità note e gestire pacchetti aggiornati.

Configurazione

Specificare i requisiti di configurazione sicura:

  • Disabilita debug remoto: il debug remoto deve essere disabilitato per i carichi di lavoro di produzione per ridurre la superficie di attacco.
  • Disabilita FTP: disabilitare l'accesso FTP o applicare FTPS-only per impedire la trasmissione di credenziali non crittografate.
  • Disabilitare l'autenticazione di base: disabilitare l'autenticazione con nome utente/password per gli endpoint SCM e FTP a favore dell'autenticazione con ID Entra di Microsoft.

Isolamento

Per i carichi di lavoro con sicurezza elevata, specificare:

  • Piani di servizio app separati per le applicazioni che elaborano dati sensibili
  • App Service Environment per un completo isolamento della rete
  • Separare le sottoscrizioni o i gruppi di gestione per l'imposizione dei limiti di sicurezza

Applicare la baseline di sicurezza di Azure per App Service per garantire che le distribuzioni soddisfino i controlli del benchmark della sicurezza cloud di Microsoft.