Log dei flussi di 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 a Archiviazione di Azure. Da qui è possibile accedere ai dati ed esportarli in qualsiasi strumento di visualizzazione, soluzione SIEM (Security Information and Event Management) o sistema di rilevamento delle intrusioni (IDS). I log dei flussi di rete virtuale superano alcune delle limitazioni dei log dei flussi del gruppo 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 corrente 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. Indipendentemente dal fatto che si stia cercando di ottimizzare le risorse o un'azienda di grandi dimensioni che sta tentando di rilevare intrusioni, i log dei flussi possono essere utili. È possibile usarli per ottimizzare i flussi di rete, monitorare la velocità effettiva, verificare la conformità, rilevare 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 e sicurezza di rete

  • 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.

Log dei flussi di rete virtuale rispetto ai log dei flussi del gruppo di sicurezza di rete

I log dei flussi di rete virtuale e i flussi del gruppo 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 da regole del gruppo di sicurezza di rete, i log dei flussi di rete virtuale supportano l'identificazione del traffico consentito o negato da regole di amministratore della sicurezza di Azure Rete virtuale Manager. 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 che 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 del gruppo di sicurezza di rete applicabili o le regole di amministrazione della sicurezza di Azure Rete virtuale Manager.

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 dello schema del log del flusso.
  • flowLogGUID: GUID risorsa della FlowLog risorsa.
  • 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 FlowLog risorsa.
  • targetResourceID: ID risorsa della risorsa di destinazione associata alla FlowLog risorsa.
  • 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 Rete virtuale Manager. 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 delimitato da virgole:
          • Time Stamp: timestamp di quando si è verificato il flusso, in formato periodo UNIX.
          • Source IP: indirizzo IP di 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 in ingresso e O per le connessioni in uscita.
          • Flow state: stato del flusso. Gli stati possibili sono:
            • B: iniziare, quando viene creato un flusso. Non vengono fornite statistiche.
            • C: continuazione per un flusso in corso. Le statistiche vengono fornite a intervalli di cinque minuti.
            • E: fine, quando un flusso viene 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 Connessione ion è crittografato. La crittografia è configurata e la piattaforma ha crittografato la connessione.
NX Connessione ion non è crittografato. 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 per l'analisi.
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 ridistribuisce. 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 per l'analisi.
NX_NOT_ACCEPTED Eliminazione a causa di nessuna crittografia. La crittografia è configurata sia sugli endpoint di origine che su quello di destinazione, con un rilascio sui criteri non crittografati. Se la crittografia del traffico non riesce, 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 per l'indagine.
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 a 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 inizialmente atterrata 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 TCP 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 continuazione (C) e di fine (E), i conteggi dei byte e dei pacchetti sono conteggi aggregati dal momento del record di 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.

Archiviazione considerazioni sull'account per i log dei flussi 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 autogestito: se si modificano o si ruotano le chiavi di accesso all'account di archiviazione, i log del flusso 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 sono dotati di un livello gratuito di 5 GB al mese per ogni sottoscrizione.

    Nota

    I log dei flussi di rete virtuale verranno fatturati a partire dal 1° giugno 2024.

  • Se l'analisi del traffico è abilitata con i log dei flussi di rete virtuale, i prezzi di Analisi del traffico si applicano a velocità di elaborazione per gigabyte. L'analisi del traffico non è disponibile con un livello gratuito di prezzi. Per altre informazioni, vedere Prezzi di Network Watcher.

  • Archiviazione dei log viene addebitato separatamente. Per altre informazioni, vedere prezzi Archiviazione BLOB di Azure.

Disponibilità

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