Distribuire e configurare Azure Firewall

Azure Firewall è un nuovo servizio pensato per proteggere le reti virtuali in Microsoft Azure. Il servizio, interamente gestito da Microsoft e altamente disponibile, oltre che scalabile, offre tutta la sicurezza di cui le vostre reti virtuali hanno bisogno e vi permette di configurare attraverso delle policy il traffico di rete.

Il Firewall di Azure utilizza un indirizzo IP pubblico statico ed usa la modalità SNAT (Source Network Address Translation). Ciò consente ai firewall esterni di identificare il traffico proveniente dalla rete virtuale. Il filtro del traffico in ingresso per i servizi back-end nella rete virtuale è invece supportato dalla modalità DNAT (Destination Network Address Translation).

Le funzionalità offerte al momento della scrittura di questo articolo sono:

  • Built-in high availability La disponibilità elevata è integrata, quindi non sono necessari servizi di bilanciamento del carico aggiuntivi e non è necessario eseguire altre configurazioni.
  • Scalabilità del cloud senza restrizioni È possibile aumentare le prestazioni di Firewall di Azure a seconda delle esigenze in modo da soddisfare i mutevoli flussi del traffico di rete senza dover stabilire un budget per i periodi di traffico più intenso.
  • Regole di filtro del nome di dominio È possibile limitare il traffico HTTP/S in uscita a un elenco specifico di nomi di dominio (FQDN), inclusi i caratteri jolly.
  • Regole di filtro per il traffico di rete È possibile creare in modo centralizzato regole di filtro di rete per consentire o negare il traffico in base all’indirizzo IP di origine e di destinazione, alla porta e al protocollo. Azure Firewall è un servizio di tipo stateful, quindi in grado di distinguere i pacchetti validi per diversi tipi di connessioni. Le regole vengono applicate e registrate in più sottoscrizioni e reti virtuali.
  • Tag FQDN I tag FQDN rendono più semplice consentire il traffico di rete noto del servizio di Azure attraverso il firewall. Per consentire il traffico di rete di Windows Update attraverso il firewall è sufficiente creare una regola di applicazione e includere il tag di Windows Update. A questo punto il traffico di rete da Windows Update può attraversare il firewall.
  • Supporto SNAT ( Source Network Address Translation) in uscita Tutti gli indirizzi IP del traffico di rete virtuale in uscita vengono convertiti nell’indirizzo IP pubblico di Firewall di Azure (Source Network Address Translation). È possibile identificare e consentire il traffico proveniente dalla rete virtuale a destinazioni Internet remote.
  • Supporto DNAT (Destination Network Address Translation) in ingress Il traffico di rete in ingresso all’indirizzo IP pubblico del firewall viene convertito (Destination Network Address Translation) e filtrato per gli indirizzi IP nelle reti virtuali.
  • Integrazione con il Monitoraggio di Azure Tutti gli eventi vengono integrati con Monitoraggio di Azure, che consente di archiviare i log in un account di archiviazione, trasmettere gli eventi a Hub eventi o inviarli a Log Analytics.

Figura 1: Principio di funzionamento di Azure Firewall

Creazione di Azure Firewall utilizzando il portale di Azure

La creazione è molto semplice e consiste in pochi passaggi.

Come prima operazione, se non ne avete già una disponibile, create una Azure Virtual Network. Io ho creato la rete chiamata DEMO-VNET all’interno di un Resource Group chiamato DEMO-RG. Ho scelto come Address Space la rete 10.0.0.0/16 e ho creato una Subnet chiamata Produzione con indirizzamento 10.0.0.0/24

Figura 2: Creazione di una nuova Azure Virtual Network

Dopo la creazione della VNET, aggiungete una nuova Subnet chiamata AzureFirewallSubnet (questo nome è obbligatorio), che sia almeno una /25. Nel mio caso la rete scelta è 10.0.1.0/24

Figura 3: Creazione della Subnet AzureFirewallSubnet

Quando verrà creato Azure Firewall verrà direttamente collegato alla Subnet con il nome AzureFirewallSubnet. Create tutte le altre reti di cui avete bisogno.

Figura 4: Creazione delle altre subnet

Figura 5: Schema della rete e delle configurazioni da realizzare

Create due macchine virtuali, una che farà da Web Server ed un’altra che farà da SQL Server. Nel mio caso ho scelto i nomi WEB01 per il web server, che ho collegato alla subnet Web e SQL01 per il database server che ho collegato alla rete Data. Nessuna delle macchine virtuali ha un indirizzo IP pubblico. Nelle schermate successive potete visualizzare tutte le configurazioni effettuate.

Figura 6: Creazione della macchina virtuale SQL01

Figura 7: Configurazione della rete della macchina virtuale SQL01

Figura 8: Riepilogo delle caratteristiche della macchina virtuale SQL01

Figura 9: Creazione della macchina virtuale WEB01

Figura 10: Configurazione della rete della macchina virtuale WEB01

Figura 11: Riepilogo delle caratteristiche della macchina virtuale WEB01

Terminata la creazione delle macchine virtuali potete procedere con la creazione di Azure Firewall.

Creazione di Azure Firewall

Dal portale di Azure filtrate dal Marketplace la parola Firewall e scegliete la proposta Microsoft nella categoria Networking, come mostrato in figura:

Figura 12: Scelta di Azure Firewall dal Marketplace

Inserite le informazioni richieste per la creazione Di Azure Firewall. Nel mio caso l’ho chiamato FW01 e l’ho collegato alla virtual network DEMO-VNET che avevo creato in precedenza. Al Firewall ho anche associato un indirizzo IP pubblico. Il Firewall verrà automaticamente collegato alla Subnet AzureFirewallSubnet

Figura 13: Creazione del Firewall

Attendete qualche minuto e successivamente verificate quale indirizzo IP Privato sia stato associato al Firewall. Prendetene nota perché lo utilizzeremo per le regole di routing.

Figura 14: Creazione del firewall completata

Creazione delle regole di routing

Tutto il traffico delle nostre reti dovrà passare attraverso l’Azure Firewall che abbiamo creato. Per poter effettuare in maniera corretta la gestione del traffico dovremo creare una tabella di routing e gestire le regole per far comunicare tra di loro le diverse subnet. Come prima operazione dal Marketplace del portale Azure scegliete di creare una nuova Route Table, come mostrato in figura:

Figura 15: Creazione di una nuova Route Table

Terminata la creazione della tabella di routing, spostatevi nel nodo Subnets ed associate la tabella alle Subnet che volete gestire. Io ho associato la tabella alle Subnet Web e Data, per poter gestire il traffico tra i web server e i database server.

Figura 16: Associazione della tabella di Routing alle Subnet da gestire

Spostatevi nel nodo Routes e aggiungete le rotte. Nonostante Azure Firewall sia un managed service è necessario specificare Virtual appliance come next hop. L’indirizzo del next hop sarà l’IP privato dell’Azure Firewall che vi siete segnati in precedenza. Aggiungete le rotte secondo le vostre necessità. Io ne ho create 3, per gestire il traffico verso Internet ed il traffico tra le due Subnet Web e Data, come mostrato in figura:

Figura 17: Creazione della rotta verso Internet

Figura 18: Creazione delle rotte necessarie a gestire il traffico delle diverse Subnet

Da questo momento in poi il traffico sarà gestito da Azure Firewall. Pertanto, fino a quando non abiliteremo le regole tutto il traffico sarà bloccato.

Creazione delle regole in Azure Firewall

Azure Firewall permette di creare 3 tipi di regole:

  • Network rules Permettono di gestire il traffico proveniente da alcune reti e diretto verso altre reti in base alle porte utilizzate
  • NAT rules Permettono di consentire il traffico dall’esterno del firewall verso endpoint interni della rete
  • Application rules Permettono di limitare il traffico HTTP/S in uscita a un elenco specifico di nomi di dominio (FQDN).

Spostatevi nel nodo Rules del Firewall e configurate le regole in base alle vostre esigenze. Nelle schermate sottostanti potrete vedere come sia possibile permettere che la rete dei Web Server possa raggiungere la rete dei Database Server utilizzando connessioni sulla porta TCP 1433 (Network rule), come permettere l’accesso dall’esterno ala macchina web server via HTTP ed RDP (NAT rule) e come permettere la navigazione verso il sito ICTPower.it solo ad una determinata subnet (application rule).

Figura 19: Creazione di una Network Rule in Azure Firewall

Figura 20: Creazione di una NAT Rule in Azure Firewall

Figura 21: La navigazione non è consentita se non viene creata una Application Rule

Figura 22: Creazione di una Application Rule in Azure Firewall

Conclusioni

Azure Firewall è semplicissimo da configurare ed è interamente gestito da Microsoft. Un servizio che abilita le funzionalità del firewall chiavi in mano nella rete virtuale, per controllare e registrare l’accesso ad app e risorse, è sicuramente vantaggioso e presto verrà arricchito con altre funzionalità. L’alta disponibilità e la capacità di scalare automaticamente in base ai picchi di utilizzo sono sicuramente un punto di forza del prodotto.