La risoluzione di problemi è una task comune per gli amministratori di sistema che lavorano con reti. Il materiale di rete professionale di solito ha funzionalità per la monitorazione e la risoluzione di problemi, come ad esempio il mirroring di porta. Il mirroring di porta può anche essere utile per l’analisi del traffico di rete in ambienti virtuali, inclusi le reti virtuali su host Microsoft Hyper-V e le comunicazioni di rete tra VM. In questo articolo blog viene spiegato come configurare il mirroring di porta di Microsoft Hyper-V per l’analisi delle comunicazioni di rete in un ambiente virtuale.
Concezioni chiave di Mirroring di porta
Prima di spiegare come configurare il mirroring di porta, esploriamo le concezioni chiave, il principio di funzionamento e le funzionalità di configurazione esistenti di Hyper-V.
Cos’è il mirroring di porta?
Il mirroring di porta è la funzionalità che consente di duplicare il traffico di rete di una porta di rete del host di origine ad una porta di rete (adattatore) di un secondo host per ulteriore analisi di questo traffico. Un host può essere una macchina fisica, una macchina virtuale, un apparco di rete con una interfaccia di rete, ecc. Un host di origine è il host il cui traffico di rete viene monitorato in questo contesto. La porta di origine viene anche chiamata porta mirrorata e la porta di destinazione viene anche chiamata porta osservata. Il mirroring di porta viene anche chiamato Switched Port Analyzer (SPAN).
Tipi e benefici
Il mirroring di porte può essere locale e remoto in base al modo di connessione tra le porte. Per il mirroring locale di porte, la porta di origine e la porta di destinazione della rete sono connesse allo stesso switch. Il mirroring remoto di porte viene utilizzato quando le porte di origine e di destinazione sono connesse a switch differenti. La tagging VLAN e l’encapsulazione GRE possono essere utilizzati per il mirroring remoto di porte per trasferire il traffico di rete alla porta monitorata e al dispositivo.
Il beneficio del mirroring di porte è la capacità di analizzare e debugare le comunicazioni di rete senza influenzare il processamento dei dispositivi di rete in funzione. Gli amministratori possono analizzare il traffico per identificare eventuali attacchi sulla rete, rilevare l’origine dell’attacco e migliorare la sicurezza della rete. Non è necessario catturare direttamente il traffico di rete in un sistema operativo ospite di un macchina in funzione (che può essere una VM di produzione, ad esempio) quando si utilizza il mirroring di porte.
Nota che il mirroring di porte richiede più banda di rete per trasferire il traffico mirrorato, e potrebbe essere necessario abilitare questa funzione su richiesta quando è necessario eseguire l’analisi di rete.
Mirroring di porte contro il forwarding di porte
Il mirroring di porte differisce dal forwarding di porte perché il traffico di rete, come pacchetti TCP o datagrammi UDP, non può essere reindirizzato nel mirroring di porte. Il traffico può essere mirrorato (duplicato), ma l’origine e la destinazione per la direzione originale del traffico non vengono cambiate. Una copia del traffico originale è inviata alla posizione di destinazione per l’analisi.
Nel port forwarding, il traffico (come pacchetti TCP o datagrammi UDP) può avere il suo destinatario alterato, e specifici pacchetti (o altri unità di dati del protocollo) possono raggiungere un’altra IP e porta nella rete IP. Il port forwarding viene utilizzato insieme alla reindirizzazione delle numerazioni di indirizzo (NAT) per la comunicazione tra reti. Non viene creata alcuna copia del traffico originale.
Port mirroring in Hyper-V
Puoi utilizzare la funzione di mirroring delle porte in Hyper-V per analizzare il traffico nelle reti virtuali a cui sono connesse le macchine virtuali tramite i switch virtuali. Devi definire una macchina virtuale di destinazione e installare software di cattura del traffico come Wireshark per l’analisi del traffico. Puoi anche utilizzare altri sistemi di rilevamento di intrusione (IDS) disponibili a questo scopo.
La funzione di mirroring delle porte di Hyper-V è simile al mirroring delle porte hardware ma è implementata a livello di switch virtuale Hyper-V. Le capacità di estensione del switch e le ACL (liste di accesso) delle porte sono usate su un switch virtuale Hyper-V per impostare regole per il reindirizzamento e l’intercettazione del traffico.
Il mirroring delle porte funziona solo all’interno dei confini di un singolo host Hyper-V. Se le macchine virtuali sono situate su diversi host Hyper-V (ad esempio, in un cluster di failover, dopo la migrazione della macchina virtuale da un host all’altro), allora il mirroring delle porte Hyper-V non può essere utilizzato. In questo caso, devi configurare una macchina virtuale di destinazione aggiuntiva per l’analisi della rete sul secondo host Hyper-V a cui è stata migrata la macchina virtuale di origine.
Preparazione per la Configurazione del Port Mirroring
Dovresti familiarizzarti con i requisiti per configurare il mirroring delle porte di Hyper-V.
Prerequisiti e condizioni di impostazione
Sottomano i requisiti per configurare il mirroring di porte in un ambiente Hyper-V:
- Windows Server 2012 R2 (o successivo) con Hyper-V e accesso amministrativo. Windows 10 o versioni superiori possono essere utilizzate come sistema operativo client.
- Una switch virtuale su un host Hyper-V.
- Almeno due macchine virtuali per effettuare il mirroring (duplicare) del traffico dalla macchina virtuale di origine alla destinazione.
Lista hardware e software
È necessario installare un sniffer di traffico (analizzatore di traffico) o un sistema di rilevamento di intrusione sulla macchina virtuale di destinazione. Esempi di tali strumenti sono Wireshark, Microsoft Network Monitor, Ettercap e SmartSniff.
Step di configurazione
Abbiamo due macchine virtuali Windows su un host Hyper-V:
- Wind0ws-VM – la macchina virtuale di origine (192.168.101.215)
- Win-VM-Dest – la macchina virtuale di destinazione (192.168.101.212)
Un host Hyper-V è configurato su Windows Server 2019. La configurazione per altri Windows supportati è identica.
Configurazione di una switch virtuale
Puoi usare una switch virtuale esistente o crearne una nuova. Se non c’è una switch virtuale sul host Hyper-V, creane una nuova switch virtuale. Per creare una switch virtuale, procedi come segue:
- Aprire Gestore Hyper-V, fare clic destro sul host Hyper-V e selezionare Gestore Switch Virtuale dal menu contestuale.
- Selezionare un tipo di switch virtuale e fare clic su Crea Switch Virtuale. In questo caso, usareamo vSwitch0, un switch esterno (rete collegate). Fare clic su OK per salvare le impostazioni e chiudere la finestra.
Configurare la macchina virtuale di origine
Una volta pronto il switch virtuale, puoi configurare la macchina virtuale di origine per monitorare il traffico.
- Per aprire le impostazioni della macchina virtuale di origine in Gestore Hyper-V, fare clic destro sul nome della macchina virtuale e selezionare Impostazioni dal menu contestuale.
- Nella finestra delle impostazioni della macchina virtuale, navigare a Adattatore di rete > Funzionalità avanzate.
- Nella sezione Mirroring della porta, selezionare Sorgente come modalità di mirroring nel menu a discesa. Questa azione abilita il mirroring della porta di Hyper-V per la porta del switch virtuale connesso alla quale è connessa la porta corrente della VM. Cliccare OK per salvare le impostazioni.
- Ricordare il nome del switch virtuale a cui è connesso l’adattatore di rete virtuale dell’host VM. L’avantage è che puoi configurare più di una VM di origine per analizzare il traffico di tutte le VM sulla VM di destinazione.
La fase successiva è la configurazione della macchina virtuale di destinazione a cui verrà mirrorato (duplicato) il traffico di rete.
Configurazione della macchina virtuale di destinazione
La pratica raccomandata consiste nel creare un adattatore di rete aggiuntivo sulla macchina virtuale di destinazione e disabilitarli tutti i servizi di rete per questo adattatore di rete per una analisi più precisa. Questo approcio consente di ottenere il Dump completo del traffico di rete dopo aver disattivato i servizi e i protocolli non necessari.
- Spegnere la macchina virtuale di destinazione se la macchina virtuale è in esecuzione.
- Per aprire le impostazioni della macchina virtuale di destinazione, fare clic destro sul nome della macchina virtuale in Hyper-V Manager e selezionare Impostazioni.
- Clicca Aggiungi hardware nella parte sinistra della finestra delle impostazioni della macchina virtuale, seleziona Adattatore di rete, e fai clic su Aggiungi.
- Seleziona la switch virtuale a cui sarà connesso il secondo adattatore di rete virtuale. Deve essere lo stesso switch virtuale del primo (origine) VM. Nel nostro caso, questo è vSwitch0. Fai clic su OK per salvare le impostazioni e chiudere la finestra.
- Apri le impostazioni della macchina virtuale della destinazione VM di nuovo.
- Seleziona il secondo adattatore di rete virtuale creato per il mirroring di porta e la diagnostica del traffico (nell’elenco dell’hardware della VM nella parte sinistra) e passa a Adattatore di rete > Funzionalità avanzate.
- Nella sezione Mirroring di porta, seleziona Destinazione come modalità di mirroring per ricevere il traffico di rete mirrorato. Fai clic su OK.
- Accendi le VM.
- Connettiti alla macchina virtuale di destinazione creata per ricevere e analizzare il traffico (con Hyper-V VMConnect o RDP).
- Apri Centro rete e condivisione nella macchina virtuale Windows di destinazione. Fai clic su Impostazioni dell’adattatore di rete.
- Seleziona il secondo adattatore di rete creato per l’analisi del traffico (è possibile rinominare questo adattatore in LAN2-SPAN per maggiore comfort).
- Fai un clic con il pulsante destro sull’adattatore di rete e seleziona Proprietà.
Adesso, è possibile installare e configurare sulle macchine virtuali di destinazione software per l’analisi del traffico di rete, come ad esempio WireShark.
Installazione di un analizzatore di traffico
- Scarica e installa Wireshark sulla macchina virtuale di destinazione. Il processo di installazione è semplice nella procedura guidata GUI – è possibile utilizzare le impostazioni predefinite.
- Esegui Wireshark sulla macchina virtuale di destinazione.
- Clicca due volte sulla scheda di rete creata appositamente per il mirroring di porta e l’analisi del traffico di rete (LAN2-SPAN) nella finestra di Wireshark.
- Adesso, è possibile visualizzare l’attività di rete della macchina virtuale di origine (l’indirizzo IP della macchina virtuale di origine è 192.168.101.215). Proviamo a mandare un ping a google.com sulla macchina virtuale di origine.
- Possiamo vedere le richieste ICMP e le risposte in uscita/entrate da/verso 142.251.208.110, che è l’indirizzo IP dell’host google.com in questo momento.
- Per maggiore comfort, è possibile abilitare un filtro, ad esempio, selezionare ICMP.
Questo è un esempio di base. È possibile monitorare e analizzare altre attività di rete utilizzando altri protocolli.
PowerShell
Il sistema operativo Windows Server consente anche di configurare e gestire il mirroring di porta di Hyper-V in PowerShell.
Per abilitare il mirroring di porta sulla macchina virtuale di origine e sulla destinazione, eseguire i comandi corrispondenti:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source
Imposta-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination
Per disabilitare il mirroring di porta per una VM:
Imposta-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None
Per controllare le impostazioni di mirroring di porta per le VM:
(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode
(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode
Puoi usare i seguenti comandi per visualizzare informazioni di aiuto:
Get-Help Imposta-VMNetworkAdapter
Get-Help Imposta-VMNetworkAdapter -full
Get-Help Imposta-VMNetworkAdapter -detailed
Get-Help Imposta-VMNetworkAdapter -examples
I seguenti comandi possono essere utili per configurare il mirroring di porta:
Add-VMNetworkAdapter
– aggiunge un nuovo adattatore di rete virtuale per una VM
Get-NetAdapter
– mostra una lista degli adattatori di rete per una VM
Rename-Netadapter
– cambia il nome per un adattatore di rete virtuale di una VM
Conclusione
La configurazione del mirroring del porto Hyper-V può essere eseguita convenientemente nella interfaccia grafica di Hyper-V Manager o in PowerShell. Segui i requisiti e ricorda le limitazioni, come la posizione delle VM di origine e destinazione su un singolo host Hyper-V. Potrebbe essere necessario configurare altre VM di destinazione con un tool di analisi del traffico sui host Hyper-V in un cluster di failover. Wireshark è un strumento comune e popolare per l’analisi del traffico, ma puoi usare altri strumenti se necessario.