Archivi categoria: Azure Networking

Azure Networking: come mettere in sicurezza i deployments di Window Virtual Desktop

Windows Virtual Desktop è un servizio completo di virtualizzazione dei desktop e delle applicazioni disponibile in Azure che, in un periodo come questo, dove il lavoro da casa è aumentato esponenzialmente, ha visto un’ampia adozione. Consentire ai propri dipendenti di lavorare da casa richiede alle organizzazioni di affrontare cambiamenti importanti della propria infrastruttura IT in termini di capacità, rete, sicurezza e governance. La soluzione Virtual Desktop Infrastructure (VDI) in Azure può aiutare le realtà aziendali ad affrontare in modo efficace queste evoluzioni, ma è necessario proteggere l’accesso a questi ambienti VDI in modo opportuno. In questo articolo viene descritto come è possibile strutturare il networking in Azure per proteggere in modo efficace i deployment di Windows Virtual Desktop.

Per poter adottare il giusto approccio è necessario valutare quali sono i componenti di Windows Virtual Desktop (WVD) e le loro iterazioni. Il servizio è distribuito secondo un modello di responsabilità condivisa e vede:

  • RD Clients che si collegano ai desktop e alle applicazioni erogati dal servizio WVD. L’ambiente può essere raggiunto da qualsiasi postazione con accesso Internet e la gestione dei client ricade nelle responsabilità del cliente.
  • Servizi Azure gestiti che hanno il compito di pilotare le connessioni tra i client RD e le macchine virtuali Windows in Azure. Si tratta dei ruoli server necessari per questo ambiente, quali Gateway, Web Access, Broker e Diagnostics, in modalità totalmente gestita da Microsoft.
  • Macchine virtuali in Azure attestate su una virtual network, la cui gestione è totalmente in carico al cliente.

Figura 1 – Shared Responsibility model di Windows Virtual Desktop

Per mettere in totale sicurezza l’ambiente Windows Virtual Desktop è necessario definire la topologia di rete più opportuna e i flussi di comunicazione necessari.

Topologia di rete Hub-Spoke per Windows Virtual Desktop

Nell’architettura di rete di tipologia Hub-Spoke, l’Hub è una rete virtuale in Azure che funge da punto di connettività verso la rete on-premises. Tale connettività può avvenire tramite VPN Site to site oppure tramite ExpressRoute. Gli Spoke sono le reti virtuali che eseguono il peering con l’Hub e possono essere usate per isolare i carichi di lavoro. Un buon approccio potrebbe quindi essere quello di strutturare il networking di Azure adottando fin da subito questa topologia di rete e posizionare le macchine virtuali Windows Virtual Desktop in una rete di Spoke. Questa architettura di rete è pensata anche per posizionare nella rete di Hub una network virtual appliance (NVA) per controllare i flussi di rete in modo centralizzato. Il controllo delle comunicazioni di rete può essere demandato a una network virtual appliance (NVA) di terze parti oppure ad Azure Firewall, il servizio gestito e totalmente integrato nel cloud pubblico di Microsoft, che consente di mettere in sicurezza le risorse presenti sulle Virtual Network di Azure.

Figura 2 – Hub-spoke network topology in Azure

Flussi di comunicazione necessari per Windows Virtual Desktop

Diversi sono i flussi di comunicazione che è necessario prevedere e che grazie alla topologia di rete Hub-Spoke è possibile governare facilmente e in modo centralizzato.

Figura 3 – Flussi di comunicazione per l’ambiente Windows Virtual Desktop nella topologia Hub-Spoke

Windows Virtual Desktop non richiede di dover aprire dei flussi di comunicazione in ingresso verso la virtual network su cui sono attestate le relative macchine virtuali.

Per consentire un corretto funzionamento del servizio è però necessario prevedere l’accesso dalle macchine WVD, attestate sulla virtual network di spoke, verso specifici Fully Qualified Domain Names (FQDNs). La lista completa degli indirizzi necessari per il funzionamento di Windows Virtual Desktop è possibile consultarla in questo documento Microsoft. Per semplificare questa configurazione, in Azure Firewall è disponibile l’apposito FQDN tag chiamato WindowsVirtualDesktop, che è possibile utilizzare in una application rule specifica. A questo proposito è bene specificare che questo tag non contempla l’accesso agli storage e service bus accounts necessari per gli host pool di Windows Virtual Desktop. Trattandosi di URL specifici per deployment è possibile andare a consentire il traffico https in modo puntuale verso gli URL specifici oppure si può utilizzare il wildcard per i seguenti FQDNs: *xt.blob.core.windows.net, *eh.servicebus.windows.net e *xt.table.core.windows.net. Questi FQDN tag sono presenti anche nelle Virtual Appliance di terze parti per facilitare la configurazione.

Le macchine Windows Virtual Desktop devono inoltre poter accedere ai server DNS, al servizio KMS per i processi di attivazione e ai server NTP per la sincronizzazione dell’orario.

In base alle esigenze aziendali può inoltre essere necessario abilitare l’accesso a Internet per gli utenti finali, applicando opzionalmente specifiche regole per la navigazione. Per filtrate il traffico Internet può essere utilizzato un secure web gateway posizionato on-premises oppure la network virtual appliance posizionata nella rete di Hub.

Infine, è opportuno prevedere l’abilitazione dei flussi di comunicazione necessari tra le macchine Windows Virtual Desktop, posizionate nella rete di Spoke, e le risorse che risiedono nell’ambiente on-premises.

Conclusioni

Uno dei primi aspetti da tenere in considerazione quando si decide di implementare soluzioni nel cloud è l’architettura di rete da adottare. Stabilire fin dall’inizio la topologia di rete più opportuna consente di avere una strategia vincente ed evita di trovarsi nella condizione di dover migrare in seguito i workloads, per adottare architetture di rete differenti, con tutte le complicazioni che ne conseguono. L’architettura di rete Hub-Spoke si presta bene anche per scenari di deploy di Windows Virtual Desktop, in quanto consente di ottenere un elevato livello di controllo sugli aspetti legati alla sicurezza di rete e di effettuare una segregazione del traffico di rete adottando Azure Firewall oppure Network Virtual Appliance di terze parti.

Azure Networking: gestione degli indirizzi IP per il traffico in uscita da Azure

Quando si progettano architetture in Azure è spesso importante stabilire con precisione quali indirizzi IP pubblici vengono utilizzati per il traffico di rete in uscita. Un requisito comunemente richiesto è garantire che il traffico in uscita dalla rete virtuale di Azure avvenga con indirizzi IP pubblici stabiliti. Questo requisito tipicamente è dato dalla necessità di autorizzare in modo esplicito il traffico proveniente da Azure su altre risorse. In questo articolo viene descritto come in Azure è possibile governare questo aspetto, quali sono gli elementi da prendere in considerazione e quali novità sono state recentemente introdotte in questo ambito.

Per impostazione predefinita, il traffico in uscita da una rete virtuale di Azure utilizza degli indirizzi IP pubblici allocati in modo casuale e questi possono cambiare.

Assegnazione IP Pubblico alla singola macchina virtuale

Quando si ha la necessità di fissare l’indirizzo IP Pubblico per il traffico in uscita di una singola macchina virtuale, il metodo più semplice è assegnare a questa un indirizzo IP Pubblico. Tale indirizzo IP sarà utilizzato per il traffico in ingresso, se necessario, e per il traffico in uscita. Tramite i Network Security Groups (NSGs), lo strumento principale per controllare il traffico di rete in Azure, è possibile filtrare le comunicazioni con apposite regole di deny e permit.

Assegnazione IP Pubblico al Load Balancer

Anziché assegnare un indirizzo IP pubblico direttamente a una macchina virtuale, è possibile assegnarlo a un load balancer. In questo modo, qualsiasi macchina virtuale aggiunta al pool di back-end del load balancer utilizzerà l’IP pubblico ad esso assegnato per il traffico di rete in uscita.

Figura 1 – Load Balancer con IP Pubblico

Questo approccio è consigliato qualora ci sia davvero l’esigenza di adottare un Load Balancer per bilanciare il traffico di rete in ingresso tra più macchine virtuali. In questo modo è anche possibile limitare il numero di IP pubblici richiesti, configurando più macchine virtuali dietro allo stesso load balancer.

Utilizzo di Azure Firewall

In presenza di Azure Firewall, se il traffico di rete viene opportunamente fatto confluire a questo componente tramite delle rotte specifiche, si ha la certezza che uscirà verso Internet usando gli IP Pubblici assegnati all’istanza Azure Firewall. Ad Azure Firewall si possono associare fino a 250 indirizzi IP pubblici, ma è opportuno tenere in considerazione che attualmente l’indirizzo IP Pubblico sorgente di Azure Firewall utilizzato per le connessioni viene scelto in modo casuale tra gli IP assegnati. Questo aspetto è da valutare quando sono necessarie autorizzazioni specifiche per il traffico proveniente da Azure Firewall e se si deve gestire l’accesso a FTP Passivi (non supportati se Azure Firewall ha più indirizzi IP assegnati). Microsoft ha comunque in roadmap la possibilità di fare configurazioni SNAT specificando l’indirizzo IP Pubblico da utilizzare.

Figura 2 – Azure Firewall overview

Azure Firewall è un componente sempre più diffuso e la sua attivazione è consigliata per gestire e governare al meglio il traffico di rete. Tuttavia, in assenza di questo componente è possibile valutare metodi alternativi meno costosi se l’obiettivo unico è governare quali indirizzi IP vengono utilizzati nel traffico di rete in uscita.

Virtual Network NAT

Virtual Network NAT è un nuovo metodo che è stato recentemente introdotto per semplificare nelle reti virtuali la connettività Internet ed interessa esclusivamente il traffico di rete in uscita. Se configurato su una subnet, tutta il traffico in uscita utilizzerà gli indirizzi IP pubblici statici specificati. Il tutto è possibile senza l’adozione di indirizzi IP pubblici direttamente collegati alle macchine virtuali e di load balancer.

Figura 3 – Virtual Network NAT

Una subnet può quindi essere configurata specificando quale risorsa Gateway NAT utilizzare. Al termine della configurazione tutti i flussi di rete in uscita (UDP e TCP) provenienti da qualsiasi macchina virtuale attestata su quella subnet, utilizzeranno l’IP Pubblico (standard SKU), il Public IP Prefix oppure una combinazione di questi. La medesima risorsa Gateway NAT può essere utilizzata da più subnet, purché appartenenti alla stessa Virtual Network.

Virtual Network NAT è compatibile con le seguenti risorse, aventi SKU standard:

  • Load balancer
  • Public IP address
  • Public IP prefix

Questi componenti utilizzati insieme a Virtual Network NAT forniscono connettività Internet in entrata alle subnet. Virtual Network NAT gestisce invece tutta la connettività Internet in uscita dalla subnet. L’utilizzo congiunto di questi componenti è possibile in quanto sono consapevoli della direzione in cui è stato avviato il flusso e ne permettono la corretta gestione.

Figura 4 – Virtual Network NAT flow direction

Lo SLA garantito per questa funzionalità è del 99.9%, in quanto viene distribuita automaticamente dalla piattaforma su più fault domains per sostenere al meglio eventuali fault.

Virtual Network NAT è di default un servizio regionale ed è possibile isolarlo in una specifica zona (zonal deployment), quando si devono contemplare scenari che adottano diverse availability zones.

Figura 5 – Virtual Network NAT con availability zones

Per monitorare l’utilizzo di questo componente e per effettuare operazioni di troubleshooting è possibile consultare le metriche esposte in Azure Monitor:

  • Bytes
  • Packets
  • Dropped Packets
  • Total SNAT connections
  • SNAT connection state transitions per interval.

NSG flow logging non è al momento supportato per il Virtual Network NAT.

Il costo di questo componente è dato da due fattori:

  • Ore di esistenza della risorsa
  • Dati processati

Per maggiori dettagli sui costi è possibile consultare la pagina Microsoft relativa al pricing per questo componente.

Conclusioni

Per governare quali indirizzi IP vengono utilizzati dai sistemi in Azure per comunicare verso l’esterno ci sono diverse possibilità, ciascuna con le proprie caratteristiche. Nel caso si stia adottando la topologia di rete Hub-spoke con un Azure Firewall nella rete di Hub, il controllo è garantito by design. Un’ottima soluzione in assenza di Azure Firewall oppure di altre Network Virtual Appliance è l’adozione della metodologia Virtual Network NAT recentemente introdotta.

Formazione: Cloud Community con la scuola per esplorare il mondo digitale

Siamo lieti di comunicarvi che la nostra community parteciperà ad un importante progetto di formazione dedicato alle classi quarta e quinta dell’Istituto Superiore Statale P. Gobetti di Scandiano (RE).

L’iniziativa di formazione durerà due mesi e coinvolgerà circa 50 ragazzi. Si tratta di un percorso di formazione appositamente pensato per avvicinare gli studenti ai grandi argomenti digital. In seguito si riportano i temi trattati durante questo progetto.

Automation con Powershell

Powershell è la shell multi-piattaforma Microsoft pensata per automatizzare e rendere ripetibili le operazioni amministrative sui sistemi IT. L’automazione consente di rendere certe e ripetibili le operazioni siano esse applicate a poche unità o migliaia di sistemi. In questo modulo introduttivo ci si limiterà alla gestione della piattaforma Windows e non si tratteranno temi legati alla piattaforma Linux.

Obiettivi

Rendere gli studenti in grado di:

  • Identificare le varie versioni di Powershell e l’ambito di utilizzo
  • Descrivere le funzionalità di powershell, ricercare ed eseguire i comandi base
  • Utilizzare la powershell pipeline
  • Lavorare con variabili, array e hash tables
  • Scrivere un semplice script powershell
  • Eseguire comandi e script powershell remotamente

Prerequisiti

  • Logica di programmazione per oggetti
  • Conoscenza dei meccanismi base ai autenticazione e autorizzazione in un dominio Active Directory

Docente

Cloud Networking in ambienti ibridi

L’IT aziendale non è più limitato o limitabile alle sole reti di proprietà tra sedi o stabilimenti, la cloud pubblica nelle sue varie declinazioni è ormai componente fondamentale di qualsiasi architettura IT. La possibilità di interconnettere sistemi e servizi è il primo mattone per la costruzione di un ambiente ibrido tra pubblico e privato (on-premises). In questo modulo gli studenti avranno modo di comprendere il networking su cloud pubblica e di realizzare un collegamento tra cloud pubblica e rete privata.

Obiettivi

Rendere gli studenti in grado di:

  • Identificare i maggiori cloud provider pubblici
  • Descrivere le varie tipologie di cloud computing
  •  Descrivere le differenze in termini di gestione dei costi tra sistemi di proprietà e cloud computing (se studiano anche economia ci può essere un rimando alla differenza tra capital expenses e operational expenses)
  • Descrivere cosa si intende per virtual networking e in particolare i concetti di virtual network di Microsoft Azure
  • Raccogliere le informazioni necessarie alla creazione di una virtual network su Microsoft Azure
  •  Creare una virtual network in subnet, definire regole di routing e network security group
  • Conoscere le diverse tipologie di connettività tra virtual network diverse e tra virtual network e reti private
  • Mettere in comunicazione una virtual network Azure con una rete locale privata
  • Cenni di sicurezza per le virtual network su cloud pubblica.

Prerequisiti

  • Conoscenza del protocollo tcp/ip e delle modalità di routing

Docente

Conclusioni

L’obiettivo principale di questa iniziativa community è quello di aiutare ed incentivare i giovani talenti a crescere e formarsi per le professioni legate al mondo digitale. Grazie a questo percorso di formazione si vuole darà l’opportunità ai giovani partecipanti di avvicinarsi al mondo del lavoro con una maggiore consapevolezza e una visione più ampia.

Come attivare un servizio SFTP in Azure basato su Container

Un protocollo di comunicazione che viene comunemente utilizzato per il trasferimento di file tra differenti realtà aziendali è certamente SFTP (SSH File Transfer Protocol oppure Secure File Transfer Protocol). Ad oggi, in Azure non è disponibile un servizio di piattaforma totalmente gestito che consenta di erogare un accesso tramite il protocollo SFTP. L’attivazione di una macchina virtuale in Azure che ospiti il servizio SFTP comporta costi di attivazione e un effort di gestione non trascurabili. In questo articolo viene riportata una soluzione che è possibile adottare per erogare in ambiente Azure il servizio SFTP, basata su Azure Container Instances (ACI) ed Azure File Shares.

La soluzione proposta si basa sui seguenti componenti:

  • Azure Container Instances (ACI), che in Azure è il metodo più semplice e rapido per l’esecuzione di containers on-demand in un ambiente serverless gestito. Il tutto viene reso possibile senza dover attivare macchine virtuali specifiche e la manutenzione necessaria è pressoché trascurabile. La soluzione Azure Container Instances è idonea in scenari che richiedono containers isolati, senza la necessità di adottare un sistema di orchestrazione. Il servizio Azure Container Instances comporta dei costi minimi che dipendono dal numero di vCPU e di GBs di memoria utilizzati dal container group. Per maggiori dettagli sui costi è possibile consultare la relativa pagina ufficiale Microsoft.
  • Azure File, il servizio Azure gestito che permette di accedere a file shares nel cloud tramite il protocollo Server Message Block (SMB).

Figura 1 – Architettura Azure

Sarà quindi attivato un container docker basato su Linux per erogare il servizio SFTP tramite Azure Container Instance (ACI). Per poter avere un accesso persistente allo storage dal container verrà fatto il mount di una Azure Files Shares. I file trasferiti tramite il servizio SFTP saranno pertanto anche accessibili tramite protocollo SMB, gestendo le opportune autorizzazioni, anche fermando l’esecuzione del container creato.

Per effettuare il deploy di questa soluzione è possibile utilizzare come base di partenza i template referenziati in questo documento Microsoft. Si tratta di due template, dove il primo prevede anche la creazione di uno storage account, ma di tipologia V1.

Figura 2 – Deployment tramite template custom

Al fine di ottenere una corretta integrazione con ambienti Azure esistenti e per garantire un accesso filtrato al servizio SFTP è necessario effettuare il deploy di container instances all’interno di una virtual network di Azure. Per fare ciò è necessario attivare una funzionalità in preview, che come tale ha alcune limitazioni, tra le quali non supporta scenari di Virtual Network tra di loro in peering. In questo scenario, qualora sia richiesta la pubblicazione del servizio SFTP verso internet, questa dovrà necessariamente avvenire tramite Azure Firewall, in quanto non è supportata l’assegnazione diretta di IP Pubblici agli Azure Container configurati in Virtual Network. Al fine di migliorare le security posture del vostro ambiente Azure è inoltre consigliabile:

  • Adottare un approccio legato alla micro-segmentazione e alla definizione di perimetri granulari nell’architettura di rete in Azure. Per fare ciò, oltre all’adozione di Azure Firewall, è necessario prevedere l’utilizzo dei Network Security Groups (NSGs), lo strumento utilizzato per segregare il traffico di rete internamente alla Virtual Network di Azure. Tramite delle regole di deny e permit è possibile filtrate le comunicazioni tra le differenti subnet dove sono attestati i differenti workload applicativi.
  • Prevedere l’utilizzo dei Virtual Network (VNet) service endpoints per aumentare il livello di sicurezza dello Storage Account, prevenendo accessi non autorizzati. I vNet Service Endpoints consentono di isolare maggiormente i servizi Azure, permettendo l’accesso ad essi solamente da una o più subnet definite nelle proprie Virtual Network. Questa funzionalità garantisce inoltre che tutto il traffico generato dalle proprie vNet verso i servizi Azure rimanga sempre all’interno della rete di backbone di Azure.

Per rendere completa questa soluzione è necessario prevedere anche una strategia di protezione dei dati che vengono posizionati sullo storage account tramite il servizio SFTP. Il backup dei contenuti trasferiti tramite servizio SFTP su Azure file shares potrà avvenire utilizzando Azure Backup. Anche in questo caso si tratta al momento di una funzionalità in preview, quindi si potrà avere una protezione con una frequenza giornaliera.

Ad oggi, in alternativa a questa soluzione è possibile adottare soluzioni di terze parti disponibili nel marketplace di Azure per erogare il servizio SFTP. Si tratta di soluzioni nettamente più costose che tipicamente richiedono un effort maggiore per il deployment e per la relativa gestione.

Conclusioni

In attesa che Microsoft rilasci un servizio SFTP totalmente gestito in Azure, questa soluzione proposta consente di erogare in modo semplice e veloce questo servizio, con costi ridotti e senza dover mantenere e gestire delle macchine virtuali. L’adozione di questa soluzione necessità l’integrazione con altri servizi della piattaforma Azure per realizzarla in modo efficace, senza tralasciare l’aspetto sicurezza. Al momento potrebbe essere necessario utilizzare servizi in preview, quindi non ufficialmente supportati in ambiente di produzione.

[VIDEO] – Architecting and Implementing Azure Networking

Per implementare cloud ibridi in modo sicuro e allo stesso tempo funzionale è fondamentale una conoscenza approfondita dei vari aspetti legati al networking di Azure. Recentemente ho avuto il piacere di partecipare alla Cloud Conferenze Italia dove ho tenuto una sessione relativa al Networking di Azure. A questo proposito riporto il video della sessione dove vengono esplorati a 360° gli elementi chiave da tenere in considerazione per realizzare architetture di rete ibride, sfruttando al meglio i vari servizi offerti dalla piattaforma Azure, al fine di realizzare la miglior integrazione con l’ambiente on-premises, senza mai trascurare la sicurezza. Durante l’intervento sono stati approfonditi scenari avanzati di architetture di rete ibride, mostrando esempi reali, frutto di un’esperienza diretta sul campo.

Azure Networking: gestione di micro-perimetri con Azure Firewall Manager

Nel cloud pubblico di Microsoft è stato introdotto il nuovo servizio di management Azure Firewall Manager che consente di gestire in modo centralizzato le policy di security e le regole di routing. Grazie a questa soluzione è possibile governare al meglio i perimetri di sicurezza dei propri ambienti cloud ottenendo una protezione ottimale del proprio ecosistema aziendale. In questo articolo vengono riportate le caratteristiche principali del nuovo servizio evidenziando i vantaggi che si possono ottenere grazie al suo utilizzo.

Il modello di sicurezza, definito Zero trust dagli analisti di Forrester Research, e in contrasto con i modelli convenzionali basati sulla sicurezza perimetrale, ci indirizza nell’adozione di un approccio legato alla micro-segmentazione e alla definizione di perimetri granulari nella propria architettura di rete. Per agevolare questo approccio Microsoft ha rilasciato questo strumento che, mettendo a disposizione un unico pannello di controllo centralizzato, è in grado di semplificare la configurazione e la gestione delle network security policy, le quali spesso devono essere distribuite su più istanze di Azure Firewall.

Azure Firewall Manager al momento si integra con Azure Virtual WAN, il servizio che consente di implementare architetture di rete gestite secondo il modello hub and spoke. Azure Firewall ora può essere attivato nelle reti di Hub di Virtual WAN e nel momento in cui policy di security e di routing vengono associate da Azure Firewall Manager ad una rete di Hub questa viene definita come Secured Virtual Hub.

Figura 1 – Panoramica di Azure Firewall Manager

Adottando Azure Firewall Manager è possibile ottenere i seguenti benefici:

  • Configurazioni e deployment centralizzati: il deployment e la configurazione di più istanze di Azure Firewall, in reti di Hub di Virtual WAN, può essere fatta in modo centralizzato. Queste istanze di Azure Firewall possono risiedere in differenti region di Azure e su diverse subscription. Inoltre, è possibile organizzare una gerarchia di policy di Azure Firewall ottimizzate per DevOps, dove le Global firewall policy vengono gestite dall’IT centrale e le firewall policy locali vengono delegate ai DevOps per favorire una migliore agilità nei processi.
  • Routing automatizzato: viene fornita la possibilità di ridirigere facilmente e in modo centralizzato il traffico dalle reti di spoke verso il Secure Virtual Hub, il tutto senza dover manipolare le User Defined Routes delle reti di spoke.
  • Integrazione con partner Security as a Service (SECaaS) di terze parti: per arricchire ulteriormente le funzionalità di sicurezza è prevista l’integrazione con SECaaS partners, attualmente Zscaler e iBoss, ma presto sarà possibile anche con CheckPoint.

Figura 2 – Central security e route policy management

Nel dettaglio gli step per adottare la soluzione sono i seguenti:

  1. Creazione dell’architettura di rete hub and spoke, utilizzando il servizio Azure Virtual WAN e attivazione di una istanza Azure Firewall nella rete di Hub. Per fare ciò è possibile procedere tramite due distinte modalità:
    1. Creazione di una nuova Secured Virtual Hub tramite Azure Firewall Manager e aggiunta delle virtual network connections;
    2. Trasformazione di un Virtual WAN Hub esistente, attivando sulla rete di Hub il servizio Azure Firewall.

Figura 3 – Avvio del processo tramite Azure Firewall Manager

  1. Selezione dei security provider (opzionale). Questo può essere fatto sia durante il processo di creazione di un Secure Virtual Hub oppure durante la conversione di un Virtual WAN Hub in un Secure Virtual Hub.

Figura 4 – Scelta del Trusted Security Partner

  1. Creazione di una firewall policy e associazione con la rete di Hub. Questo è possibile solo per le Azure Firewall Policy, mentre per le policy delle soluzioni di Security as a Service (SECaaS) fornite dai partner, è necessario utilizzare i loro strumenti di gestione.
  1. Configurazione delle impostazioni di routing sul secured hub per attrarre il traffico delle reti di spoke e renderlo filtrato secondo le policy definite.

Al momento Azure Firewall Manager è supportato solamente per la gestione di architetture Hub and Spoke create tramite il servizio Azure Virtual WAN. Il supporto per poter gestire anche le istanze di Azure Firewall attivate nelle Virtual Network è atteso per la prima metà del prossimo anno.

Conclusioni

Azure Firewall Manager è uno strumento che risulta molto utile per gestire ambienti complessi composti da differenti architetture di rete che adottano il modello Hub and Spoke tramite Azure Virtual WAN. Questo servizio di management aggiuntivo nonostante sia agli albori, e destinato ad arricchirsi presto con nuove funzionalità, risulta di fondamentale importanza per gestire in modo più semplice ed efficace la propria architettura di rete di Azure. Al momento il servizio è in Public Preview, quindi non sono garantiti SLA (Service-Level Agreement) e non dovrebbe essere utilizzato in ambienti di produzione.

Azure Monitor: le novità riguardanti il monitor del networking di Azure

Azure Monitor è una soluzione cloud-based in grado di collezionare dati di telemetria di diversa natura, analizzarli ed intraprendere determinate azioni. Tra le varie funzionalità offre la possibilità di controllare lo stato di salute del networking, la connettività verso le proprie applicazioni ed è in grado di fornire informazioni dettagliate sulle performance di rete. Il tutto non solo per ambienti cloud, ma anche in presenza di architetture ibride. In questo articolo vengono riportate le importanti novità che sono state recentemente annunciate da Microsoft per rendere ancora più completa la soluzione.

Prima di approfondire le nuove funzionalità che sono state introdotte è bene specificare che Azure Monitor include differenti soluzioni specifiche per monitorare il networking di Azure, tra le quali Network Performance Monitor (NPM), la suite che comprende le seguenti funzionalità:

Oltre agli strumenti inclusi in Network Performance Monitor (NPM) è possibile utilizzare Traffic Analytics, che consente di avere una visibilità complessiva sulle attività di rete che vengono intraprese nell’ambiente cloud. Il funzionamento di questa soluzione si basa sul principio che in Azure, per poter consentire o negare la comunicazione di rete verso le risorse connesse alle Azure Virtual Networks (vNet), vengono utilizzati i Network Security Group (NSG), che contengono una lista di regole di accesso. I NSG vengono applicati alle interfacce di rete connesse alle macchine virtuali oppure direttamente alle subnet (scelta consigliata). La platform utilizza i NSG flow logs per mantenere la visibilità del traffico di rete in ingresso e in uscita dai Network Security Group. Traffic Analytics si basa sull’analisi dei NSG flow logs e dopo una opportuna aggregazione dei dati, inserendo l’intelligence necessaria relativamente a security, topologia e mappa geografica, è in grado di fornire informazioni dettagliate sul traffico di rete del proprio ambiente cloud Azure. La novità che interessa Traffic Analytics è data dal fatto che ora è possibile processare questi dati con una frequenza maggiore, ad intervalli temporali ogni 10 minuti, contro i 60 minuti possibili in precedenza.

Figura 1 – Frequenza di elaborazione di Traffic Analytics

Azure Monitor for Networks

Per avere una maggiore visibilità nelle attività di rete svolte nel cloud Microsoft ha rilasciato Azure Monitor for Networks che introduce un’utile visuale sullo stato di salute di tutte le risorse di rete presenti nel proprio ambiente, arricchita dalle relative metriche. Il tutto è disponibile senza la necessità di dover fare alcuna configurazione specifica.

Figura 2 – Overview di Azure Monitor for Networks

Nel riquadro superiore è possibile impostare dei parametri di ricerca per identificare rapidamente le risorse di interesse, mentre sulla destra è presente un pannello che mostra eventuali alert suddivisi per criticità.

Selezionando i singoli componenti si ottengono maggiori informazioni di dettaglio.

Figura 3 – Dettagli sullo stato delle connessioni VPN

In particolare, al momento solamente per gli Application Gateway, viene messa a disposizione una vista molto utile delle Dependency, che aiuta a individuare con precisione la configurazione dei componenti e a rintracciare con maggiore rapidità eventuali condizioni di errore. Tale rappresentazione riporta le relazioni tra i front-end IPs, i listeners, le rules e i backend pool degli Application Gateway. I colori facilitano l’individuazione di stati di health problematici sulle risorse.

La vista riporta inoltre i dettagli delle metriche principali riguardanti gli Application Gateway.

Figura 4 – Elenco degli Application Gateway

Figura 5 – Dependency view di un Application Gateway specifico

Il grafico consente inoltre di accedere facilmente alle configurazioni dei diversi componenti. Per individuare i problemi di connettività e avviare le operazioni di troubleshooting è infatti presente la possibilità, facendo tasto destro sulla singola macchina virtuale, di accedere direttamente a VM Insight e al Connection troubleshoot.

Figura 6 – Accesso alle risorse per fare il troubleshooting della macchina

Conclusioni

La nuova soluzione Network Insights presente in Azure Monitor permette di avere una visione complessiva delle proprie risorse di rete in modo semplice e intuitivo. La soluzione risulta particolarmente utile in presenza di ambienti complessi e la console di Dependency view è un valido supporto anche per documentare le implementazioni degli Application Gateway. Si tratta al momento di una funzionalità in preview e come tale sarà sicuramente arricchita nel breve periodo con ulteriori novità, consentendo così di avere un monitor sempre più completo e intuitivo della propria architettura di rete in Azure.

Azure Networking: il nuovo metodo per accedere in modo privato ai servizi in Azure

L’esigenza di poter accedere a dati e servizi in Azure in modo totalmente privato e sicuro, in particolare dal proprio ambiente on-premises, è sicuramente molto sentita e sempre più diffusa. Per questa ragione Microsoft ha annunciato la disponibilità di Azure Private Link, che permette di semplificare l’architettura di rete instaurando una connessione privata verso i servizi in Azure, senza alcuna necessità di esposizione verso internet. In questo articolo vengono riportate le caratteristiche di questa tipologia di connettività e come è possibile attivarla.

Grazie ad Azure Private Link è possibile portare i servizi Azure in una Virtual Network e mapparli con un endpoint privato. In questo modo tutto il traffico viene istradato tramite l’endpoint privato, mantenendolo sulla rete globale di Microsoft. Il dato non transita mai su Internet, questo riduce l’esposizione a minacce e aiuta a rispettare gli standard di compliance.

Figura 1 – Panoramica di Azure Private Link

Il concetto che sta alla base di Azure Private Link è già in parte noto nell’ambito del networking di Azure e richiama i Virtual Network Service Endpoints. Prima dell’introduzione di Azure Private Link l’unico modo disponibile per aumentare il livello di sicurezza nell’accesso ai servizi Azure, come ad esempio Azure Storage e Azure SQL Database, era dato dai VNet Service Endpoints. La differenza però è sostanziale, in quanto utilizzando i VNet Service Endpoints il traffico rimane nella rete di backbone di Microsoft, consentendo l’accesso alle risorse PaaS solamente dalla propria VNet, ma l’endpoint PaaS viene comunque acceduto tramite l’IP pubblico del servizio. Ne consegue che il principio di funzionamento dei vNet Service Endpoints non si estende al mondo on-premises anche in presenza di connettività con Azure (VPN oppure ExpressRoute). Infatti, per consentire l’accesso da sistemi presenti on-premises è necessario continuare ad utilizzare le regole firewall del servizio per limitare la connettività solamente agli IP pubblici di propria appartenenza.

Grazie ad Azure Private Link è possibile invece accedere alle risorse PaaS tramite un indirizzo IP privato della propria VNet, il quale è potenzialmente accessibile anche da:

  • Sistemi on-premises tramite Azure ExpressRoute private peering eo Azure VPN gateway.
  • Sistemi attestati su VNet in peering.

Tutto il traffico risiede all’interno della rete Microsoft e non è necessario configurare l’accesso tramite gli IP Pubblici del servizio PaaS.

Figura 2 – Accesso da on-premises e peered networks

Azure Private Link semplifica notevolmente il modo in cui è possibile accedere ai servizi Azure (Azure PaaS, Microsoft partner e servizi privati) in quanto sono supportate configurazioni cross Azure Active Directory (Azure AD) tenants.

Figura 3 – Private Link cross Azure Active Directory (Azure AD) tenants

L’attivazione di Azure Private Link è semplice e richiede un numero limitato di configurazioni lato networking di Azure. La connettività avviene basandosi su un flusso di approvazione di chiamate e quando una risorsa PaaS viene mappata su un endpoint privato, non è richiesta la configurazione di route table e di Network Security Groups (NSG).

Dal Private link center è possibile creare nuovi servizi e gestire la configurazione oppure configurare servizi esistenti per usufruire dei Private Link.

Figura 4 – Avvio della configurazione da Private link center

Figura 5 – Creazione di un Azure Storage Account da rendere accessibile in modo privato

Figura 6 – Parametri classici per la creazione di uno storage account

Figura 7 – Configurazione del Private endpoint

Figura 8 – Private endpoint connection presente nello storage account creato

Giunti a questo punto lo storage account sarà accessibile in modo totalmente privato. Per testarne l’accesso è stata creata una macchina virtuale e verificata la connettività tramite “Connection troubleshoot”:

Figura 9 – Test eseguito da “Connection troubleshoot” che dimostra la connettività privata

Per collegare tra di loro più Azure Virtual Network vengono tipicamente utilizzati i VNet peering, i quali richiedono che negli address space delle VNet non ci siano delle sovrapposizioni. Qualora si verifichi questa condizione è possibile adottare gli Azure Private Link come metodo alternativo per connettere in modo privato applicazioni che risiedono in differenti VNet con una sovrapposizione degli address space.

Figura 10 – Azure Private Link in presenza di overlapping address space

Le caratteristiche di Azure Private Link consentono di avere un accesso specifico solamente alle risorse mappate in modo esplicito. Nell’eventualità di un incident di security all’interno della propria VNet, questo meccanismo elimina la minaccia di estrazione di dati da altre risorse utilizzando lo stesso endpoint.

Figura 11 – Accesso mirato solo alle risorse mappate in modo esplicito

Gli Azure Private Link aprono inoltre nuovi scenari di esposizione dei servizi erogati in Azure da parte dei service provider. Per consentire l’accesso ai servizi erogati ai propri clienti tipicamente si procedeva secondo una di queste modalità:

  • Si rendevano accessibili direttamente tramite IP Pubblici.
  • Per renderli privati, si creavano dei VNet peering, ma con problemi di scalabilità e di potenziali conflitti IP.

Figura 12 – Come Azure Private Link cambia gli scenari “Service Consumer”-“Service Provider”.

La nuova possibilità che viene offerta in questi scenari, che richiedono un accesso totalmente privato al servizio erogato, è la seguente:

  • Service Provider: configura un Azure Standard Load Balancer, crea un Azure Private Link e consente l’accesso dal Service Consumer proveniente da una differente VNet, subscription, o tenant Azure Active Directory (AD).
  • Service consumer: creare un Private Endpoint nella VNet specifica e richiedere l’accesso al servizio.

Figura 13 – Azure Private Link workflow in scenari “Service Consumer”-“Service Provider”

Per maggiori dettagli a riguardo è possibile consultare la documentazione ufficiale Microsoft.

Conclusioni

Questo nuovo metodo consente di consumare privatamente soluzioni erogate in Azure all’interno della propria infrastruttura di rete. Si tratta di un importante cambiamento che sicuramente è opportuno tenere in considerazioni quando si progettano le architetture di rete in Azure, in particolare per gli scenari ibridi. Al momento il servizio è in preview, quindi non ancora utilizzabile per ambienti di produzione e disponibile per un set limitato di servizi Azure. Nei prossimi mesi però Microsoft ha annunciato che renderà disponibile questa funzionalità anche per altri servizi di Azure e dei partner, consentendo così di avere una esperienza di connettività privata, elemento chiave per avere una maggiore adozione e diffusione di questi servizi.

Azure Networking: le novità di Azure Firewall

Azure Firewall è la soluzione di firewall-as-a-service 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. Questo servizio è stato rilasciato ufficialmente da diversi mesi e, come spesso accade per i servizi cloud, si hanno delle rapide evoluzioni, volte a migliorare il servizio e ad aumentare il set di funzionalità. In questo articolo vengo riportate le principali novità che hanno recentemente interessato Azure Firewall.

Indirizzi IP Pubblici associati ad Azure Firewall

Mentre inizialmente era possibile associare ad Azure Firewall un solo indirizzo IP pubblico, ora si possono associare fino a 100 indirizzi IP pubblici. Questa possibilità apre nuovi scenari di configurazione e di funzionamento:

  • In configurazioni DNAT si ha la possibilità di utilizzare la stessa porta su indirizzi IP Pubblici differenti.
  • Per quanto riguarda connessioni SNAT in outbound saranno disponibili un numero maggiore di porte, riducendo la possibilità di terminare le porte a disposizione.

Attualmente l’indirizzo IP Pubblico sorgente di Azure Firewall utilizzato per le connessioni viene scelto in modo casuale. Questo aspetto è da tenere in considerazione quando sono necessarie autorizzazioni specifiche per il traffico proveniente da Azure Firewall. Microsoft ha comunque in roadmap la possibilità di fare configurazioni SNAT specificando l’indirizzo IP Pubblico da utilizzare. La procedura da seguire per effettuare il deployment di Azure Firewall con più indirizzi IP Pubblici, tramite comandi PowerShell, è possibile consultarla in questo documento.

Figura 1 – Assegnazione di più IP pubblici ad Azure Firewall dal portale Azure

Availability Zones

Al fine di aumentare i livelli di disponibilità di Azure Firewall è possibile, durante la fase di creazione,  prevedere l’utilizzo delle Availability Zones. Selezionando due o più Availability Zones si potrà ottenere una percentuale di uptime del 99.99 percento. Tutti i dettagli relativi ai Service Level Agreement (SLA) di Azure Firewall sono contenuti in questo documento. L’adozione di questa metodologia di deployment non prevede costi aggiuntivi, ma è necessario contemplare un incremento dei costi dati dal data transfer in inbound e in outbound dalle Availability Zones, reperibili in questo documento. Rispetto al costo dell’Azure Firewall questi non impattano in modo particolarmente significativo. Personalmente ritengo che se si adotta una architettura del networking di Azure dove Azure Firewall è il componente core per la messa in sicurezza dell’ambiente, diventa molto utile utilizzare le Availability Zones per garantire un elevato livello di disponibilità delle applicazioni mission-critical protette da questo servizio.

Figura 2 – Configurazione Availability Zones in fase di creazione di Azure Firewall

In presenza di Azure Firewall creati senza l’utilizzo delle Availability Zones, non si ha la possibilità di effettuare una conversione all’utilizzo delle stesse. L’unica modalità attualmente disponibile prevede la creazione di un nuovo Azure Firewall migrando le configurazioni esistenti. I backup in formato JSON della configurazione di Azure Firewall possono essere fatti utilizzando i seguenti comandi PowerShell:

$AzureFirewallId = (Get-AzFirewall -Name "AzureFirewallName" -ResourceGroupName "Network-RG").id

$BackupFileName = ".AzureFirewallBackup.json"

Export-AzResourceGroup -ResourceGroupName "Network-RG" -Resource $AzureFirewallId -SkipAllParameterization -Path $BackupFileName

Avendo a disposizione il file JSON è necessario modificarlo per contemplare le Availability Zones:

{

"apiVersion": "2019-04-01",

"type": "Microsoft.Network/azureFirewalls",

"name": "[variables('FirewallName')]",

"location": "[variables('RegionName')]",

"zones": [

"1",

"2",

"3"

],

"properties": {

"ipConfigurations": [

{

Al termine della modifica è possibile effettuare il deployment del nuovo Azure Firewall, utilizzando il file JSON opportunamente modificato, tramite il seguente comando:

New-AzResourceGroupDeployment -name "RestoreFirewallAvZones" -ResourceGroupName "Network-RG" -TemplateFile ".AzureFirewallBackup.json"

Gestione centralizzata con soluzioni di terze parti

Azure Firewall espone pubblicamente delle REST APIs che possono essere utilizzate da vendor di terze parti per fornire delle soluzioni che permettono una gestione centralizzata degli Azure Firewall, dei Network Security Groups (NSGs), e delle virtual appliance di rete (NVAs). Al momento questi sono i vendor che offrono soluzioni di questo tipo: Barracuda con Cloud Security Guardian, AlgoSec con CloudFlow e Tufin con Orca.

Just-in-time (JIT) VM access per Azure Firewall

Quando un utente richiede di accedere a una VM con una policy Just-in-time (JIT), il Security Center prima verifica se l’utente dispone effettivamente dei permessi Role-Based Access Control (RBAC) necessari per effettuare la richiesta di accesso. In caso affermativo la richiesta viene approvata, e il Security Center è in grado di configurare automaticamente non solo i NSG, ma anche le regole necessarie lato Azure Firewall per consentire il traffico in ingresso.

Application rules con FQDN di SQL

Nelle application rule di Azure Firewall è stata introdotta la possibilità di specificare degli FQDN di SQL. In questo modo è possibile governare l’accesso dalle virtual network verso specifiche istanze SQL server. Tramite gli FQDN SQL è possibile filtrare il traffico:

  • Da Virtual Network verso un Azure SQL Database oppure un Azure SQL Data Warehouse.
  • Dall’ambiente on-premises verso Azure SQL Managed Instances oppure SQL IaaS in esecuzione sulle Virtual Network.
  • Da spoke-to-spoke verso Azure SQL Managed Instances oppure SQL IaaS in esecuzione sulle Virtual Network.

Figura 3 – Creazione Application Rule con FQDN SQL

FQDN Tag per Azure HDInsight (HDI)

I cluster Azure HDInsight presenti sulle proprie Virtual Network hanno diverse dipendenze da altri servizi Azure (esempio Azure Storage), con i quali è necessario prevedere un traffico di rete in uscita per funzionare in modo corretto. Grazie all’introduzione degli FQDN tags per HDInsight è possibile configurare Azure Firewall per restringere l’accesso in outbound per i cluster HDI. Per maggiori dettagli a riguardo è possibile consultare la documentazione ufficiale Microsoft.

Automazione per gestire il backup

Disporre di una strategia che consenta di ripristinare la configurazione del servizio in tempi rapidi è fondamentale in quanto questo servizio è il centro di governo del networking vostro ambiente Azure e contiene diverse regole per gestire in modo completo il traffico di rete. Il servizio al momento non dispone in modo integrato di una funzionalità per farne il backup completo in modo periodico. In questo articolo viene riportato un meccanismo ideato per fare il backup schedulato della configurazione di questo componente utilizzando il servizio Azure Automation.

Conclusioni

Azure Firewall è una soluzione che sempre più spesso viene utilizzata nelle architetture di rete di Azure, per i vantaggi che offre rispetto alle soluzioni firewall di vendor di terze parti e grazie ad un costante arricchimento delle funzionalità offerte. Tutte queste novità introdotte rendono Azure Firewall una soluzione più completa, totalmente integrata nella piattaforma, che consente di mettere in sicurezza le risorse presenti sulle Virtual Network di Azure con una elevata flessibilità.

Azure Firewall: l’automazione per gestirne il backup

Azure Firewall è la soluzione di firewall-as-a-service 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. In questo articolo viene riportato un meccanismo ideato per fare il backup schedulato della configurazione di questo componente utilizzando il servizio Azure Automation.

Azure Firewall è una soluzione che sempre più spesso viene utilizzata nelle architetture Azure, per i vantaggi che offre rispetto alle soluzioni firewall di vendor di terze parti e grazie ad un costante arricchimento delle funzionalità offerte. Dal momento in cui viene adottato, questo servizio diventa il centro di governo del networking vostro ambiente Azure e conterrà diverse regole per gestire in modo completo il traffico di rete. Diventa pertanto fondamentale disporre di una strategia che consenta di ripristinare la configurazione del servizio in tempi rapidi. Il servizio al momento non dispone in modo integrato di una funzionalità per farne il backup completo in modo periodico. Per questa ragione ho realizzato un runbook in Azure Automation che effettua il backup dell’Azure Firewall su un blob storage account di Azure.

Si riporta la procedura per attivare l’esecuzione del backup periodico della configurazione tramite questa metodologia.

Prerequisiti

Qualora non si disponga di un Azure Automation Account è necessario procedere con la relativa creazione:

Figura 1 – Creazione Azure Automation Account

Risulta inoltre necessario disporre di un blob storage account sul quale saranno salvati i backup dell’Azure Firewall.

Figura 2 – Creazione blob storage account

Nelle impostazioni firewall dello storage account è necessario abilitare l’exception “Allow trusted Microsoft services to access this storage account”.

Sullo storage account è inoltre possibile valutare la creazione di policy che consentono di prevenire la cancellazione dei backup.

Configurazione moduli in Azure Automation

Azure Automation supporta la possibilità di utilizzare il modulo Azure Powershell Az nei runbooks. Il modulo AZ non è al momento importato automaticamente negli Automation Accounts. Per questa ragione è necessario procedure con la relativa configurazione come descritto da questo documento Microsoft, nello specifico seguendo la procedura in seguito riportata.

Figura 3 – Avvio procedura di aggiunta moduli

 

Figura 4 – Selezione dei moduli necessari e avvio del processo di import

Questi i moduli necessari per questa automation:

Figura 5 – Moduli necessari

Import e pubblicazione del runbook

Lo step successivo prevede la creazione del Runbook in Azure Automation:

Figura 6 – Creazione del Runbook

Il codice del runbook è possibile trovarlo in questa pagina GitHub. Una volta creato il runbook è opportuno procedere con la relativa pubblicazione.

Figura 7 – Pubblicazione del Runbook.

Schedulazione del runbook

Come ultimo step è opportuno schedulare l’esecuzione periodica del runbook.

Figura 8 – Creazione della schedulazione

 

Figura 9 – Aggiunta della schedulazione al runbook

 

Figura 10 – Configurazione dei parametri richiesti dal runbook

I backup in formato JSON della configurazione di Azure Firewall vengono salvati automaticamente nello storage account indicato e vengono mantenuti per il numero di giorni espresso nel parametro “RetentionDays”.

Figura 11 – Backup di Azure Firewall all’interno del container

Ripristino della configurazione

Nel caso sia necessario ripristinare la configurazione di Azure Firewall è sufficiente fare il deploy del file JSON nel resource group specifico, utilizzando il comando seguente:

New-AzResourceGroupDeployment -name “RestoreAzureFirewall” -ResourceGroupName “AFW-RGNamexxx” -TemplateFile “.xxx-afwxxxxx.json”

 

Conclusioni

Grazie all’adozione di questa automazione è possibile effettuare il backup dell’Azure Firewall su un blob storage account di Azure. Tutto ciò risulta particolarmente utile e strategico in caso di modifica errata delle regole oppure se avviene una cancellazione parziale o totale della configurazione di Azure Firewall, che può essere accidentale oppure svolta da persone non autorizzate.