Progettare soluzioni per la segmentazione della rete
Funzionalità di Azure per la segmentazione
Quando si opera in Azure, sono disponibili molte opzioni di segmentazione.
- Sottoscrizione: un costrutto di livello elevato che fornisce la separazione basata su piattaforma tra entità. È pensato per definire i limiti tra organizzazioni di grandi dimensioni all'interno di un'azienda ed è necessario eseguire in modo esplicito il provisioning delle comunicazioni tra le risorse in sottoscrizioni diverse.
- Rete virtuale: viene creata all'interno di una sottoscrizione in spazi indirizzi privati. Fornisce contenimento a livello di rete per le risorse in cui il traffico non è consentito per impostazione predefinita tra due reti virtuali. Come per le sottoscrizioni, il provisioning di qualsiasi comunicazione tra reti virtuali deve essere eseguito in modo esplicito.
- Gruppi di sicurezza di rete (NSG): meccanismi di controllo di accesso per controllare il traffico tra le risorse all'interno di una rete virtuale e anche con le reti esterne, ad esempio Internet o altre reti virtuali. Gli NSG possono portare la strategia di segmentazione a un livello granulare creando perimetri per una subnet, una macchina virtuale o un gruppo di macchine virtuali. Per informazioni sulle possibili operazioni con le subnet in Azure, vedere Subnet (reti virtuali di Azure).
- Gruppi di sicurezza delle applicazioni (ASG): sono simili agli NSG ma vi si fa riferimento con un contesto di applicazione. Consentono di raggruppare un set di macchine virtuali in un tag dell'applicazione e di definire le regole di traffico che vengono quindi applicate a ognuna delle macchine virtuali sottostanti.
- Firewall di Azure: un firewall come servizio, nativo del cloud e con stato che può essere distribuito nella rete virtuale o nelle distribuzioni hub della rete WAN virtuale di Azure per filtrare il traffico che scorre tra le risorse cloud, Internet e in locale. Si creano regole o criteri (usando Firewall di Azure o Gestione firewall di Azure) specificando il traffico consentito/negato usando i controlli dal livello 3 al livello 7. È anche possibile filtrare il traffico verso Internet usando Firewall di Azure e terze parti indirizzando alcuni o tutti i traffici attraverso provider di sicurezza di terze parti per il filtro avanzato e la protezione degli utenti.
Modelli di segmentazione
Ecco alcuni modelli comuni per segmentare un carico di lavoro in Azure dalla prospettiva della rete. Ogni modello fornisce un tipo diverso di isolamento e connettività. Scegliere un modello in base alle esigenze dell'organizzazione.
Modello 1: rete virtuale singola
Tutti i componenti del carico di lavoro risiedono in una singola rete virtuale. Questo modello è appropriato quando si opera in una singola area perché una rete virtuale non può estendersi in più aree.
I modi comuni per proteggere i segmenti, ad esempio subnet o gruppi di applicazioni, includono l'uso di NSG e ASG. È anche possibile usare un'appliance virtualizzata di rete (NVA) da Azure Marketplace o Firewall di Azure per applicare e proteggere questa segmentazione.
In questa immagine Subnet1 ha il carico di lavoro del database. Subnet2 ha i carichi di lavoro Web. È possibile configurare gli NSG in modo da consentire a Subnet1 di comunicare solo con Subnet2 e a Subnet2 di comunicare solo con Internet.
Si consideri un caso d'uso in cui sono presenti più carichi di lavoro posizionati in subnet separate. È possibile inserire controlli che consentano a un carico di lavoro di comunicare con il back-end di un altro carico di lavoro.
Modello 2: più reti virtuali che comunicano attraverso il peering
Le risorse vengono distribuite o replicate in più reti virtuali. Le reti virtuali possono comunicare tramite peering. Questo modello è appropriato quando è necessario raggruppare le applicazioni in reti virtuali separate. In alternativa servono più aree di Azure. Un vantaggio è la segmentazione predefinita, perché è necessario eseguire in modo esplicito il peering di una rete virtuale a un'altra rete virtuale. Il peering di reti virtuali non è transitivo. È possibile eseguire un'ulteriore segmentazione all'interno di una rete virtuale usando NSG e ASG come illustrato nel modello 1.
Modello 3: più reti virtuali in un modello hub-spoke
Una rete virtuale è designata come hub in una determinata area per tutte le altre reti virtuali che sono contrassegnate come spoke in tale area. L'hub e i relativi spoke sono connessi tramite peering. Tutto il traffico passa attraverso l'hub, che può fungere da gateway per altri hub in aree diverse. In questo modello i controlli di sicurezza vengono configurati negli hub così da poter segmentare e gestire il traffico tra altre reti virtuali in modo scalabile. Uno dei vantaggi di questo modello è che, man mano che la topologia di rete cresce, il sovraccarico della postura di sicurezza non cresce (tranne quando si espande in nuove aree).
L'opzione nativa consigliata è Firewall di Azure. Questa opzione funziona sia nelle reti virtuali che nelle sottoscrizioni per gestire i flussi di traffico usando i controlli dal livello 3 al livello 7. È possibile definire le regole di comunicazione e applicarle in modo coerente. Di seguito sono riportati alcuni esempi.
- La rete virtuale 1 non può comunicare con la rete virtuale 2, ma può comunicare la rete virtuale 3.
- La rete virtuale 1 non può accedere a Internet pubblico ad eccezione di *.github.com.
Con l'anteprima di Gestione firewall di Azure, è possibile gestire i criteri in modo centralizzato in più firewall di Azure e consentire ai team DevOps di personalizzare ulteriormente i criteri locali.
Confronto tra modelli
Considerazioni | Modello 1 | Modello 2 | Modello 3 |
---|---|---|---|
Connettività/routing: come i segmenti comunicano gli uni con gli altri | Il routing di sistema offre connettività predefinita a qualsiasi carico di lavoro in qualsiasi subnet. | Come il modello 1. | Nessuna connettività predefinita tra reti spoke. Per abilitare la connettività è necessario un router di livello 3, ad esempio Firewall di Azure, nell'hub. |
Filtro del traffico a livello di rete | Il traffico è consentito per impostazione predefinita. Per filtrare il traffico, usare NSG o ASG. | Come il modello 1. | Il traffico tra reti virtuali spoke viene negato per impostazione predefinita. Aprire i percorsi selezionati per consentire il traffico attraverso la configurazione di Firewall di Azure. |
Registrazione centralizzata | Log NSG o ASG per la rete virtuale. | Aggregare i log NSG o ASG in tutte le reti virtuali. | Firewall di Azure registra tutto il traffico accettato/negato che è stato inviato tramite l'hub. Visualizzare i log in Monitoraggio di Azure. |
Endpoint aperti pubblici non intenzionali | DevOps può aprire accidentalmente un endpoint pubblico tramite regole non corrette di NSG o ASG. | Come il modello 1. | L'endpoint pubblico aperto accidentalmente in uno spoke non abiliterà l'accesso perché il pacchetto restituito verrà rimosso tramite un firewall con stato (routing asimmetrico). |
Protezione a livello di applicazione | NSG o ASG fornisce supporto solo a livello di rete. | Come il modello 1. | Firewall di Azure supporta filtri FQDN per HTTP/S e MSSQL per il traffico in uscita e nelle reti virtuali. |