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.