Navigare in modo anonimo e sicuro su Internet sta diventando sempre più importante. Tor è una rete progettata per garantire la privacy degli utenti, mascherando la loro identità e posizione durante la navigazione. Utilizzando WSL 2, una funzionalità di Windows che consente di eseguire Linux all’interno di Windows, è possibile configurare facilmente una macchina virtuale con Ubuntu e installare Tor per anonimizzare la propria connessione. Questo articolo offre una guida dettagliata su come realizzare questa configurazione, passo dopo passo, per garantire un’esperienza web sicura e privata.
Indice dei contenuti
Cos’è WSL 2 e come funziona?
WSL 2, o Windows Subsystem for Linux versione 2, rappresenta un’evoluzione significativa rispetto alla prima versione, consentendo di eseguire una distribuzione Linux completa in modo più efficiente all’interno di Windows. A differenza di WSL, WSL 2 utilizza un kernel Linux nativo e una macchina virtuale leggera, offrendo migliori prestazioni e compatibilità con le applicazioni Linux. Ciò significa che gli utenti di Windows possono eseguire software Linux senza la necessità di configurare una macchina virtuale pesante o utilizzare la configurazione dual boot.
Per configurare Ubuntu su WSL 2, basta aprire la finestra di ricerca di Windows 10 o 11 e digitare “cmd”. Una volta aperto il terminale, è sufficiente digitare il seguente comando per installare Ubuntu 24.04 LTS:
wsl --install -d Ubuntu-24.04
Questo comando non solo installerà WSL nel caso non fosse già attivo, ma installerà anche la distribuzione di Ubuntu. Successivamente, verrà richiesto di impostare le credenziali dell’utente root, composte da un nome utente e una password. Una volta completata l’installazione, si può procedere ad aggiornare Ubuntu con il comando:
sudo apt update && sudo apt upgrade -y
Questa operazione è fondamentale per mantenere il sistema operativo aggiornato e sicuro.
Installazione di Tor su Ubuntu all’interno di WSL 2
Dopo aver installato Ubuntu su WSL 2, il passo successivo è installare il software Tor. Per farlo, si utilizza il comando seguente:
sudo apt install tor -y
Una volta completata l’installazione, è necessario accedere al file di configurazione di Tor con il seguente comando:
sudo nano /etc/tor/torrc
All’apertura del file, ci si troverà di fronte a impostazioni commentate. Per configurare Tor in modo che possa gestire il traffico di rete, è necessario aggiungere alcune righe in cima al file. Si possono inserire le seguenti direttive:
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53
Queste impostazioni configurano un proxy locale per gestire il traffico di rete senza dover modificare le impostazioni di ogni singola applicazione. La direttiva VirtualAddrNetworkIPv4
stabilisce una rete IP virtuale per la comunicazione interna di Tor, permettendo una risoluzione DNS sicura all’interno della rete. Al termine delle modifiche, si può salvare il file e chiuderlo premendo prima CTRL+O
e poi CTRL+X
. Per applicare le modifiche alla configurazione, è necessario riavviare il servizio Tor:
sudo systemctl restart tor
Reindirizzare il traffico con iptables
Per garantire che il traffico di rete venga reindirizzato correttamente attraverso Tor, è necessario configurare iptables
, un’utilità che permette di gestire le regole di filtraggio del traffico. Poiché iptables
non è presente di default in Ubuntu su WSL, basta utilizzare il comando:
sudo apt install iptables -y
Una volta installato, occorre pulire tutte le regole esistenti utilizzando i seguenti comandi:
sudo iptables -F
sudo iptables -t nat -F
Dopo questa operazione, si stabiliranno le regole necessarie per il reindirizzamento del traffico. Al fine di non alterare il traffico interno, si specifica che i pacchetti destinati all’indirizzo 127.0.0.1
devono essere restituiti senza modifiche. Inoltre, si possono intercettare le richieste DNS e reindirizzare il traffico TCP verso la porta di Tor. I comandi preparati per questa configurazione appaiono come segue:
sudo iptables -t nat -A OUTPUT -d 127.0.0.1 -j RETURN
sudo iptables -t nat -A OUTPUT -m owner --uid-owner debian-tor -j RETURN
sudo iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports 9040
Per rendere permanenti queste regole, si utilizza il seguente comando:
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
Verifica della connessione tramite Tor
Una volta configurato il sistema, è importantissimo verificare che il traffico stia effettivamente transitando attraverso la rete Tor. Per compiere questa verifica, è sufficiente immettere il seguente comando nel terminale:
curl --silent https://check.torproject.org/ | grep -m 1 "Congratulations"
Se il comando restituisce il messaggio “Congratulations, this browser is configured to use Tor”, significa che la configurazione è stata eseguita correttamente. Un ulteriore test può essere fatto creando un semplice script Python per controllare l’indirizzo IP pubblico attraverso il quale si naviga.
Per fare ciò, si apre un nuovo file Python:
nano testip.py
Si incolla il seguente codice:
python
import requests
response = requests.get
print
Dopo aver salvato e chiuso il file, si può eseguire lo script con:
python3 testip.py
L’indirizzo IP restituito corrisponderà all’exit node della rete Tor, confermando che il traffico sta viaggiando in anonimato.
Installazione di Chrome per Linux
Per testare ulteriormente la configurazione e avere un’interfaccia grafica, è possibile installare Google Chrome su Ubuntu. Per farlo, si utilizza il seguente comando:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install --fix-missing ./google-chrome-stable_current_amd64.deb
Una volta installato, si può avviare Chrome digitando google-chrome
nel terminale di WSL 2. Aprendo il browser e visitando la pagina di verifica Tor, si dovrebbe vedere il messaggio: “Congratulations, this browser is configured to use Tor”. Anche in questo caso, il traffico navigato passerà attraverso la rete Tor, rinforzando l’assoluta validità della configurazione effettuata.