Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_meta_box_present is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_send_notification is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_modify_title_and_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_heading is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$response_body is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
WSL 2 e Tor: Come anonimizzare la connessione su Ubuntu | IlSoftware.it

WSL 2 e Tor: Come anonimizzare la connessione su Ubuntu

Guida pratica all'installazione e configurazione di Ubuntu su WSL 2, per navigare in modo anonimo su Windows 10 e 11 tramite la rete Tor.

Tor è una rete che permette di anonimizzare le attività di navigazione in Internet, per beneficiare di una connessione privata e più sicura, proteggendo l’identità e la posizione dell’utente. Come abbiamo spiegato nella guida su Tor, il sistema poggia su una rete di nodi che mascherano il traffico Web, rendendo difficile tracciare l’origine delle connessioni. Grazie a Tor, è possibile navigare in sicurezza, muoversi nell’anonimato e accedere a contenuti Web oscurati o sottoposti a censura, evitando qualsiasi attività di sorveglianza. Grazie a WSL 2 (Windows Subsystem for Linux versione 2), si può configurare una macchina Ubuntu Linux e anonimizzare la connessione reindirizzando il traffico sulla rete Tor.

Configurare Ubuntu su WSL 2 in Windows 10 e Windows 11

WSL 2 è una funzionalità di Windows che consente di eseguire una distribuzione Linux completa all’interno del sistema operativo Microsoft, il tutto utilizzando un kernel Linux nativo. A differenza della prima versione (WSL), WSL 2 impiega una macchina virtuale leggera per eseguire Linux, migliorando notevolmente le prestazioni e la compatibilità con le applicazioni sviluppate per il pinguino. In pratica, WSL 2 permette agli utenti di eseguire Linux su Windows, anche le applicazioni con interfaccia grafica, senza la necessità di una macchina virtuale pesante o di attivare configurazioni dual boot.

Come abbiamo visto nell’articolo dedicato a come portare Linux in Windows, dopo aver digitato cmd nella casella di ricerca di Windows 10 o di Windows 11, bastano un solo comando per installare Ubuntu e accedervi tramite finestra del terminale:

wsl --install -d Ubuntu-24.04

Il comando proposto non solo installa WSL nel caso in cui non fosse presente, ma carica anche Ubuntu 24.04 LTS. In una finestra separata, è richiesto di definire le credenziali dell’utente root (username e password).

Dalla finestra di WSL, si può impartire il comando che segue per aggiornare l’installazione di Ubuntu appena caricata all’interno di WSL:

sudo apt update && sudo apt upgrade -y

Installare Tor su Ubuntu con WSL 2

Completata l’installazione della macchina Ubuntu in WSL 2, si può richiedere l’installazione di Tor:

sudo apt install tor -y

Concluso questo passaggio, si può accedere al file di configurazione di Tor:

sudo nano /etc/tor/torrc

Poiché tale file risulta integralmente commentato (#) per impostazione predefinita, si può incollare ciò che segue in cima a quanto visualizzato nell’editor di testo nano, quindi premere prima CTRL+O e poi CTRL+X per salvare le modifiche e chiudere l’applicazione:

VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53

Configurazione Tor WSL 2 Ubuntu

Le impostazioni appena introdotte nel file di configurazione di Tor, abilitano la gestione del traffico tramite un gateway trasparente. In altre parole, Tor diventa un proxy locale che si occupa della gestione del traffico di rete, senza bisogno di intervenire sulle impostazioni di ogni singola applicazione installata.

La direttiva VirtualAddrNetworkIPv4 10.192.0.0/10 definisce una rete virtuale IP che Tor utilizza per la comunicazione interna. Tor crea un spazio di indirizzi IP privati usati per la risoluzione dei domini DNS all’interno della rete Tor. Quando un’applicazione tenta di connettersi a un dominio tramite Tor, il traffico è prima reindirizzato a uno degli indirizzi di questa rete virtuale (in questo caso, 10.192.0.0/10), per poi essere effettivamente instradato attraverso Tor. Anche le richieste DNS (risoluzione dei nomi di dominio) transitano sempre attraverso Tor.

Affinché la configurazione sia presa in carico, si deve provvedere a riavviare Tor sulla macchina Ubuntu:

sudo systemctl restart tor

Impostare l’uso di un exit node specifico

Per fare in modo che Tor utilizzi uno specifico exit node, basta digitare quanto segue per aprire il file di configurazione:

sudo nano /etc/tor/torrc

Al suo interno si possono quindi incollare le seguenti righe:

ExitNodes IP_EXIT_NODE
StrictNodes 1

Al posto di IP_EXIT_NODE va specificato l’indirizzo IP del nodo di uscita dalla rete Tor. Dopo aver salvato il file di configurazione (CTRL+O CTRL+X) si deve necessariamente riavviare Tor:

sudo systemctl restart tor

Configurare iptables per reindirizzare il traffico

iptables è un’utilità che consente di configurare e gestire le regole per il controllo del traffico di rete che entra e esce da un sistema. Funziona a livello di rete (livello 4 del modello OSI) e permette di definire regole per filtrare pacchetti di dati in base a diversi criteri. Poiché iptables non è presente di default nelle macchine Ubuntu su WSL, basta digitare quanto segue:

sudo apt install iptables -y

I comandi seguenti permettono quindi di pulire tutte le regole presenti nella tabella dei filtri di iptables, la tabella predefinita per il filtraggio dei pacchetti. Successivamente, puliamo tutte le regole presenti nella tabella NAT (Network Address Translation).

Specifichiamo quindi che se il traffico è destinato all’indirizzo 127.0.0.1 (localhost), il pacchetto deve essere restituito senza alterazioni; se il traffico è generato dall’utente debian-tor, è restituito senza modifiche; intercettiamo il traffico UDP destinato alla porta 53 (tipicamente utilizzata per le richieste DNS) e lo reindirizziamo alla stessa porta 53; rileviamo il traffico TCP con il flag SYN (indicando l’inizio di una nuova connessione) e lo inviamo automaticamente sulla porta 9040, la porta configurata per il proxy Tor.

sudo iptables -F
sudo iptables -t nat -F
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 le regole impostate digitiamo infine ciò che segue:

sudo apt install iptables-persistent -y
sudo netfilter-persistent save

Provare la connessione con Tor, Ubuntu e WSL 2

Per verificare che tutto il traffico transiti adesso attraverso la rete Tor, è sufficiente incollare quanto segue nella finestra del terminale di Ubuntu/WSL:

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 avete configurato con successo il gateway trasparente con Tor e che il traffico è effettivamente fatto transitare attraverso la rete Tor.

Test connessione rete Tor WSL Ubuntu

Proviamo adesso a creare uno script Python di test:

nano testip.py

Incolliamo quindi quanto segue al suo interno:

import requests

# Fai una richiesta per ottenere l'IP pubblico
response = requests.get('https://api.ipify.org/')

print("L'IP pubblico:", response.text)

Salviamo al solito con CTRL+O e poi usiamo CTRL+X per chiudere l’editor di testo nano.

Lo script non fa altro che stabilire una connessione HTTPS con un’applicazione Web remota in grado di restituire l’indirizzo IP pubblico utilizzato dal client. Provate quindi a digitare:

python3 testip.py

Indirizzo IP pubblico exit node Tor

L’indirizzo IP restituito corrisponde all’exit node dalla rete Tor. Questo a conferma che tutto il traffico sta viaggiando sulla rete in grado di anonimizzare ciascuna richiesta. Confrontate infatti l’indirizzo IP fornito dallo script Python con quello pubblico rilevabile, ad esempio, da un qualunque browser Web installato sulla macchina host. Potete seguire i consigli dell’articolo su come trovare il mio IP o, semplicemente, visitare questa pagina di Ipify.

Installare Chrome per Linux

A ulteriore conferma della bontà dell’intervento effettuato, provate a scaricare e installare Chrome per Linux, come riportato da Microsoft nella pagina di supporto Eseguire app Linux con GUI nel Sottosistema Windows per Linux:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install --fix-missing ./google-chrome-stable_current_amd64.deb

Avviando Chrome per Linux con interfaccia grafica da WSL 2 (digitare semplicemente google-chrome), vedrete che visitando la pagina Check Tor, il browser Google mostra il messaggio: “Congratulations, this browser is configured to use Tor“. Ciò avviene proprio perché tutto il traffico passa effettivamente attraverso al rete Tor, grazie alle specifiche regole impostate in precedenza.

Chrome su Tor con WSL 2 e Ubuntu Linux

Come visibile nell’immagine, Chrome si apre in ambiente Windows all’interno di una finestra ma è la versione Linux installata nella macchina WSL 2 ad essere eseguita. E l’indirizzo IP mostrato corrisponde all’exit node della rete Tor.

Ti consigliamo anche

Link copiato negli appunti