Web application firewall per le reti Azure

Web application firewall di Azure (WAF) protegge le applicazioni Web da attacchi comuni a livello HTTP, come SQL injection, cross-site scripting (XSS) e path traversal. A differenza di Firewall di Azure, che controlla il traffico a livelli da 3 a 7 per le minacce a livello di rete, WAF opera solo al livello 7 e comprende la semantica HTTP, incluse le intestazioni delle richieste, le stringhe di query, i corpi delle richieste e i cookie. Distribuisci WAF come criterio associato ad gateway applicazione di Azure (regionale) o ad Frontdoor di Azure (edge globale) per allineare l'ambito di protezione all'architettura dell'applicazione.

Informazioni su questo articolo

Questo articolo illustra la protezione a livello HTTP usando Web application firewall di Azure. Vengono fornite informazioni su:

  • Confronto di piattaforme tra WAF in Gateway applicazione v2 e WAF in Frontdoor di Azure.
  • Set di regole basati su OWASP, inclusi il set di regole predefinito (DRS) e il set di regole di base (CRS).
  • Modalità di rilevamento e modalità prevenzione e quando usare ognuna di esse.
  • Opzioni di ambito dei criteri WAF: associazioni globali, per sito e per listener.
  • Regole personalizzate per la limitazione della frequenza, il filtro geografico e la logica specifica dell'applicazione.
  • La distinzione tra WAF (HTTP di livello 7) e Firewall di Azure (rete layer 3-7).

Chi ha bisogno di questo articolo

Distribuire WAF quando i carichi di lavoro soddisfano uno o più dei criteri seguenti:

  • Applicazioni Web pubbliche: Le applicazioni accettano il traffico HTTP/HTTPS in ingresso da Internet, esponendole alle vulnerabilità top 10 di OWASP, inclusi attacchi di inserimento, abusi di autenticazione interrotti e tentativi di esposizione dei dati sensibili.
  • Requisiti di conformità: I framework normativi come PCI DSS (Payment Card Industry Data Security Standard) impongono un web application firewall davanti a qualsiasi applicazione che elabora i dati delle carte di pagamento.
  • Protezione API: Le API sono accessibili pubblicamente e richiedono protezione contro il contrabbando di richieste, payload sovradimensionati e attacchi a livello di protocollo che i firewall di rete non controllano.
  • Mitigazione bot: È necessario classificare e controllare il traffico automatizzato, bloccando i bot dannosi, consentendo al contempo i crawler legittimi e i servizi di monitoraggio.

Le organizzazioni che necessitano solo del filtraggio del traffico a livello di rete (IP, porta e protocollo), senza ispezione delle richieste HTTP, dovrebbero invece usare Firewall di Azure o gruppi di sicurezza di rete.

Focus su lift-and-shift: molte app interne ospitate di nuovo non dispongono di ingresso Internet e non necessitano di WAF. Aggiungere WAF solo quando si espone un'app Web a Internet durante o dopo la migrazione.

Focus sulla modernizzazione: app Web rivolte ai clienti con WAF su Frontdoor di Azure per le app globali oppure su Gateway applicazione per le app in una singola area, in linea con la scelta di distribuzione tra Frontdoor e Gestione traffico.

Focus multi-cloud: distribuire un WAF di livello 7 su Gateway applicazione nello spoke per le app Web pubbliche migrate e mappare le protezioni Web di altri cloud (ad esempio Google Cloud Armor) su Azure WAF.

confronto tra piattaforme WAF Azure

Azure WAF è disponibile su due piattaforme. Ogni piattaforma integra l'ispezione WAF in un punto diverso nel flusso del traffico.

Diagramma che mostra l'architettura di Web application firewall di Azure con le opzioni di distribuzione di Application Gateway e Front Door

Capability WAF su Application Gateway v2 Firewall per applicazioni web (WAF) su Frontdoor di Azure
Ambito di distribuzione Regionale (singola area di Azure) Globale (192+ poP perimetrali in tutto il mondo)
Punto di ispezione Dopo che il traffico ha raggiunto la tua regione Nel PoP perimetrale, prima che il traffico raggiunga l'origine
Set di regole supportati DRS 2.2, DRS 2.1, CRS 3.2 DRS 2.2, DRS 2.1, DRS 2.0
Regole personalizzate
Protezione dei bot ✔ (solo livello Premium)
Limitazione del tasso
Geo-filtering
Criterio per sito ✔ (per listener, per percorso) ✔ (per endpoint)
Set di regole gestite ✔ (solo livello Premium; Standard supporta solo regole personalizzate)
Ispezione del corpo della richiesta Fino a 128 KB (configurabile) Fino a 128 KB (configurabile)
Supporto per l'origine collegamento privato N/D (in linea con App Gateway) ✔ (connettività di origine privata)
Ideale per Applicazioni a regione singola, bilanciamento del carico L7 + WAF App in più aree, accelerazione globale + WAF

Note

Frontdoor di Azure ha due livelli: Standard e Premium. I set di regole gestite (inclusi DRS e protezione bot) sono disponibili solo in Frontdoor Premium. Frontdoor Standard supporta solo regole personalizzate. Frontdoor (versione classica) supporta solo DRS 1.1 o versioni precedenti.

Come scegliere la piattaforma WAF

Usare i criteri decisionali seguenti:

  • Scegli WAF su Application Gateway quando l'applicazione è distribuita in un'unica area geografica e utilizzi già Application Gateway per il bilanciamento del carico di livello 7, la terminazione TLS o il routing basato sul percorso. WAF aggiunge l'ispezione HTTP in linea senza introdurre un passaggio di servizio aggiuntivo.
  • Scegliere WAF in Frontdoor di Azure quando l'applicazione si estende su più aree, richiede il bilanciamento del carico globale o vantaggi derivanti dall'accelerazione della rete per la distribuzione di contenuti (RETE CDN). Frontdoor WAF ispeziona il traffico nel punto di presenza perimetrale (PoP) più vicino. Il servizio blocca le richieste dannose prima di attraversare il backbone Azure per raggiungere l'origine. Questo approccio riduce l'esposizione della superficie di attacco e assorbe gli attacchi volumetrici di livello 7 all'edge.
  • Scegliere entrambi (a più livelli) quando un'applicazione multiregione gestita da Frontdoor richiede anche criteri WAF a livello di area che differiscono per ogni back-end. Front Door offre una protezione globale di primo livello, mentre il WAF di Application Gateway applica regole personalizzate specifiche della regione più vicino al carico di lavoro.

Considerazioni relative alla progettazione

Focus sulla progettazione WAF lift-and-shift

  • Salta il WAF per i carichi di lavoro solo interni sottoposti a rehosting che non hanno alcun percorso di accesso in ingresso da Internet; rivaluta questa scelta quando pubblichi un'app su Internet.
  • Quando si espone un'app Web, avvia il WAF in modalità Rilevamento per stabilire un profilo di riferimento del traffico, quindi passa alla modalità Prevenzione dopo aver eliminato i falsi positivi.
  • Usare Gateway applicazione WAF per un'app Web sottoposta a rehosting in un'unica area geografica già pubblicata tramite Gateway applicazione per il routing di livello 7.
  • Riutilizzare la finalità delle regole di protezione Web locali (ad esempio, copertura OWASP) come criterio iniziale.

Modernizzare l'approccio di progettazione del WAF

  • Eseguire WAF in modalità prevenzione dall'avvio per le app rivolte ai clienti e adottare il set di regole gestite più recente in modo che la copertura tenga traccia automaticamente delle nuove minacce OWASP.
  • Abilitare la gestione dei bot per separare i crawler legittimi dall'automazione dannosa rispetto alle app pubbliche.
  • Gestire i criteri WAF come codice in modo che i back-end attivi a livello di area rimangano sincronizzati tramite la pipeline di distribuzione.
  • Abbina il WAF perimetrale al firewall hub per una difesa a più livelli e abilita lo sconto sulla fatturazione di WAF di Application Gateway attivando la protezione di rete DDoS nella VNet.

Focus sulla progettazione di WAF tra cloud

  • Ospitare un WAF di livello 7 su Application Gateway nella spoke VNet, in modo che il traffico Web pubblico venga ispezionato senza associare indirizzi IP pubblici direttamente alle macchine virtuali.
  • Mappare le protezioni web esistenti provenienti da altri cloud (ad esempio, AWS WAF o Google Cloud Armor) ai set di regole gestite di Azure WAF, in modo che la copertura venga mantenuta.
  • Ispezionare le comunicazioni esposte pubblicamente attraverso il WAF e mantenere l'ispezione del traffico est-ovest e intercloud sul firewall dell'hub rete WAN virtuale.
  • Durante il cutover, eseguire WAF in modalità rilevamento (apprendimento) e quindi applicare una volta confermati i modelli di traffico legittimi.

Prerequisiti

Prima di distribuire Web application firewall di Azure, assicurarsi di disporre di:

  • Gateway applicazione v2 o risorsa Frontdoor di Azure: WAF viene distribuito come criterio associato a una di queste piattaforme. È necessario disporre di un'istanza di Application Gateway v2 esistente o di un profilo di Frontdoor di Azure di cui è già stato effettuato il provisioning prima di creare e associare un criterio WAF.
  • Carico di lavoro HTTP/HTTPS esposto pubblicamente: L'applicazione deve ricevere traffico HTTP/HTTPS in ingresso. WAF esamina la semantica a livello di richiesta e non offre alcun vantaggio per carichi di lavoro non HTTP o servizi puramente interni.
  • Informazioni sui modelli di traffico HTTP: La familiarità con i normali modelli di richiesta dell'applicazione (intestazioni, parametri di query e contenuto del corpo) consente di configurare le esclusioni e ottimizzare le regole per ridurre al minimo i falsi positivi durante la transizione in modalità rilevamento-prevenzione.

Set di regole ed elaborazione delle regole

WAF usa set di regole per rilevare modelli dannosi nelle richieste HTTP. La comprensione della gerarchia delle regole e dell'ordine di elaborazione consente di ottimizzare WAF per le applicazioni specifiche.

Set di regole gestite

Microsoft gestisce i set di regole gestite in base ai modelli CRS (OWASP Core Rule Set). Il set di regole consigliato per le nuove distribuzioni è DRS 2.2 (set di regole predefinito). DRS 2.2 si basa su OWASP CRS 3.3.4 e aggiunge le firme Microsoft di intelligence sulle minacce.

Set di regole Sulla base di: Supporto della piattaforma Raccomandazione
DRS 2.2 OWASP CRS 3.3.4 + Microsoft Threat Intel App Gateway v2, Front Door Premium Consigliato per le nuove distribuzioni
DRS 2.1 OWASP CRS 3.3 App Gateway v2, Front Door Premium Generazione precedente; supportato in entrambe le piattaforme
DRS 2.0 OWASP CRS 3.2 Solo Frontdoor Premium Supportato; versione N-2 di Front Door
CRS 3.2 OWASP CRS 3.2 Solo per Gateway applicazione v2 Supportato; usare DRS 2.2 per le nuove distribuzioni

I set di regole DRS e CRS utilizzano il punteggio di anomalia. Ogni regola corrispondente contribuisce a un punteggio invece di bloccare immediatamente la richiesta. Quando il punteggio di anomalia cumulativo supera una soglia configurabile, il WAF esegue un'azione (blocco o log). Questo approccio riduce i falsi positivi rispetto al blocco basato su singole regole, perché una singola corrispondenza a bassa attendibilità non fa scattare l'applicazione.

Regole personalizzate

Le regole personalizzate vengono eseguite prima delle regole gestite e usano i numeri di priorità per controllare l'ordine di valutazione (numero inferiore = priorità più alta). Usare regole personalizzate per:

  • Limitazione della frequenza delle richieste: Limitare le richieste provenienti da ciascun indirizzo IP client nell’arco di un determinato intervallo di tempo per mitigare gli attacchi di credential stuffing e di forza bruta.
  • Filtro geografico: Consentire o negare il traffico in base al paese o all'area geografica del client di origine.
  • Elenchi di indirizzi IP consentiti e elenchi di rifiuto: Consentire indirizzi IP partner noti o bloccare gli attori non autorizzati noti prima della valutazione delle regole gestite.
  • Ispezione dell'intestazione della richiesta: Far rispettare requisiti specifici dell'applicazione, ad esempio chiavi API obbligatorie o tipi di contenuto previsti.

Set di regole di protezione bot

Entrambe le piattaforme offrono un set di regole di protezione bot che classifica il traffico automatizzato in bot validi (motori di ricerca verificati), bot non validi (scanner dannosi noti) e bot sconosciuti. Configurare le azioni per ogni categoria: consentire bot validi, bloccare bot non validi e sfidare bot sconosciuti con limitazione della frequenza o CAPTCHA.

Modalità di rilevamento e modalità prevenzione

I criteri WAF operano in una delle due modalità che determinano il modo in cui il sistema gestisce le richieste corrispondenti:

Mode Behavior Caso di utilizzo
Rilevamento Registra le richieste corrispondenti, ma non le blocca. Le richieste continuano al back-end. Distribuzione iniziale e ottimizzazione delle regole. Monitora quali regole vengono attivate senza influire sul traffico in produzione.
Prevenzione Blocca le richieste corrispondenti e restituisce una risposta 403. Registra la richiesta bloccata. Carichi di lavoro di produzione dopo il completamento della messa a punto delle regole. Protezione attiva dagli attacchi.
  1. Distribuisci in modalità di rilevamento: Abilita WAF con il set di regole selezionato nella modalità di rilevamento. Instradare il traffico di produzione tramite il WAF.
  2. Analizzare i log: Esaminare i log WAF per identificare i falsi positivi. Determinare le regole che attivano il traffico legittimo dell'applicazione.
  3. Crea esclusioni: Per le regole che generano falsi positivi, definisci esclusioni che specificano i campi della richiesta (intestazioni, cookie e parametri di query) da ignorare per regole specifiche.
  4. Passare alla modalità prevenzione: Dopo 1-2 settimane di log di rilevamento puliti con percentuali di falsi positivi accettabili, passare alla modalità prevenzione per il blocco attivo.
  5. Monitoraggio continuo: Continuare a monitorare i log dopo il passaggio alla modalità prevenzione. Le nuove funzionalità dell'applicazione o le modifiche all'API possono introdurre nuovi modelli falsi positivi.

Importante

Eseguire sempre carichi di lavoro di produzione in modalità prevenzione. La modalità di rilevamento non garantisce alcuna protezione. Registra solo potenziali attacchi. Usare la modalità rilevamento solo durante la fase di ottimizzazione iniziale o quando si risolve un problema falso positivo specifico.

Ambito di applicazione e associazione del criterio WAF

Un criterio WAF è una risorsa Azure autonoma che contiene la selezione della modalità, la configurazione del set di regole, le regole personalizzate e le esclusioni. Associare il criterio a uno o più target per definire l'ambito di protezione.

Ambito del criterio WAF di Application Gateway

In Application Gateway, associare un criterio WAF a tre livelli di granularità:

  • Globale (a livello dell’intero gateway): Il criterio si applica a tutti i listener e alle regole di percorso in Application Gateway. Usare l'ambito globale quando tutte le applicazioni dietro il gateway condividono gli stessi requisiti di protezione.
  • Livello di listener: Un criterio WAF diverso si applica a un listener specifico (combinazione nome host e porta). Usare l'ambito a livello di listener quando più applicazioni condividono un gateway, ma necessitano di diverse esclusioni o ottimizzazione delle regole.
  • Livello della regola di percorso: Un criterio WAF si applica a una regola di percorso URL specifica all'interno di un listener. Utilizza l'ambito delle regole basate sul percorso per un controllo granulare sulle applicazioni con diversi livelli di sensibilità del back-end.

Quando più ambiti si applicano a una singola richiesta, il criterio più specifico ha la precedenza: la regola del percorso ha la precedenza su quella a livello di listener, che a sua volta ha la precedenza su quella globale.

Ambito dei criteri WAF di Frontdoor

In Frontdoor i criteri WAF vengono associati a livello di endpoint o route. Ogni endpoint di Front Door può avere un proprio criterio WAF. Questo approccio abilita i profili di protezione specifici dell'applicazione all'interno di una singola istanza di Frontdoor.

Condivisione dei criteri tra le risorse

Condividi un singolo criterio WAF tra più istanze di Application Gateway o endpoint di Front Door. Gestione firewall di Azure offre visibilità e gestione centralizzate in tutti i criteri WAF, indipendentemente dalla piattaforma. Usare i criteri condivisi quando più risorse richiedono una protezione identica per semplificare la gestione e mantenere un comportamento di sicurezza coerente.

Distinzione da Firewall di Azure

WAF e Firewall di Azure proteggono diversi livelli dello stack di rete e svolgono ruoli complementari. Implementarli entrambi per una difesa in profondità.

Attribute Firewall per applicazioni web Firewall di Azure
Livello OSI Livello 7 (solo HTTP/HTTPS) Livelli 3-7 (rete e applicazione)
Tipo di traffico Richieste HTTP/HTTPS in ingresso dirette alle applicazioni web Tutte le indicazioni stradali (nord-sud, est-ovest)
Focus dell'ispezione Semantica HTTP: intestazioni, corpo, cookie, URI Indirizzi IP, porte, protocolli, FQDN, URL
Motore di regole Corrispondenza dei pattern basata su OWASP + assegnazione di punteggi alle anomalie Regole di rete, regole dell'applicazione, regole NAT
Modello di distribuzione Integrato con App Gateway o Front Door Indipendente nella subnet dell'hub con instradamento UDR
Attacchi tipici bloccati SQL injection, XSS, CSRF, path traversal Analisi delle porte, callback C2, esfiltrazione DNS

Usare WAF per la protezione delle applicazioni HTTP e Firewall di Azure per l'ispezione centralizzata del traffico di rete. In un'architettura hub-and-spoke, il traffico proveniente da Internet verso un'applicazione web passa in genere attraverso Firewall di Azure (per DNAT e l'ispezione a livello di rete) e quindi attraverso Application Gateway con WAF (per l'ispezione a livello HTTP). Vedere Firewall di Azure e ispezione del traffico per il componente a livello di rete.

Considerazioni relative alla sicurezza

Le procedure di sicurezza seguenti consentono di ottenere la massima protezione da WAF:

  • Modalità di prevenzione per la produzione: non lasciare mai carichi di lavoro di produzione in modalità di rilevamento. La modalità di rilevamento offre visibilità, ma nessuna imposizione, lasciando le applicazioni esposte agli attacchi.
  • L'ottimizzazione delle regole è in corso: Le applicazioni si evolvono. I nuovi endpoint API, i parametri e i tipi di contenuto possono generare falsi positivi nei set di regole esistenti. Controlla regolarmente i log WAF dopo i rilasci.
  • integrazione Log Analytics: inviare i log di diagnostica WAF a un'area di lavoro Log Analytics. Usa la cartella di lavoro WAF per visualizzare le richieste bloccate, le regole attivate e la distribuzione dei punteggi di anomalia.
  • DDoS e WAF insieme: WAF protegge dagli attacchi dell'applicazione di livello 7, ma non attenua gli attacchi DDoS a livello di rete tridimensionale. Abbina WAF a Azure DDoS Protection per una copertura completa dell'intero stack.
  • Blocco dell'origine: Quando si utilizza Frontdoor WAF, configurare l'origine in modo che accetti traffico solo dal tag di servizio Frontdoor. Senza il blocco dell'origine, gli utenti malintenzionati possono ignorare Frontdoor e inviare richieste direttamente all'indirizzo IP di origine.
  • Protezione dei dati sensibili: I log WAF possono contenere dati di richiesta. Configura le regole di ripulitura dei log per mascherare i campi sensibili (header di autorizzazione, cookie o contenuto del corpo della richiesta) nei log di diagnostica di WAF.

Gli articoli seguenti trattano gli argomenti correlati relativi alla sicurezza della rete:

Ulteriori informazioni

Passaggi successivi

Tip

Esplorazione da sola? Tornare allo strumento di navigazione di panoramica per trovare l'articolo successivo in base alla funzionalità.

Successivamente, nel viaggio in modalità lift-and-shift:

Configurare il monitoraggio per la rete migrata: convalidare la connettività e le prestazioni dopo la configurazione del web application firewall.

Nel prossimo percorso di modernizzazione:

Abilitare la protezione DDoS per gli endpoint pubblici: proteggere le risorse IP pubbliche dagli attacchi Denial of Service distribuiti.

Il prossimo passo nel tuo percorso multicloud:

Distribuire le applicazioni migrate: eseguire il mapping dei servizi di bilanciamento del carico da AWS e Google Cloud a Azure equivalenti per i carichi di lavoro tra cloud.