Esercitazione: Ridimensionare e proteggere rapidamente un'applicazione Web usando Frontdoor di Azure e Web Application Firewall (WAF) di Azure

Importante

Frontdoor di Azure (versione classica) verrà ritirato il 31 marzo 2027. Per evitare interruzioni del servizio, è importante eseguire la migrazione dei profili frontdoor di Azure (versione classica) al livello Frontdoor di Azure Standard o Premium entro marzo 2027. Per altre informazioni, vedere Ritiro di Frontdoor di Azure (versione classica).

Molte applicazioni Web riscontrano un rapido aumento del traffico nel tempo. Per queste applicazioni Web si osserva inoltre un picco di traffico dannoso con attacchi Denial of Service. Un modo efficace per gestire entrambe queste esigenze, aumentando le prestazioni dell'applicazione per i picchi di traffico e attivando la protezione dagli attacchi, consiste nel configurare Frontdoor di Azure con Azure WAF come livello di accelerazione, memorizzazione nella cache e sicurezza davanti all'app Web. Questo articolo offre indicazioni su come configurare il servizio Frontdoor di Azure con Azure WAF per tutte le app Web in esecuzione all'interno o all'esterno di Azure.

In questa esercitazione si usa l'interfaccia della riga di comando di Azure per configurare waf. In alternativa, è possibile usare il portale di Azure, Azure PowerShell, Azure Resource Manager o le API REST di Azure.

In questa esercitazione apprenderai a:

  • Creare un frontdoor.
  • Creare un criterio WAF di Azure.
  • Configurare i set di regole per un criterio WAF.
  • Associare un criterio WAF a una frontdoor.
  • Configurare un dominio personalizzato.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Prerequisiti

  • Le istruzioni fornite in questa esercitazione usano l'interfaccia della riga di comando di Azure. Vedere questa guida per iniziare a usare l'interfaccia della riga di comando di Azure.

    Suggerimento

    Un modo semplice e rapido per iniziare a usare l'interfaccia della riga di comando di Azure è rappresentato da Bash in Azure Cloud Shell.

  • Assicurarsi che l'estensione front-door sia stata aggiunta all'interfaccia della riga di comando di Azure:

    az extension add --name front-door
    

Nota

Per altre informazioni sui comandi usati in questa esercitazione, vedere Informazioni di riferimento dell'interfaccia della riga di comando di Azure per il servizio Frontdoor.

Creare una risorsa Frontdoor di Azure

az network front-door create --backend-address <>  --accepted-protocols <> --name <> --resource-group <>

--backend-address: nome di dominio completo (FQDN) dell'applicazione da proteggere. Ad esempio: myapplication.contoso.com.

--accepted-protocols: specifica i protocolli che devono essere supportati da Frontdoor di Azure per l'applicazione Web. Ad esempio: --accepted-protocols Http Https.

--name: nome della risorsa frontdoor di Azure.

--resource-group: il gruppo di risorse in cui si vuole inserire la risorsa frontdoor di Azure. Per altre informazioni sui gruppi di risorse, vedere Gestire i gruppi di risorse in Azure.

Nella risposta ottenuta quando si esegue questo comando, cercare la chiave hostName. Questo valore è necessario in un passaggio successivo. hostName è il nome DNS della risorsa Frontdoor di Azure creata.

Creare un profilo di Azure WAF da usare con le risorse di Frontdoor di Azure

az network front-door waf-policy create --name <>  --resource-group <>  --disabled false --mode Prevention

--name: nome del nuovo criterio waf di Azure.

--resource-group: il gruppo di risorse in cui si vuole inserire questa risorsa WAF.

Il codice dell'interfaccia della riga di comando precedente crea un criterio WAF in modalità di prevenzione.

Nota

Potrebbe essere necessario creare il criterio WAF in modalità di rilevamento e osservare come rileva e registra le richieste dannose (senza bloccarle) prima di decidere di usare la modalità di protezione.

Nella risposta ottenuta quando si esegue questo comando, cercare la chiave ID. Questo valore è necessario in un passaggio successivo.

Il campo ID deve essere nel formato seguente:

/subscriptions/ID sottoscrizione/resourcegroups/nome gruppo risorse/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/nome criterio WAF

Aggiungere set di regole gestiti al criterio WAF

È possibile aggiungere set di regole gestiti a un criterio WAF. Un set di regole gestito è un set di regole compilate e gestite da Microsoft che consentono di proteggersi da una classe di minacce. In questo esempio verranno aggiunti due set di regole:

  • Il set di regole predefinito, che consente di proteggersi dalle minacce Web comuni.
  • Il set di regole di protezione dai bot, che consente di proteggersi dai bot dannosi.

Aggiungere il set di regole predefinito:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type DefaultRuleSet --version 1.0

Aggiungere il set di regole di protezione dai bot:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type Microsoft_BotManagerRuleSet --version 1.0

--policy-name: nome specificato per la risorsa WAF di Azure.

--resource-group: gruppo di risorse in cui è stata inserita la risorsa WAF.

Associare il criterio WAF alla risorsa Frontdoor di Azure

In questo passaggio si associano i criteri WAF creati alla risorsa Frontdoor di Azure davanti all'applicazione Web:

az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'

--name: nome specificato per la risorsa frontdoor di Azure.

--resource-group: il gruppo di risorse in cui è stata inserita la risorsa Frontdoor di Azure.

--set: consente di aggiornare l'attributo per l'oggetto WebApplicationFirewallPolicyLinkfrontendEndpoint associato alla risorsa frontdoor di Azure con i nuovi criteri WAF. È necessario disporre dell'ID del criterio WAF dalla risposta ottenuta al momento della creazione del profilo WAF in un passaggio precedente di questa esercitazione.

Nota

L'esempio precedente è applicabile quando non si usa un dominio personalizzato. Se non si usano domini personalizzati per accedere alle applicazioni Web, è possibile ignorare la sezione successiva. In tal caso, si fornirà ai clienti il valore di hostName ottenuto al momento della creazione della risorsa Frontdoor di Azure. Useranno il valore di hostName per accedere all'applicazione Web.

Configurare il dominio personalizzato per l'applicazione Web

Il nome di dominio personalizzato dell'applicazione Web è quello che i clienti usano per fare riferimento all'applicazione, Ad esempio, www.contoso.com. Inizialmente, questo nome di dominio personalizzato puntava al percorso in cui era in esecuzione prima dell'introduzione di Frontdoor di Azure. Dopo aver aggiunto il servizio Frontdoor di Azure e WAF davanti all'applicazione, la voce DNS corrispondente a tale dominio personalizzato deve puntare alla risorsa Frontdoor di Azure. Per apportare questa modifica, eseguire un nuovo mapping tra la voce nel server DNS e l'host hostName di Frontdoor di Azure annotato quando è stata creata la risorsa Frontdoor di Azure.

Passaggi specifici per aggiornare i record DNS dipendono dal provider di servizi DNS. Se si usa il servizio DNS di Azure per ospitare il nome DNS, vedere la documentazione per i passaggi per aggiornare un record DNS e puntare all'host hostName di Frontdoor di Azure.

Se è necessario che i clienti accedano al sito Web usando il dominio radice, ad esempio, contoso.com, occorre tenere conto di un aspetto importante. In questo caso, è necessario usare DNS di Azure e il relativo tipo di record alias per ospitare il nome DNS.

È anche necessario aggiornare la configurazione di Frontdoor di Azure per aggiungere il dominio personalizzato affinché riconosca questo mapping.

Se infine si usa un dominio personalizzato per raggiungere l'applicazione Web e si vuole abilitare il protocollo HTTPS, è necessario configurare i certificati per il dominio personalizzato in Frontdoor di Azure.

Bloccare l'applicazione Web

Si consiglia di verificare che solo i vertici di Frontdoor di Azure possano comunicare con l'applicazione Web. In questo modo nessuno può ignorare la protezione frontdoor di Azure e accedere direttamente all'applicazione. Per eseguire questa operazione di blocco, vedere Come si blocca l'accesso al back-end limitandolo solo a Frontdoor di Azure?.

Pulire le risorse

Quando le risorse di questa esercitazione non sono più necessarie, usare il comando az group delete per rimuovere il gruppo di risorse, Frontdoor e i criteri WAF:

  az group delete \
    --name <>

--name: nome del gruppo di risorse per tutte le risorse usate in questa esercitazione.

Passaggi successivi

Per informazioni su come risolvere i problemi relativi a Frontdoor, vedere le guide per la risoluzione dei problemi: