Introduzione: Perché creare un nodo Tor
Un nodo Tor è un componente fondamentale dell’infrastruttura della rete Tor. Il suo scopo è garantire anonimato, resilienza alla sorveglianza e resistenza alla censura, contribuendo alla libera circolazione delle informazioni e alla protezione della privacy. Ogni nodo rafforza l’intera rete, aumentando la quantità e la qualità del traffico che rende l’analisi dei dati più difficile per attori malevoli.
Tipi di nodi nella rete Tor:
- Relay (Middle Relay): instrada il traffico da un nodo all’altro agendo da ponte. Non conosce né l’origine né la destinazione finale del traffico.
- Bridge: nodo “non elencato” pubblicamente, utile per aggirare blocchi e censura in paesi che ostacolano l’uso di Tor.
- Exit Node: è l’ultimo nodo della catena Tor, da cui il traffico esce verso Internet. Espone il proprio indirizzo IP e richiede un’attenta valutazione legale e tecnica.
In questa guida ci concentreremo sulla realizzazione di un Relay Node, il tipo più adatto per contribuire alla rete Tor in modo sicuro e a basso rischio. Il Relay non espone l’IP a terze parti né consente di accedere al contenuto del traffico.
Dove installare un nodo Tor
La scelta dell’infrastruttura dipende dagli obiettivi personali e dalle risorse a disposizione. Di seguito una panoramica delle soluzioni più comuni:
- VPS (Virtual Private Server): soluzione rapida, flessibile ed economica. Ideale per un nodo Relay o Bridge.
- ⚠️ Nota importante: prima di procedere, è consigliabile verificare i termini di servizio del provider VPS, in quanto alcuni vietano espressamente l’uso per nodi Tor, in particolare Exit Node. Tuttavia, per i Relay Node, nella maggior parte dei casi non ci sono controindicazioni, poiché non generano traffico diretto verso Internet né espongono il contenuto del traffico.
- I Relay sono considerati sicuri dai provider in quanto non rappresentano un rischio legale diretto. Diversamente, un Exit Node, inoltrando traffico verso siti pubblici con il proprio IP, può risultare problematico in caso di attività sospette o illegali compiute da utenti anonimi attraverso di esso.
- Raspberry Pi: computer a basso consumo, ottimo per test o implementazioni casalinghe. Può sostenere nodi a basso traffico, specialmente Bridge.
- PC domestico: perfetto per chi vuole sperimentare, soprattutto in modalità laboratorio o test. Richiede attenzione a configurazioni di rete, sicurezza e continuità di servizio.
- LXC container su Proxmox: consigliato per sistemisti e ambienti virtualizzati. Fornisce isolamento, gestione avanzata delle risorse e facilita la replica o migrazione del nodo.
Ogni opzione ha vantaggi specifici. In questa guida lavoreremo su Debian 12, sistema stabile, sicuro e supportato, facilmente adattabile a tutte le soluzioni elencate.
Contributo attivo alla rete Tor
Creare e gestire un nodo Tor significa partecipare in modo diretto alla difesa della libertà digitale. Supportare la rete Tor equivale a difendere il diritto alla privacy e alla libera espressione in contesti repressivi o sorvegliati.
Una realtà esemplare è Torservers.net, una ONG che gestisce centinaia di nodi ad alte prestazioni. Questo dimostra come anche piccoli contributi, se ben configurati, possano entrare a far parte di una rete globale di supporto.
Nota etica: questa guida ha finalità legali e didattiche. L’uso di Exit Node richiede una valutazione attenta delle leggi locali e delle responsabilità legali. In questa serie ci concentreremo solo sui Relay Node.
Requisiti tecnici minimi
Per ospitare un nodo Relay Tor stabile e conforme alle specifiche della rete, è necessario disporre di una configurazione minima sia dal punto di vista hardware che di connettività. Di seguito i requisiti consigliati:
- Connessione Internet stabile: è essenziale una linea affidabile, con latenza bassa e disponibilità continua.
- Larghezza di banda:
- Minimo consigliato: almeno 2 Mbps in upload
- Raccomandato: 10 Mbps o più per contribuire in modo significativo alla rete
- Connettività simmetrica (upload = download): non obbligatoria, ma fortemente consigliata, soprattutto in presenza di connessioni in fibra.
- RAM: almeno 512 MB, ma è preferibile 1 GB o più per una maggiore stabilità e gestione del traffico.
- CPU: qualsiasi processore a 64 bit compatibile con
x86_64
oARMv8
. - Sistema operativo: Debian 12 aggiornato, ambiente base supportato ufficialmente dal progetto Tor.
- Porta TCP disponibile: Tor utilizza ORPort (di default la porta
9001
), che deve essere raggiungibile dall’esterno. - IP pubblico o port forwarding configurato: è necessario che la porta scelta sia esposta sulla rete pubblica o correttamente inoltrata in caso di NAT.
- Accesso root o utente con privilegi sudo: per poter installare pacchetti, configurare il sistema e gestire i servizi.
- Assenza di NAT simmetrico: reti dietro NAT simmetrico (tipico di molte reti mobili o ISP restrittivi) non permettono a un nodo Relay di essere raggiungibile dalla rete Tor.
Checklist di preparazione
- Una volta completata questa checklist, puoi procedere con l’aggiornamento e la configurazione del sistema operativo.
ℹ️ Questa guida parte dal presupposto che Debian 12 sia già stato installato e correttamente accessibile via SSH. Non viene trattata l’installazione del sistema operativo stesso.
Utente di partenza: root o utente con privilegi sudo
Questa guida è pensata per essere seguita a partire da un’installazione minimale di Debian 12 in cui si ha accesso iniziale come root
(situazione comune in VPS, LXC o ambienti server).
Se invece stai lavorando su un sistema dove accedi con un utente normale che dispone già dei privilegi sudo
, puoi saltare l’installazione del pacchetto sudo
e adattare i comandi alla tua configurazione.
Aggiornamento del sistema e installazione pacchetti base
In questa guida usiamo i comandi con sudo
per coerenza, ma se stai operando come root
puoi omettere sudo
in tutti i comandi.
Per prima cosa, installa sudo
(necessario solo se non è già presente):
apt update && apt install -y sudo
Poi aggiorna il sistema e installa i pacchetti base:
sudo apt update && sudo apt upgrade -y
sudo apt install -y gnupg2 curl lsb-release net-tools ufw htop vim
Creazione utente dedicato per gestione
Se stai utilizzando una VPS, molto probabilmente l’unico utente disponibile inizialmente sarà root
. In questo caso, è importante creare un utente dedicato con privilegi sudo per la gestione del nodo. Questo migliora la sicurezza e consente una separazione più chiara dei privilegi amministrativi.
adduser toradmin
usermod -aG sudo toradmin
(Opzionale) Imposta un hostname identificativo
sudo hostnamectl set-hostname tor-relay-node
Un hostname personalizzato aiuta a identificare il nodo nei log di sistema e nel monitoraggio.
Sicurezza SSH: accesso solo con chiave pubblica
Per aumentare la sicurezza, è buona pratica disabilitare l’autenticazione tramite password e consentire solo l’accesso con chiave pubblica SSH.
Dal tuo computer locale (cioè il PC da cui accederai al nodo via SSH), puoi riutilizzare una chiave SSH esistente oppure generarne una nuova. Se hai già una chiave (es. ~/.ssh/id_rsa o id_ed25519) che usi per altri server, puoi semplicemente copiarla sul nodo Tor senza crearne un’altra:
ssh-copy-id toradmin@IP_DEL_SERVER
Se invece preferisci generare una chiave separata per motivi di sicurezza o organizzazione, usa l’algoritmo ed25519, moderno e più sicuro rispetto a RSA. Su Linux/macOS:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_tor -C "toradmin@nomeserver"
Su Windows puoi usare PuTTYgen o il terminale ssh-keygen disponibile con Git Bash o Windows Terminal (con OpenSSH attivo).
Dopo aver generato la nuova chiave, copiala specificando il percorso esatto:
ssh-copy-id -i ~/.ssh/id_ed25519_tor.pub toradmin@IP_DEL_SERVER
Torna sul server e modifica il file di configurazione SSH:
sudo nano /etc/ssh/sshd_config
Assicurati che le seguenti opzioni siano impostate:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Riavvia il servizio SSH:
sudo systemctl restart sshd
⚠️ Importante: prima di chiudere la sessione attuale, verifica da un altro terminale che il login con chiave funzioni correttamente.
Ora per collegarti dal client, se hai creato una chiave separata, usa:
ssh -i ~/.ssh/id_ed25519_tor toradmin@IP_DEL_SERVER
Impostazioni di sistema e rete
Per garantire una corretta sincronizzazione dell’orario di sistema, installa e attiva ntp
, un demone stabile e semplice da configurare.
sudo apt install -y ntp
sudo systemctl start ntp
- Imposta timezone UTC:
sudo timedatectl set-timezone UTC
- Verifica la risoluzione DNS:
dig check.torproject.org +short
Un DNS malfunzionante può impedire al nodo Tor di connettersi correttamente alla rete.
✅ Consiglio: documenta ogni modifica fatta in un file README
locale o su Git, per facilitare backup, replica o troubleshooting.
La base ora è pronta per passare all’Hardening del sistema operativo nella Parte 2, dove implementeremo protezioni avanzate a livello di rete e sistema per rafforzare la sicurezza del nodo.