L'utilizzo di un sistema di proxy per la navigazione Web è ormai molto comune soprattutto in ambito aziendale. Oggi anche i normali utenti casalinghi valutano sempre più spesso l'utilizzo di questa tecnologia per tutelare la propria privacy in rete. In passato abbiamo parlato di un argomento similare, ovvero le VPN e di come configurare un server VPN su di una qualsiasi distribuzione Linux. Nella guida di oggi andremo invece ad esplorare l'implementazione di una Tor Proxy su Raspberry Pi, cosi da ottenere un sistema di proxy molto robusto capace di coprire praticamente tutti i dispositivi connessi al medesimo router o rete locale.
Cos'è un Tor Proxy
Esiste una sottile differenza tra i normali proxy e le Tor Proxy. Infatti un comune fornitore di proxy dirotta il nostro traffico dati verso un server standard che fa da "cuscinetto" tra le query ed il resto della rete Internet. Questa configurazione è molto semplice ed è anche poco impegnativa da mantenere per le varie aziende. Il punto è che non tutti si fidano dei servizi di proxy. Se si utilizza un terminale all'interno di un'azienda spesso non si ha scelta ma per quanto concerne i dispositivi privati è possibile optare per qualcosa di diverso.
I Tor Proxy si differenziano da un servizio di proxy standard perché di fatto il Tor Proxy fa passare il traffico dati dell'utente per ben tre server proxy differenti prima di inviarlo alla reale destinazione. Grazie a tale strategia viene garantita una maggiore privacy e il traffico può anche essere cifrato sfruttando protocolli come HTTPS cosi da aggiungere un ulteriore layer di sicurezza.
Se si sfrutta un Tor Proxy con il Tor Browser è possibile ottenere un livello di anonimato in rete davvero elevato. Questa architettura può essere dunque interessante per un vasto ventaglio di utenti interessanti a restare al riparo da qualsiasi sistema di tracking delle loro attività online.
Hardware necessario
Per realizzare un Tor Proxy è possibile sfruttare un Raspberry Pi 3 o 4. Entrambi sono abbastanza potenti da gestire il traffico di rete derivato da un server proxy. Ma oltre alla board ARM in se è necessario dotarsi di una memoria di massa, quindi una microSD da almeno 64GB, e di mouse, tastiera e monitor per la prima configurazione. Consigliamo inoltre di connettere Raspberry Pi direttamente al router tramite un cavo ethernet cat 6, cosi da assicurarci le massime prestazioni di rete.
Installazione di Raspberry Pi OS
Come sistema operativo di riferimento per tale progetto abbiamo optato per Raspberry Pi OS. La distribuzione Linux sviluppata appositamente per tale board ARM. Tuttavia se lo preferite potete affidarvi a qualsiasi altro sistema Linux supportato dal device, assicuratevi solo che i pacchetti che andremo ad utilizzare nel tutorial siano accessibili anche nella distro da voi preferita.
Procediamo al download di Raspberry Pi OS e di Raspberry Pi Imager, l'imaging tool che si occuperà di realizzare il media d'installazione. Eseguiamo Raspberry Pi Imager e successivamente pigiamo sul tasto "Choose OS" in modo tale da selezionare il file ISO scaricato poco prima. Ora clicchiamo sulla funzione "Choose Storage" per impostare la microSD che abbiano connesso al computer. Infine selezioniamo "Write" per eseguire il flash.
Il processo dovrebbe durare qualche minuto, al suo termine connettiamo la microSD al Raspberry Pi e terminiamo il primo wizard di configurazione di Raspberry Pi OS.
Installazione di Tor su Raspberry Pi OS
Fortunatamente tutti i pacchetti di Tor sono disponibili nei repository ufficiali della distribuzione. Dunque l'utente non deve seguire procedure di configurazione software particolare ma basta affidarsi al praticissimo gestore di pacchetti APT che va a reperire e ad installare Tor per l'utente. Ecco il comando da scrivere in bash:
sudo apt install tor
Dopo che APT avrà terminato il download, l'installazione ed il setting dei pacchetti nel sistema dovrebbero essere attivati automaticamente due servizi in background ovvero tor.service
e tor@default.service
. Quello che ci interessa monitorare è quest'ultimo. Tramite il gestore dei demoni systemd è possibile capire se tutto funziona regolarmente:
sudo systemctl status tor@default.service
Se come output riceviamo un "active [running]" in verde allora possiamo stare tranquilli.
Configurazione di Tor Proxy su Raspberry Pi OS
A questo punto siamo finalmente pronti per impostare il nuovo proxy server all'interno di Raspberry Pi OS. Partiamo eseguendo il backup del file di configurazione base di Tor:
sudo cp /etc/tor/torrc /etc/tor/torrc.backup
In caso di problemi ci ritroveremo il file di configurazione originale chiamato torrc.backup
all'interno della directory /etc/tor
. Ora tramite l'editor di testo nano possiamo avviare il setting vero e proprio:
sudo nano /etc/tor/torrc
Dentro tale documento dovremo cercare l'opzione chiamata "SocksPort" ed inserire l'IP del device più la porta 9050. Per conoscere l'IP locale del Raspberry Pi apriamo una nuova finestra di bash e digitiamo:
hostname -I
come output dovremmo ricevere un IP simile a questo:
192.168.1.12
Quindi nel file di configurazione aperto prima possiamo apporre una modifica simile:
SocksPort 192.168.1.12:9050
Dunque per esempio dovremmo avere una situazione simile:
SocksPort 192.168.1.12:9050
SocksPolicy accept 192.168.1.0/24
RunAsDaemon 1
DataDirectory /var/lib/tor
Salviamo le modifiche con la combinazione CTRL+O e chiudiamo con CTRL+X. Quindi riavviamo il demone di Tor per confermare le modifiche:
sudo systemctl restart tor@default.service
La configurazione a questo punto è terminata.
Connettere il browser a Tor Proxy
Adesso siamo pronti per navigare con il nostro browser usuale sfruttando la nuova proxy appena configurata. Per proporre un esempio concreto spiegheremo brevemente come impostare Proxy Tor su Firefox.
Andiamo su "Impostazioni", poi su "Impostazioni di Connessione" e successivamente selezioniamo l'opzione "Configurazione manuale dei proxy". Questa opzione ci permette di navigare con un proxy senza doverlo impostare globalmente per tutto il sistema operativo.
Dunque dentro la voce "SOCKS Host" scriviamo l'IP locale del Raspberry Pi e la porta 9050. Inoltre facciamo attenzione che l'opzione "SOCKS v5" sia spuntata. Infine clicchiamo su "OK" dopo un riavvio di Firefox saremo pronti per navigare con la Tor Proxy appena impostata.
Impostare Proxy Tor in tutto il sistema
L'impostazione globale di una proxy per navigare varia in base al sistema operativo. Per Windows:
Tasto "Start>Impostazioni>Rete e Internet>Proxy>Modifica Server Proxy>Immettiamo i dati della Tor Proxy (sono gli stessi di poco prima)>Salva":
Per macOS: "Impostazioni>Rete>Cercate Proxy>Selezionate SOCKS Proxy>Inserite IP e Porta giusta>OK".
Per Linux: qui dipende molto dalla distribuzione ma in linea generale se usate gli ambienti grafici più popolari recatevi su "Impostazioni>Rete>Proxy>Manuale>Socks Host>Scriviamo IP e Porta >Salva"
Per capire se state navigando usando Tor Proxy potete cliccare su questo link:
https://check.torproject.org/?lang=it
e vedrete una conferma visiva simile alla seguente: