Condividi tramite


Log dei flussi della rete virtuale

I log dei flussi di rete virtuale sono una funzionalità di Azure Network Watcher. È possibile usarli per registrare informazioni sul traffico IP che scorre attraverso una rete virtuale.

I dati del flusso dai log dei flussi di rete virtuale vengono inviati ad Archiviazione di Azure. Da qui è possibile accedere ai dati ed esportarli in qualsiasi strumento di visualizzazione, nella soluzione SIEM (Security Information and Event Management, informazioni di sicurezza e gestione degli eventi) o nel sistema di rilevamento delle intrusioni (IDS). I log dei flussi di rete virtuale superano alcune delle limitazioni dei Log dei flussi dei gruppi di sicurezza di rete.

Perché usare i log dei flussi?

È fondamentale monitorare, gestire e conoscere la rete in modo che sia possibile proteggerla e ottimizzarla. Potrebbe essere necessario conoscere lo stato attuale della rete, chi si connette e da dove gli utenti si connettono. Potrebbe anche essere necessario sapere quali porte sono aperte a Internet, quale comportamento di rete è previsto, quale comportamento di rete è irregolare e quando si verifica un aumento improvviso del traffico.

I log dei flussi forniscono informazioni veritiere per tutte le attività di rete nell'ambiente cloud. Sia per una startup che stia cercando di ottimizzare le risorse sia un'azienda di grandi dimensioni che stia tentando di rilevare intrusioni, i log dei flussi possono essere utili. È possibile utilizzarli per l'ottimizzazione dei flussi di rete, il monitoraggio della velocità effettiva, la verifica della conformità, il rilevamento di intrusioni e altro ancora.

Casi d'uso comuni

Monitoraggio della rete

  • identificare il traffico sconosciuto o indesiderato.
  • Monitorare i livelli di traffico e il consumo della larghezza di banda.
  • Filtrare i log dei flussi in base all'IP e alla porta per comprendere il comportamento delle applicazioni.
  • Esportare i log dei flussi in strumenti di analisi e visualizzazione di propria scelta per configurare dashboard di monitoraggio.

Monitoraggio e ottimizzazione dell'utilizzo

  • identificare i principali talker nella rete.
  • Combinare con i dati GeoIP per identificare il traffico tra le aree.
  • Comprendere la crescita del traffico per una previsione della capacità.
  • Usare i dati per rimuovere regole di traffico eccessivamente restrittive.

Conformità

  • usare i dati dei flussi per verificare l'isolamento della rete e la conformità alle regole di accesso aziendali.

Analisi forense della rete e analisi della sicurezza

  • analizzare i flussi di rete provenienti da IP e interfacce di rete compromessi.
  • Esportare i log dei flussi in qualsiasi strumento SIEM o IDS di propria scelta.

Confronto tra log dei flussi di rete virtuale e log dei flussi del gruppo di sicurezza di rete

I log dei flussi di rete virtuale e i log dei flussi dei gruppi di sicurezza di rete registrano il traffico IP, ma differiscono per il comportamento e le funzionalità.

I log dei flussi di rete virtuale semplificano l'ambito del monitoraggio del traffico perché è possibile abilitare la registrazione nelle reti virtuali. Il traffico attraverso tutti i carichi di lavoro supportati all'interno di una rete virtuale viene registrato.

I log dei flussi di rete virtuale evitano anche la necessità di abilitare la registrazione di flussi a più livelli, ad esempio nei log dei flussi dei gruppi di sicurezza di rete. Nei log dei flussi dei gruppi di sicurezza di rete i gruppi di sicurezza di rete sono configurati sia nella subnet che nell'interfaccia di rete .

Oltre al supporto esistente per identificare il traffico consentito o negato dalle regole del gruppo di sicurezza di rete, i log dei flussi di rete virtuale supportano l'identificazione del traffico consentito o negato dalle regole di amministratore della sicurezza di gestione rete virtuale di Azure. I log dei flussi di rete virtuale supportano anche la valutazione dello stato di crittografia del traffico di rete in scenari in cui si usa la crittografia della rete virtuale.

Importante

È consigliabile disabilitare i log dei flussi dei gruppi di sicurezza di rete prima di abilitare i log dei flussi di rete virtuale sugli stessi carichi di lavoro sottostanti per evitare la registrazione del traffico duplicata e costi aggiuntivi. Se si abilitano i log dei flussi del gruppo di sicurezza di rete nel gruppo di sicurezza di rete di una subnet, si abilitano i log del flusso di rete virtuale nella stessa subnet o nella stessa rete virtuale padre, è possibile ottenere la registrazione duplicata (sia i log del flusso del gruppo di sicurezza di rete sia i log dei flussi di rete virtuali generati per tutti i carichi di lavoro supportati in tale subnet specifica).

Come funziona la registrazione

Le proprietà chiave dei log dei flussi di rete virtuale includono:

  • I log dei flussi operano al livello 4 del modello OSI (Open Systems Interconnect) e registrano tutti i flussi IP che passano attraverso una rete virtuale.
  • I log vengono raccolti a intervalli di un minuto tramite la piattaforma Azure. Non influiscono sulle risorse di Azure o sul traffico di rete.
  • I log vengono scritti nel formato JSON (JavaScript Object Notation).
  • Ogni record di log contiene l'interfaccia di rete a cui si applica il flusso, informazioni a 5 tuple, direzione del traffico, stato del flusso, stato di crittografia e informazioni sulla velocità effettiva.
  • Tutti i flussi di traffico nella rete vengono valutati tramite le regole applicabili del gruppo di sicurezza di rete o le regole di amministratore della sicurezza di gestione rete virtuale di Azure.

Formato del log

I log dei flussi di rete virtuale hanno le proprietà seguenti:

  • time: ora in formato UTC in cui è stato registrato l'evento.
  • flowLogVersion: versione del log del flusso.
  • flowLogGUID: GUID risorsa della risorsa FlowLog.
  • macAddress: indirizzo MAC dell'interfaccia di rete in cui è stato acquisito l'evento.
  • category: categoria dell'evento. La categoria è sempre FlowLogFlowEvent.
  • flowLogResourceID: ID risorsa della risorsa FlowLog.
  • targetResourceID: ID risorsa della risorsa di destinazione associata alla risorsa FlowLog.
  • operationName: sempre FlowLogFlowEvent.
  • flowRecords: raccolta di record di flusso.
    • flows: raccolta di flussi. Questa proprietà include più voci per gli elenchi di controllo di accesso (ACL):
      • aclID: identificatore della risorsa che valuta il traffico, un gruppo di sicurezza di rete o Gestione reti virtuali. Per il traffico negato a causa della crittografia, questo valore è unspecified.
      • flowGroups: raccolta di record di flusso a livello di regola:
        • rule: nome della regola che ha consentito o negato il traffico. Per il traffico negato a causa della crittografia, questo valore è unspecified.
        • flowTuples: stringa che contiene più proprietà per la tupla del flusso in un formato con valori separati da virgole:
          • Time StampIl timestamp di quando si è verificato il flusso in formato UNIX epoch.
          • Source IP: indirizzo IP origine.
          • Destination IP: Indirizzo IP di destinazione.
          • Source port: porta di origine.
          • Destination port: porta di destinazione.
          • Protocol: protocollo di livello 4 del flusso, espresso in valori assegnati IANA.
          • Flow direction: direzione del flusso del traffico. I valori validi sono I per il traffico in ingresso e O per il traffico in uscita.
          • Flow state: stato del flusso. Gli stati possibili sono elencati di seguito:
            • B: indica la creazione di un flusso. Non vengono fornite statistiche.
            • C: indica un flusso in corso. Vengono fornite statistiche a intervalli di cinque minuti.
            • E: indica un flusso terminato. Vengono fornite statistiche.
            • D: Nega, quando viene negato un flusso.
          • Flow encryption: stato di crittografia del flusso. La tabella dopo questo elenco descrive i valori possibili.
          • Packets sent: numero totale di pacchetti inviati dall'origine alla destinazione dall'ultimo aggiornamento.
          • Bytes sent: numero totale di byte di pacchetti inviati dall'origine alla destinazione dall'ultimo aggiornamento. I byte dei pacchetti includono l'intestazione del pacchetto e il payload.
          • Packets received: numero totale di pacchetti inviati dalla destinazione all'origine dall'ultimo aggiornamento.
          • Bytes received: numero totale di byte di pacchetti inviati dalla destinazione all'origine dall'ultimo aggiornamento. I byte dei pacchetti includono l'intestazione del pacchetto e il payload.

Flow encryption presenta i seguenti possibili stati di crittografia:

Stato della crittografia Descrizione
X La connessione è crittografata. La crittografia è configurata e la piattaforma ha crittografato la connessione.
NX La connessione non è crittografata. Questo evento viene registrato in due scenari:
- Quando la crittografia non è configurata.
- Quando una macchina virtuale crittografata comunica con un endpoint che non dispone della crittografia, ad esempio un endpoint Internet.
NX_HW_NOT_SUPPORTED L'hardware non è supportato. La crittografia è configurata, ma la macchina virtuale è in esecuzione in un host che non supporta la crittografia. Questo problema si verifica in genere perché l'FPGA (Field Programmable Gate Array) non è collegato all'host o è difettoso. Segnalare questo problema a Microsoft affinché venga analizzato.
NX_SW_NOT_READY Il software non è pronto. La crittografia è configurata, ma il componente software (GFT) nello stack di rete host non è pronto per elaborare le connessioni crittografate. Questo problema può verificarsi quando la macchina virtuale viene avviata per la prima volta, viene riavviata o viene ridistribuita. Può verificarsi anche quando è presente un aggiornamento dei componenti di rete nell'host in cui è in esecuzione la macchina virtuale. In tutti questi scenari il pacchetto viene eliminato. Il problema dovrebbe essere temporaneo. La crittografia deve iniziare a funzionare dopo che la macchina virtuale è completamente in esecuzione o l'aggiornamento software nell'host è stato completato. Se il problema ha una durata più lunga, segnalarlo a Microsoft affinché venga analizzato.
NX_NOT_ACCEPTED Eliminazione a causa di mancanza di crittografia. La crittografia è configurata sia sugli endpoint di origine sia su quelli di destinazione, esclusi i criteri non crittografati. Se la crittografia del traffico ha esito negativo, il pacchetto viene eliminato.
NX_NOT_SUPPORTED L'individuazione non è supportata. La crittografia è configurata, ma la sessione di crittografia non è stata stabilita perché lo stack di rete host non supporta l'individuazione. In questo caso il pacchetto viene eliminato. Se si verifica questo problema, segnalarlo a Microsoft affinché venga analizzato.
NX_LOCAL_DST La destinazione si trova nello stesso host. La crittografia è configurata, ma le macchine virtuali di origine e di destinazione sono in esecuzione nello stesso host di Azure. In questo caso la connessione non viene crittografata per impostazione predefinita.
NX_FALLBACK Eseguire il fallback per nessuna crittografia. La crittografia è configurata con i criteri Consenti non crittografati sia per gli endpoint di origine che per gli endpoint di destinazione. Il sistema ha tentato la crittografia ma si è verificato un problema. In questo caso la connessione è consentita ma non crittografata. Ad esempio, una macchina virtuale all'inizio è stata indirizzata su un nodo che supporta la crittografia, ma questo supporto è stato rimosso in un secondo momento.

Il traffico nelle reti virtuali non è crittografato (NX) per impostazione predefinita. Per il traffico crittografato, vedere Crittografia della rete virtuale.

Record di log di esempio

Nell'esempio seguente dei log dei flussi di rete virtuale, più record seguono l'elenco delle proprietà descritto in precedenza.

{
    "records": [
        {
            "time": "2022-09-14T09:00:52.5625085Z",
            "flowLogVersion": 4,
            "flowLogGUID": "abcdef01-2345-6789-0abc-def012345678",
            "macAddress": "00224871C205",
            "category": "FlowLogFlowEvent",
            "flowLogResourceID": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG",
            "targetResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
            "operationName": "FlowLogFlowEvent",
            "flowRecords": {
                "flows": [
                    {
                        "aclID": "00000000-1234-abcd-ef00-c1c2c3c4c5c6",
                        "flowGroups": [
                            {
                                "rule": "DefaultRule_AllowInternetOutBound",
                                "flowTuples": [
                                    "1663146003599,10.0.0.6,52.239.184.180,23956,443,6,O,B,NX,0,0,0,0",
                                    "1663146003606,10.0.0.6,52.239.184.180,23956,443,6,O,E,NX,3,767,2,1580",
                                    "1663146003637,10.0.0.6,40.74.146.17,22730,443,6,O,B,NX,0,0,0,0",
                                    "1663146003640,10.0.0.6,40.74.146.17,22730,443,6,O,E,NX,3,705,4,4569",
                                    "1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,B,NX,0,0,0,0",
                                    "1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,E,NX,3,705,4,4569",
                                    "1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,B,NX,0,0,0,0",
                                    "1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,E,NX,2,134,1,108",
                                    "1663146017343,10.0.0.6,104.16.218.84,36776,443,6,O,B,NX,0,0,0,0",
                                    "1663146022793,10.0.0.6,104.16.218.84,36776,443,6,O,E,NX,22,2217,33,32466"
                                ]
                            }
                        ]
                    },
                    {
                        "aclID": "01020304-abcd-ef00-1234-102030405060",
                        "flowGroups": [
                            {
                                "rule": "BlockHighRiskTCPPortsFromInternet",
                                "flowTuples": [
                                    "1663145998065,101.33.218.153,10.0.0.6,55188,22,6,I,D,NX,0,0,0,0",
                                    "1663146005503,192.241.200.164,10.0.0.6,35276,119,6,I,D,NX,0,0,0,0"
                                ]
                            },
                            {
                                "rule": "Internet",
                                "flowTuples": [
                                    "1663145989563,20.106.221.10,10.0.0.6,50557,44357,6,I,D,NX,0,0,0,0",
                                    "1663145989679,20.55.117.81,10.0.0.6,62797,35945,6,I,D,NX,0,0,0,0",
                                    "1663145989709,20.55.113.5,10.0.0.6,51961,65515,6,I,D,NX,0,0,0,0",
                                    "1663145990049,13.65.224.51,10.0.0.6,40497,40129,6,I,D,NX,0,0,0,0",
                                    "1663145990145,20.55.117.81,10.0.0.6,62797,30472,6,I,D,NX,0,0,0,0",
                                    "1663145990175,20.55.113.5,10.0.0.6,51961,28184,6,I,D,NX,0,0,0,0",
                                    "1663146015545,20.106.221.10,10.0.0.6,50557,31244,6,I,D,NX,0,0,0,0"
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Calcolo della tupla e della larghezza di banda del log

Tabella che mostra il formato di un log del flusso di rete virtuale.

Ecco un esempio di calcolo della larghezza di banda per le tuple di flusso da una conversazione Transmission Control Protocol tra 185.170.185.105:35370 e 10.2.0.4:23:

1493763938,185.170.185.105,10.2.0.4,35370,23,6,I,B,NX,,,, 1493695838,185.170.185.105,10.2.0.4,35370,23,6,I,C,NX,1021,588096,8005,4610880 1493696138,185.170.185.105,10.2.0.4,35370,23,6,I,E,NX,52,29952,47,27072

Per gli stati di flusso di continuità (C) e di fine (E), i conteggi di byte e ipacchetti sono conteggi aggregati dal momento della registrazione della tupla del flusso precedente. Nella conversazione di esempio il numero totale di pacchetti trasferiti è 1.021 + 52 + 8.005 + 47 = 9.125. Il numero totale di byte trasferiti è 588.096 + 29.952 + 4.610,880 + 27.072 = 5.256.000.

Considerazioni sull'account di archiviazione rispetto ai log del flusso di rete virtuale

  • Località: l'account di archiviazione deve trovarsi nella stessa area della rete virtuale.
  • Sottoscrizione: l'account di archiviazione deve trovarsi nella stessa sottoscrizione della rete virtuale o in una sottoscrizione associata allo stesso tenant di Microsoft Entra della sottoscrizione della rete virtuale.
  • Livello di prestazioni: l'account di archiviazione deve essere standard. Gli account di archiviazione Premium non sono supportati.
  • Rotazione delle chiavi autogestita: se si modificano o si ruotano le chiavi di accesso all'account di archiviazione, i log dei flussi di rete virtuale non funzionano. Per risolvere questo problema, è necessario disabilitare e quindi riabilitare i log dei flussi di rete virtuale.

Prezzi

  • I log dei flussi di rete virtuale vengono addebitati per gigabyte di Log dei flussi di rete raccolti e prevedono un livello gratuito di 5 GB al mese per ogni sottoscrizione.

  • Se l'analisi del traffico è abilitata con i log dei flussi di rete virtuale, i prezzi di Analisi del traffico si applicano in base alla velocità di elaborazione per gigabyte. Il livello gratuito di prezzi non prevede la funzionalità dell'analisi del traffico. Per altre informazioni, vedere Prezzi di Network Watcher.

  • L'archiviazione dei log viene addebitata separatamente. Per altre informazioni, vedere Prezzi di Archiviazione BLOB di Azure.

Scenari supportati

Nella tabella seguente viene descritto l'ambito di supporto dei log dei flussi.

Ambito Log dei flussi del gruppo di sicurezza di rete Log dei flussi della rete virtuale
Byte e pacchetti nei flussi senza stato Non supportato Supportato
Identificazione della crittografia della rete virtuale Non supportato Supportato
Gestione API di Azure Non supportato Supportato
Gateway applicazione di Azure Non supportato Supportato
Azure Bastion Supportata Supportata
Gestione rete virtuale di Azure Non supportato Supportato
Gateway ExpressRoute Non supportato Supportato
Set di scalabilità di macchine virtuali Supportata Supportata
gateway VPN Non supportato Supportato

Disponibilità

I log dei flussi di rete virtuale sono disponibili a livello generale in tutte le aree pubbliche di Azure.