Post

Comprendere i 5-Tuple e monitorare il traffico di rete in Azure con Network Watcher e Log Analytics

Non esiste sicurezza se non si ha visibilità! Quando parliamo di traffico di rete e sicurezza, i 5-tuple sono fondamentali per comprendere come il flusso di dati scorre tra i dispositivi. In questo articolo, esploreremo cosa sono i 5-tuple, come abilitare Network Watcher in Azure per monitorare il traffico e come analizzare i dati attraverso Log Analytics.

Cosa sono i 5-Tuple?

I 5-tuple sono cinque parametri fondamentali utilizzati per identificare univocamente ogni flusso TCP/IP in una rete. Questi parametri definiscono la connessione tra due endpoint e includono:

  • Source IP: l’indirizzo IP di origine del traffico, ossia il dispositivo che inizia la comunicazione.
  • Source Port: il numero di porta utilizzato dall’origine per inviare il traffico.
  • Destination IP: l’indirizzo IP di destinazione verso cui è diretto il traffico.
  • Destination Port: il numero di porta contattata sulla destinazione che riceve il traffico.
  • Protocol: il protocollo di comunicazione utilizzato (ad esempio, TCP, UDP o ICMP).

Queste informazioni vengono utilizzate per tracciare e analizzare le connessioni di rete, monitorare il traffico e applicare politiche di sicurezza come quelle configurate tramite un Network Security Group (NSG) in Azure o un comune firewall.

Cos’è Azure Network Watcher?

Azure Network Watcher (ANW) è uno strumento di monitoraggio che consente agli amministratori di rete di raccogliere, diagnosticare e visualizzare il flusso di dati all’interno di una rete virtuale (VNet). Per fare ciò ANW utilizza i 5-tuple di cui abbiamo parlato poco fa.

Come abilitare Azure Network Watcher

Per raccogliere i dati sui 5-tuple del traffico di rete in Azure, dobbiamo prima abilitare Virtual network flow logs sulla VNet (o anche su una singola subnet della VNet). Ecco come farlo:

Passaggi per abilitare Virtual network flow logs sulla VNet

Per abilitare i Virtual network flow logs sulla VNet entra nella VNet desiderata e clicca Virtual network flow log.

Crea un nuovo Flow Log.

Come tipologia seleziona Virtual Network (i flow log per gli Network Security Group NSG saranno presto deprecati).

La procedura a questo punto ti chiederà di creare uno storage account per il salvataggio dei log:

Imposta una Retention per i dati sufficiente a future analisi. Nel mio caso 7 giorni sono sufficienti.

Nella sezione Analytics ho deciso di analizzare i dati sfruttando Log Analytics. Questa parte è facoltativa ma avere un account Log Analytics permette di una visualizzazione avanzata dei dati raccolti.

Rivedete i dati e create il flow log. A questo punto, i log di flusso VNet inizieranno a raccogliere i dati di traffico contenenti i 5-tuple di ogni connessione e verranno archiviati nell’account di archiviazione scelto.

Se sfogliate lo storage-account creato nella prima parte delle guifa vedrete dei dati archiviati per mac-address e per giorno in formato json.

Visualizzazione dei dati con Network Watcher

Sfruttando l’abbinamento Flow Logs e Log Analytics è possibile visualizzare ed analizzare i dati raccolti. Apri Network Watcher e seleziona Traffic Analytics; qui hai l’imbarazzo della scelta tra le opzioni disponibili.

Analisi dei Dati con Log Analytics

Dopo che i dati sono stati raccolti, puoi utilizzare il Kusto Query Language (KQL) per analizzare i log. Un esempio di query per visualizzare il traffico consentito potrebbe essere:

1
2
3
NTANetAnalytics
| where SrcIp == "10.199.0.4" 
| where DestPort == "53"

Questo ti fornirà un riepilogo del traffico partito dalla VM con IP 10.199.0.4 che aveva come porta di destinazione la 53 (DNS).

Bibliografia

Questo post è sotto licenza CC BY 4.0 a nome dell'autore.