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:
Risulta inoltre necessario disporre di un blob storage account sul quale saranno salvati i backup dell’Azure Firewall.
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.
Questi i moduli necessari per questa automation:
Import e pubblicazione del runbook
Lo step successivo prevede la creazione del Runbook in Azure Automation:
Il codice del runbook è possibile trovarlo in questa pagina GitHub. Una volta creato il runbook è opportuno procedere con la relativa pubblicazione.
Schedulazione del runbook
Come ultimo step è opportuno schedulare l’esecuzione periodica del 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”.
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.