Azure Networking: nuove funzionalità da conoscere per progettare al meglio le architetture di rete

Le soluzioni cloud evolvono molto rapidamente e rimanere costantemente aggiornati è un elemento fondamentale per innovarsi e per saper rispondere efficacemente ai cambiamenti tecnologici. Con il cambio di passo imposto dalla digital transformation anche le infrastrutture di rete devono essere sempre più efficienti, flessibili ed in grado di erogare al meglio i servizi richiesti dal business aziendale. Per modernizzare la propria strategia di progettazione e di implementazione in ambito Azure Networking è perciò importante valutare come evolvono le varie tecnologie. In questo articolo vengono riportate le novità recentemente rilasciate da Microsoft e che possono interessare la progettazione del networking di Azure, con dei riferimenti a dei casi d’uso reali.

Azure Bastion e VNet peering

Azure Bastion è un servizio PaaS che offre un accesso RDP ed SSH sicuro e affidabile alle macchine virtuali, direttamente tramite il portale di Azure. Il provisioning del servizio Azure Bastion viene effettuato all’interno di una Virtual Network di Azure e consente l’accesso senza dover assegnare degli indirizzi IP pubblici direttamente ai sistemi.

La novità è che ora Azure Bastion può lavorare in sinergia con i Virtual Network (VNet) peering. Questo significa che è possibile attivare Azure Bastion su una VNet specifica e lo stesso servizio può essere utilizzato per connettersi anche alle macchine virtuali attestate sulle VNet in peering con questa.

Azure Bastion funziona sia in presenza di network peering che collegano VNet sulla stessa region di Azure, sia con VNet peering di tipologia global, che collegano VNet dislocate in region di Azure differenti. Dal punto di vista delle architetture di rete questa possibilità apre nuovi possibili scenari. Nel modello di rete tipico ed ampiamente utilizzato, definito hub-and-spoke, si ha una rete virtuale in Azure di hub che funge da punto di connettività verso la rete on-premises e le reti virtuali che eseguono il peering con l’Hub vengono definite spoke, utili per isolare i carichi di lavoro. Adottando questo modello è possibile attivare Azure Bastion sulla rete di hub. In questo modo sarà possibile raggiungere con un unico servizio Azure Bastion anche tutte le macchine virtuali distribuite nelle VNet di spoke.

Figura 1 – Azure Bastion in una architettura hub-and-spoke

Nel diagramma seguente viene riportato il deployment di Azure Bastion in una architettura di rete hub-and-spoke dove:

  • Il Bastion host viene attivato nella rete virtuale centralizzata di Hub.
  • Vengono consentite le comunicazioni, per le porte TCP 3389 e 22, provenienti dalla subnet di Azure Bastion presente nella virtual network di Hub, verso gli IP privati delle virtual network di Spoke.
  • Nessun IP pubblico viene richiesto per accedere alle macchine virtuali.

Grazie a questa configurazione sarà possibile semplificare l’architettura e ridurre i costi Azure, in quanto sarà necessario un solo servizio Azure Bastion per l’intera topologia di rete hub-and-spoke.

Inoltre, può essere effettuato il provisioning di Azure Bastion anche in topologie di rete full-mesh, ottenendo la medesima esperienza di accesso ai sistemi in modalità RDP / SSH per le VMs attestate su tutte le virtual network in peering.

Si riportano alcune osservazioni in merito:

  • Risulta possibile avere attivi contemporaneamente più Bastion hosts tra virtual network in peering. Questo può accadere in particolare nel periodo di transizione, quando si vogliono consolidare diversi Bastion hosts secondo la topologia hub-and-spoke sopra descritta. In presenza di più Bastion host, quando si effettuerà la connessione, sarà proposto di scegliere quale Bastion host utilizzare.
  • Attualmente Azure Bastion supporta gli scenari di virtual network in peering solo se queste risiedono in subscription appartenenti allo stesso tenant.

Azure Firewall: nuove impostazioni DNS

Azure Firewall è la soluzione di firewall-as-a-service (FWaaS) presente nel cloud pubblico di Microsoft, che consente di mettere in sicurezza le risorse presenti nelle Virtual Network di Azure e di governare i relativi flussi di rete. Le funzionalità di Azure Firewall sono state arricchite aggiungendo il supporto dei custom DNS e del DNS proxy.

Custom DNS

Per impostazione predefinita Azure Firewall utilizza i DNS di Azure per la risoluzione dei nomi. Ora è stata inclusa la possibilità di configurare Azure Firewall per utilizzare dei server DNS specifici.

Nelle impostazioni è possibile configurare un singolo server DNS oppure più server DNS:

Figura 2 – Impostazione dei custom DNS in Azure Firewall dal portale Azure

Azure Firewall può effettuare la risoluzione dei nomi anche utilizzando Azure Private DNS. In questo scenario è richiesto che la VNet all’interno della quale risiede Azure Firewall sia collegata all’Azure Private Zone.

DNS proxy

Azure Firewall può ora essere configurato per svolgere il ruolo di DNS proxy. Abilitando questa nuova funzionalità è possibile configurare come DNS delle virtual network l’indirizzo IP privato di Azure Firewall. In questo modo tutto il traffico DNS viene indirizzato verso Azure Firewall, il quale funge da intermediario tra i sistemi che effettuano le richieste DNS e i server DNS stessi, evitando in questo modo possibili incoerenze nelle risoluzioni dei nomi se vengono utilizzati dei DNS custom.

Quando il firewall di Azure agisce come DNS proxy, sono previste due tipologie di cache:

  • Positive cache: la risoluzione DNS va a buon fine. In questo caso Azure Firewall utilizza il TTL (time to live) del pacchetto o dell’oggetto.
  • Negative cache: la risoluzione DNS non va a buon fine. In questo caso le informazioni vengono memorizzate nella cache di Azure Firewall per un’ora.
Figura 3 – Configurazione di Azure Firewall come DNS proxy dal portale Azure

Questa funzionalità consente di valutare un nuovo scenario di utilizzo per Azure Firewall, molto utile quando si ha la necessità di gestire la risoluzione DNS in presenza dei Private Link, il meccanismo che permette di instaurare una connessione privata verso i servizi in Azure.

Ad ogni servizio PaaS di Azure che utilizza Azure Private Link viene assegnato un FQDN mappato e archiviato in una Azure Private DNS zone. Le richieste inviate verso le Azure DNS Private Zones vengono indirizzate all’IP di piattaforma 168.63.129.16, il quale è raggiungibile solo dall’interno dell’ambiente Azure. Per questa ragione, se la richiesta DNS ha origine dai sistemi on-premises (o comunque dall’esterno di Azure), è necessario attivare un DNS proxy all’interno di una rete virtuale di Azure connessa all’ambiente on-premise. Grazie a questa nuova funzionalità di DNS proxy di Azure Firewall è possibile gestire questa sfida di risoluzione dei nomi dei servi PaaS che utilizzano Private Link con i seguenti step:

  • La VNet all’interno della quale risiede Azure Firewall la si collega all’Azure Private Zone.
  • Azure Firewall lo si configura per utilizzare il DNS predefinito di Azure e si abilita la funzionalità di DNS Proxy.
  • Si configura il server DNS locale per inoltrare in modo condizionale le richieste ad Azure Firewall per il nome della zona richiesto.

Azure Firewall: utilizzo di FQDN filtering nelle network rule

Nelle Network Rule di Azure Firewall è ora possibile utilizzare dei fully qualified domain name (FQDN) basati sulla risoluzione DNS di Azure Firewall. Questa funzionalità permette di filtrare il traffico in uscita per qualsiasi protocollo TCP / UDP (NTP, SSH, RDP, etc.) e richiede che sia attiva la funzionalità di DNS proxy descritta nel paragrafo precedente. Azure Firewall, quando configurato come DNS proxy, archivia tutti gli indirizzi IP risolti dagli FQDN utilizzati nelle network rule. Per questa ragione come best practice è bene utilizzare gli FQDN nelle network rule.

Azure Firewall, sia per le application rule che per le network rule, converte l’FQDN in uno o più indirizzi IP in base al server DNS selezionato (Azure DNS oppure DNS personalizzato). Nel momento in cui avviene una nuova risoluzione DNS vengono aggiunti i nuovi indirizzi IP alle regole del firewall, mentre gli indirizzi IP che non vengono più restituiti dal server DNS hanno una scadenza di 15 minuti. Le Network Rule di Azure Firewall vengono aggiornate ogni 15 secondi utilizzando la risoluzione DNS. Se si ha la necessità di applicare dei filtri FQDN rimane comunque buona norma utilizzare sempre le application rule di Azure Firewall per i protocolli HTTP/S oppure MSSQL, mentre per tutti i restanti protocolli è possibile utilizzare sia le application rule che le network rule.

Nuove funzionalità per gli Azure VPN gateway

In seguito, si riportano le nuove funzionalità che è possibile adottare in presenza degli Azure VPN gateway:

  • Alta disponibilità dei server RADIUS nelle VPN point-to-site: questa funzionalità consente di effettuare una configurazione in alta disponibilità presso i clienti che utilizzano l’autenticazione RADIUS/AD per le VPN point-to-site.
  • Policy IPsec/IKE personalizzate con timeout DPD: l’impostazione del timeout IKE DPD (Dead Peer Detection) consente di regolare il valore di timeout della sessione IKE in base alla latenza di connessione e alle condizioni del traffico. Questa configurazione risulta utile per ridurre al minimo le disconnessioni del tunnel, migliorando l’affidabilità e l’esperienza di utilizzo.
  • Supporto APIPA per gli annunci BGP: questa funzione consente di stabilire sessioni Border Gateway Protocol (BGP), con i VPN gateway di Azure, usando indirizzi APIPA (169.254.x.x). Questa funzionalità è utile in particolare per i clienti con router VPN legacy, Amazon Web Service (AWS) VGW, Google Cloud Platform (GCP) VPN che utilizzano indirizzi APIPA (Automatic Private IP Addressing) per annunciare gli indirizzi BGP.
  • Supporto dei nomi FQDN per le VPN site-to-site: questa funzionalità consente di configurare le VPN site-to-site in presenza di apparati che non dispongono di indirizzi IP pubblici statici per connettersi ai VPN gateway di Azure. Risulta infatti possibile utilizzare il nome di dominio completo (FQDN) anziché gli indirizzi IP. I VPN gateway di Azure saranno in grado di effettuare la risoluzione del nome DNS, aggiornando automaticamente la destinazione per stabilire le connessioni IPsec/IKE della VPN.
  • Gestione delle sessioni e revoca degli utenti per le VPN point-to-site: viene data la possibilità di elencare e revocare le connessioni dei singoli utenti ai VPN gateway, direttamente dal portale di Azure ed in tempo reale.

Conclusioni

Diverse sono le novità rilasciate recentemente da Microsoft in ambito Azure networking ed è opportuno valutarle attentamente per effettuare una progettazione accurata. In questo modo sarà possibile realizzare architetture di rete efficaci, ottimizzando i costi ed in grado di sfruttare tutte le potenzialità offerte dalla piattaforma Azure.