Come creare un sito web anonimo nel Deep Web .onion

0
590

Chiunque abbia a cuore la propria privacy sa che è possibile navigare usando la rete Tor per accedere in modo anonimo al Deep Web (o al Dark Web), dove pullulano siti di tutti i tipi (ma anche e-commerce illegali) e dove il Bitcon regna come moneta di scambio. Ma è possibile usare la famosa rete “a cipolla” come Web server per offrire ad altre persone i nostri contenuti? Certo! E il bello di avere un sito Web Onion è che non saremo identificabili né da gli utenti del sito, né da agenzie di intelligence o autorità governative. Nessuno può risalire al nostro indirizzo IP reale. Allo stesso modo, nessuno (noi compresi) può identificare gli utenti del sito: tutti sono anonimi. Il modo giusto per farlo, però, è far girare server e sito su una chiavetta USB che possiamo far sparire velocemente all’occorrenza. A tal fine useremo Kubuntu, una versione di Ubuntu che ha un desktop manager (KDE) molto simile a Windows.

Tutti liberi nel Dark Web

I siti Web con dominio “.onion” costituiscono il Dark Web, un sottoinsieme del Deep Web. Quest’ultimo rappresenta tutti quei siti non rintracciabili dai normali motori di ricerca, ma il Dark Web è statisticamente la parte più interessante e per questo i due termini sono spesso usati come sinonimi. L’anonimato offerto dai server .onion può non essere importante per un normale cittadino italiano, ma è fondamentale per chi si trova in Paesi che limitano la libertà di espressione o di stampa: un cittadino ucraino, ad esempio, avrebbe potuto (durante la rivoluzione) pubblicare un sito Tor con notizie sui crimini del governo senza rischiare di essere scoperto e arrestato. Data la struttura “a cipolla”, il client Tor può essere utilizzato sia per accedere a servizi già esistenti sia per proporne di nuovi al resto della rete. Tor è infatti un protocollo di Onion routing, una rete simile ad una VPN ma con una differenza fondamentale: ci sono molti passaggi intermedi.

Come una VPN, ma più sicura

Una VPN è di fatto una sorta di rete loca- le molto estesa sul territorio: tutti i PC si collegano allo stesso server centrale che funziona come un router domestico e tiene assieme i vari computer permettendo loro di condividere informazioni e un unico indirizzo IP pubblico. Quest’ultimo è quello del server, quindi ogni client appare sul Web con il suo indirizzo. Nell’Onion routing esistono molti passaggi intermedi: un client si collega ad un server, che si collega ad un altro server, poi ad un altro e così via fino ad un server finale che funziona come “punto di uscita” (exit node). Il client apparirà sul Web con l’indirizzo IP del punto di uscita, ma nessuno dei vari punti intermedi potrà risalire a chi sia il client e quale il nodo di uscita: ogni nodo intermedio della rete sa soltanto chi c’è prima di lui e chi dopo, ma non in che punto esatto della rete si trovi; quindi non sa se sta dialogando col primo o l’ultimo computer della sequenza. L’idea ricorda un po’ le reti Mesh, con la differenza che in queste è possibile per tutti i computer essere punti di uscita per qualcun altro e non si può scegliere il proprio punto di uscita. Nell’Onion routing, invece, i punti di uscita sono solo alcuni dei PC coinvolti, e un client può cambiare exit node se desidera apparire con un indirizzo IP sempre diverso. Inoltre c’è un apposito sistema crittografico: un sistema a cipolla (il nome non è casuale, del resto). Ogni router intermedio si presenta al client con una chiave crittografica pubblica, che può essere usata per crittografare i pacchetti. Immaginiamo che un client riceva le chiavi di 4 diversi router: il client preparerà un pacchetto crittografandolo con la chiave 4, la chiave 3, la 2 e infine la 1. Il pacchetto verrà poi inviato ai vari router in sequenza, che lo potranno decifrare man mano: il primo router toglierà soltanto la crittografia con la propria chiave privata 1, il secondo con la chiave privata 2, ecc. In questo modo gli unici a poter vedere i dati non crittografati sono il client e l’exit node (e se si usa un protocollo come HTTPS nemmeno l’exit code può vedere i dati completamente decifrati, potrà farlo soltanto il vero destinatario). Le varie crittografie sono infatti applicate a strati come in una cipolla, e devono essere tolte esattamente in quell’ordine. Se qualcuno provasse a intromettersi il procedimento salterebbe e i dati diventerebbero illeggibili, rendendo quindi tutta la comunicazione privata e di fatto anonima perché nessuno sa chi ha cominciato la connessione.

Come si accede al server Onion

Per accedere ad un server Onion non si usa un indirizzo IP, ma un nome di dominio che viene creato in modo casuale sulla base di un’altrettanto casuale e univoca chiave crit- tografica. Si tratta della chiave pubblica che permette ad altri client di crittografare, come spiegato, i pacchetti di dati in modo che soltanto il nostro server sia in grado di leggerli usando la chiave privata di decifratura. Tutto quel che si deve fare per rendere il proprio client accessibile dalla rete Tor è selezionare le porte da “aprire” al resto del Dark Web. C’è però una differenza importante con i server che si abilitano sul PC per l’accesso dal Web convenzionale: non si passa attraverso il meccanismo del NAT, perché il client Tor è già connesso direttamente alla rete Onion. Le normali LAN sono infatti gestite da un router e quindi sono “nattate”: ciò significa, in parole povere, che l’unico computer visibile direttamente da Internet è il router stesso. Gli altri dispositivi della rete non sono raggiungibili e le loro porte di comunicazione (il server Web usa la numero 80) sono chiuse. Se vogliamo che il nostro server sia raggiungibile da Internet dovremo quindi aprire la porta 80 del PC. Questa procedura è detta “port forwarding”: ogni router dispone di un pannello per creare queste regole. Sulla rete Tor, invece, il server funziona anche se non abbiamo abilitato il port forwarding, perché la connessione viene gestita direttamente dalla rete Onion. Anzi: è meglio non aprire la porta 80 sul router. Così, l’unico modo per accedere al server sarà tramite la rete Tor: un utente che si trova su Internet (e che quindi può leggere il nostro vero indirizzo IP) non sarebbe in grado di entrare nel sito. Se aprissimo la porta sul router casalingo, il server diventerebbe accessibile dal Web tradizionale, non anonimo, e prima o poi qualcuno lo troverebbe. Se teniamo la porta chiusa, l’unico modo per arrivare al server è attraverso il client Tor.

Connettiamoci alla rete Tor

Per la nostra privacy è bene creare un’installazione persistente di Linux su chiavetta USB, da far sparire in caso di necessità. Dal client Tor abiliteremo poi l’Hidden Service per rendere il PC raggiungibile nella rete a cipolla.

Un sistema “usa e getta”

  • Colleghiamo al PC una pendrive da 8 GB o più e avviamo UNetbootin. Selezioniamo Immagine disco e carichiamo la ISO di Kubuntu 17.10 (scaricabile da https://kubuntu.org/getkubun- tu). Specifichiamo i MB di spazio per la persistenza dei dati e completiamo la procedura con OK.

Avviamo il client Tor

  •  Eseguiamo il boot del PC dalla chiavetta USB, caricato Kutuntu scarichiamo Tor  ed estraiamo il ile .tar.xz. Otterremo una cartella di nome Browser ed un ile chiamato .desktop. Per avviare Tor basta cliccare su questo file: non è richiesta alcuna installazione.

Connessione in corso

  • La prima finestra che appare permette di conigurare la connessione ad Internet: nel caso in cui ci si trovi dietro ad un proxy (come nel- le reti aziendali), può essere necessario cliccare su Conigure. Altrimenti, basta un clic su Connect per connettersi a Tor.

Tor browser è in esecuzione

  • Dopo qualche minuto la connessione sarà attiva, e apparirà la inestra di Tor Browser, un’apposita versione modiicata di Firefox. Il servi- zio Tor rimarrà attivo inché Tor Browser è aperto: se lo chiudiamo, la connessione a Tor verrà terminata.
  • Per abilitare il nostro HiddenService è necessario aprire il ile che si trova nella cartella Browser/TorBrowser/Data/Tor/torrc con un editor di testo e inserire alla ine di esso le righe presenti sulla Cartella dei dati
  • In questo modo si indica come server quello che viene ospitato sulla porta 80, e come cartella dei dati /home/luca/tor-browser_en-US/hidden_ service/. Ovviamente, si possono scegliere una directory e una porta (FTP funzionerebbe sulla porta 21).

ll nostro server anonimo

Tra i server Web più semplici da con gurare c’è Apache. Vediamo dunque quali sono i passaggi da seguire per creare il server che ospiterà il nostro primo sito sul Deep Web.

Iniziamo dal setup del server

Per pubblicare un sito è ovviamente necessario installare un server Web: l’opzione più scontata su Kubuntu è Apache2, che può essere installato con il comando sudo apt-get install apache2 php5 libapache2-mod-php5 php5-mcrypt.

Dove vanno caricati i le del sito?

Lanciando il comando cat /etc/apache2/sites-enabled/000-default.

conf, la riga DocumentRoot indica il percorso nel quale si posso- no inserire i vari ile del nostro sito Web, ad esempio la cartella /var/www. Il file index.html dovrebbe già esistere.

Il nostro indirizzo sulla rete Tor

Per conoscere l’indirizzo del sito Web sulla rete Onion, accessibile anonimamente tramite rete Tor, basta leggere il contenuto del ile tor- browser_en-US/hidden_service/hostname. È l’indirizzo che si può condividere, anche sui motori di ricerca.

Accesso anonimo

Digitando su un Tor Browser l’indirizzo estrapolato al passo precedente è possibile visualizzare il sito appena creato. Per assicurarci che sia accessibile solo tramite rete Tor, e non sul “classico” Web, una buona idea è chiudere la porta 80 sul proprio router.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.