Application Security Group: gestione semplificata della sicurezza delle reti virtuali in Microsoft Azure

Gli Application Security Group permettono di semplificare molto la sicurezza delle reti in Microsoft Azure perché permettono di raggruppare logicamente le macchine virtuali (per esempio in base alle applicazioni che stanno eseguendo) e poter applicare policy di sicurezza in base ai gruppi creati. In questo modo, grazie all’integrazione con i Network Security Group, è più facile creare regole di Inbound e Outbound per filtrare il traffico.

L’esempio che voglio considerare è quello di un’applicazione web che usa una parte di frontend ospitata su alcuni web server ed una parte di backend ospitata su database server.

Raggruppare le macchine in Application Security Group permette di poter creare delle regole nei Network Security Group che non tengano presente gli indirizzi IP delle VM ma che considerino le applicazioni che stanno utilizzando. In questo modo se altre macchine devono essere aggiunte al workload non sarà necessario operare sulle regole del Network Security Group.

Figura 1: Schema di funzionamento

Creazione degli Application Security Group

Per creare un Application Security Group è sufficiente cercare la risorsa nel portale di Azure e procedere nel wizard di creazione. Indicate il Resource Group in cui volete creare la risorsa e il nome e la region da dare all’Application Security Group. Nel mio esempio ho creato due Application Security Group e li ho chiamati rispettivamente WebServers e DataBaseServers.

Figura 2: Creazione di un nuovo Application Security Group dal portale di Azure

Figura 3: Creazione dell’Application Security Group per i WebServers

Figura 4: Creazione dell’Application Security Group per i DataBaseServers

A questo punto procedete ad associare i Application Security Group creati alle macchine virtuali, andando nella scheda Networking e scegliendo la voce Application Security Group. Ad ogni scheda di rete è possibile associare diversi Application Security Group.

Figura 5: Associazione dell’Application Security Group per le VM che hanno il ruolo di Web Server

Figura 6: Associazione dell’Application Security Group per la VM che hanno il ruolo di Database Server

Creazione del Network Security Group

Per gestire i Network Security Group con gli Application Security Group creati, è sufficiente modificare le regole di Inboud e Outbound. Nel mio caso ho deciso di creare un nuovo Network Security Group e di creare due regole per peremttere il traffico HTTP/S da Internet verso i Web Server ed il traffico dai Web Server verso i Database Server, che eseguono istanze di MySQL ed usano la porta 3306.

Per creare un nuovo Network Security Group è sufficiente cercare la risorsa nel portale di Azure e procedere nel wizard di creazione.

Figura 7: Risorsa Network Security Group disponibile nel portale di Azure

Figura 8: Creazione del Network Security Group

Procedete a modificare le regole di Inbound per i Web Server. Come si può vedere dalla figura sotto, ho indicato come destinazione della regola che permette il traffico HTTP/S l’Application security Group chiamato WebServers.

Figura 9: Creazione della regola per permettere il traffico HTTP/S da Internet verso i Web Server

Ho creato una seconda regola per permettere il traffico MySQL dai Web Server verso i Database Server. Questa volta ho inserito gli Application Security Group sia nel Source che nel Destination dell’Inbound Security Rule.

Figura 10: Regola per permettere il traffico MySQL dai Web Server verso i Database Server

Nell’immagine sotto sono visibili le due regole create nel Network Security Group.

Figura 11: Regole create nel Network Security Group

A questo punto non rimane altro che associare il Network Security Group ad una Subnet. D’ora in poi, quando vorrete aggiungere un nuovo web server oppure un nuovo database server alla vostra applicazione web, non ci sarà nulla da modificare nel Network Security Group ma sarà sufficiente aggiungere la scheda di rete della macchina virtuale all’Application Security Group corretto.

Figura 12: Associazione del Network Security Group ad una Subnet

NOTA: È importante sottolineare che tutte le interfacce di rete che vengono utilizzate nel Application Security Group devono appartenere alla stessa VNET e che se utilizzate gli Application
Security Group sia come Source che come Destination anche questi devono appartenere alla stessa VNET.

Conclusioni

Tramite gli Application Security Group siamo in grado di semplificare enormemente la gestione del traffico di rete senza dover, nel caso volessimo aggiungere o rimuovere delle macchine o delle interfacce di rete, intervenire sulle regole dei Network Security Group.