Internet: cipolle dolci per dolci scopi

di jolek78

Immaginate un iceberg, un enorme iceberg pronto per colpire il vostro Titanic. Non siete fra quei ricconi in prima classe, ma vi siete sporti a prua e vedete quell’oggetto enorme e ghiacciato, venirvi incontro. Cosa fare? Proposta A: cominciate ad urlare avvisando tutti. Ma siete anticapitalisti, odiate la ricchezza e non volete salvare quelli in prima classe. Proposta B: andate incontro a morte certa, ve ne fregate, e nel tempo rimasto analizzate scientificamente  l’iceberg. Guardandolo attentamente, vi accorgete che solo una piccola parte emerge dal mare, ed è quel pezzettino ghiacciato che riuscite a vedere anche da lontano. Man mano che vi avvicinate però notate un’ombra sotto il mare, enorme, molto ma molto più grande di quel ghiacciolo che spunta dall’acqua. Sarà quella parte che impatterà sul Titanic, ma voi l’avete vista prima degli altri, e allora so’ soddisfazioni…

L’analogia dell’Iceberg

Per spiegare internet spesso in informatica si ricorre alla metafora dell’iceberg di cui sopra. Cosa è prima di tutto internet? Beh, in termini semplici altro non e’ che una infrastruttura globale (la rete) fatta di vari sistemi (i protocolli) che permette di scambiare dati in maniera quasi istantanea. Quando facciamo una ricerca su Internet, normalmente ne visualizziamo soltanto una parte, il cosidetto surface web, ovvero nell’analogia dell’iceberg quel pezzetto di ghiaccio che spunta fuori dall’acqua. C’è però una parte più ingente che non viene indicizzata dai motori di ricerca. Essa include le nostre email, le chat private, i nostri scambi dati, i nostri accessi con user e password, i nostri profili su Facebook e via discorrendo. Questa viene chiamata deep web, ovvero web profondo, e racchiude quasi il novanta per cento delle informazioni scambiate giornalmente. Puo’ avvenire pero’ che voi vi chiamiate Chelsea Manning(*), e che vogliate passare ad un tizio australiano che ha aperto un sito chiamato Wikileaks(**) alcune informazioni classificate. Per farlo però non volete passare dai canali ufficiali, e volete farlo in maniera più anonima possibile. Dunque non potete utilizzare la internet “normale”, quella che giornalmente utilizzate per fare le vostre cosine “zozze” ma ne dovete utilizzare un’altra, magari nascosta ad occhi indiscreti. Questa internet esiste e si chiama dark-net, rete oscura, e viene “realizzata” attraverso opportuni software opensource chiamati Freenet, I2P e Tor.

Cos’e’ Tor

Per lo scopo di questo articolo, porremo la nostra attenzione soltanto sul sistema più popolare, ovvero Tor, chiamato nel suo originale white-paper “the second generation onion router“. Tor e’ un intero network anonimo creato attraverso un opportuno software che permette un ben definito anonimato durante il processo di scambio dati, che sia esso banalmente il “navigare su internet” o il “chattare in forma anonima”. Durante il passaggio di un dato da A a B, il programma Tor non fa altro che anonimizzare il dato e la sorgente attraverso un sistema a “cipolla” (onion in inglese significa appunto cipolla) fatto a strati. Per fare questo però il sistema ha bisogno di volontari, gente pronta a condividere parte della propria connessione internet per creare uno di questi nodi che possa permettere agli utenti di navigare anonimamente. Bene, utilizzare il proprio computer per fare questo non e’ una buona idea. Creare pero’ un nodo, o meglio un relay node, con un piccolo device, potrebbe esserlo.

Preparare il materiale

La Raspberry-Pi non è nient’altro che un computer a scheda singola, piccola come una tessera del bancomat e leggera, con uno slot per la memoria SD da dove si può far partire il sistema operativo. L’idea in questo esperimento – cercherò di essere semplice al massimo – è installare un banale Ubuntu Linux sulla memoria SD, inserirla nella Raspberry-Pi, farla partire e si occuperà lei del lavoro “sporco”. Proveremo dunque a installare la versione 20.04 che è una LTS – long term support – poichè supportata almeno fino al 2025. Per fare questo abbiamo bisogno di un computer con un sistema Linux installato, una Raspberry-Pi (versione 3 o 4 e’ indifferente) e una memoria SD completamente vuota.

Procedura per sistemi Linux – da terminale:

– Scarichiamo l’immagine

wget https://cdimage.ubuntu.com/releases/20.04.2/release/ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz

– Unzippiamo l’immagine appena scaricata.

unxz ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz

– Una volta finito, inseriamo la memoria SD nello slot del nostro pc e verifichiamo quale sia. Nel mio caso è la /dev/mmcblk0

lsblk -f |grep -v loop

– Installiamo l’immagine sulla memoria SD. Nel mio caso:

sudo dd if=ubuntu-20.04.2-preinstalled-server-arm64+raspi.img of=/dev/mmcblk0 status=progress bs=2M

– Rimuoviamo e reinseriamo la memoria SD. Ci ritroveremo due nuove partizioni.
Nel mio caso

/media/jolek78/system-boot 
/media/jolek78/writable

– Navighiamo dentro la partizione writable. Nel mio caso:

cd /media/jolek78/writable/

– Muoviamoci dentro la directory /boot

cd boot/

– Creiamo un file vuoto chiamato ssh

sudo touch ssh

– Smontiamo la memoria SD dal nostro computer. Nel mio caso:

sudo umount /dev/mmcblk0p1
sudo umount /dev/mmcblk0p2

– Inseriamo la memoria dentro la Raspberry.
– Colleghiamo il cavo ethernet dalla Raspberry al router e torniamo al nostro pc.
– Dal vostro router, nelle configurazioni LAN, verifichiamo quale sia l’IP della Raspberry.

– A questo punto, entriamo dentro la Rasberry da remoto, cambiamo l’hostname e la password. La password di default dell’user ubuntu e’ “ubuntu”

ssh ubuntu@ip-address
passwd ubuntu

sudo su -
hostnamectl set-hostname nome_del_relay
lsb_release -ra

– Per un buon livello di sicurezza, creiamo un nuovo utente e assegniamogli i livelli di sudo:

sudo adduser nuovoutente
sudo usermod -aG sudo nuovoutente

– Cambiamo utente e rimuoviamo il vecchio

su - nuovoutente
sudo deluser ubuntu
cd /home/ ; sudo rm -rf ubuntu/

– Aggiorniamo il sistema e installiamo Tor

cd ~
sudo apt update ; sudo apt upgrade ; sudo apt install tor nyx

– Verifichiamo lo stato del servizio Tor

sudo systemctl status tor@default.service

– Modifichiamo il file di configurazione

sudo vim /etc/tor/torrc

premere il tasto “ins”
incollare la parte sottostante – modificando “Nickname” e “ContactInfo”

SocksPort 0
RunAsDaemon 1
ORPort 9001
Nickname nickname
ContactInfo email
Log notice file /var/log/tor/notices.log
DirPort 9030
ExitPolicy reject6 *:*, reject *:*
DisableDebuggerAttachment 0
ControlPort 9051
CookieAuthentication 1

premere il tasto “esc”
scrivere “:wq!”
chiudere il file

– Installiamo il firewall ufw ed abilitiamolo a partire ad ogni startup

sudo apt install ufw
sudo ufw enable

– Scegliamo una porta differente per le connessioni ssh

sudo vim /etc/ssh/sshd_config

premere il tasto “ins”
rimuovere il simbolo “#” prima della parola “Port”,
inserire una nuova porta, per esempio la 2220

Port 2220

premere il tasto “esc”
scrivere “:wq!”
chiudere il file

– Aggiungiamo la regola al firewall

sudo ufw allow 2220

– Verifichiamo se tutto è andato bene

sudo ufw status numbered
sudo ufw status verbose

– Ristartiamo il sistema

sudo reboot
ssh -p2220 nuovoutente@ip-address
sudo systemctl status tor@default.service

– Pronti per la verifica:

sudo nyx

Aspettate 24H e verificate lo stato del vostro relay da questa pagina
https://metrics.torproject.org/rs.html

E se va bene a me… buon relay a tutti.

… e poi, non perdetevi il Linux Tutorial ogni domenica su “la bottega del barbieri“, mi raccomando 🙂

jolek78

(*) (**) Per chi, negli ultimi anni, avesse vissuto su Marte (ditemi per favore come avete fatto a corrompere Elon Musk) Bradley Manning, ora conosciuto come Chelsea Manning, è un ex-soldatessa (soldato all’epoca dei fatti) che lavorava come security specialist in Iraq per conto dell’esercito statunitense. Quando si accorse che il suo lavoro aveva un impatto reale sulla vita di persone innocenti, decise di fornire a Wikileaks una quantità enorme di file classificati che portarono alla luce crimini di guerra per cui, ancora oggi, nessuno ha pagato.

 https://it.wikipedia.org/wiki/Chelsea_Manning
https://it.wikipedia.org/wiki/WikiLeaks

jolek78
Un tizio che pensava di essere uno scienziato. Si ritrovò divulgatore scientifico. Poi si addormentò e si svegliò informatico. Ma era sempre lui.

6 commenti

  • Francesco Masala

    TOR viene usato per i vari leaks, anche un nuovo giornale sardo lo userà, per inchieste che proteggano gli informatori (https://www.produzionidalbasso.com/project/indip-periodico-indipendente-di-approfondimento/).

    l’articolo di jilek78 è molto interessante, ma per la seconda parte ci vorrebbe una mezza “laurea” di programmatore 🙂

  • Tor è semplicemente fantastico, fra i tre più popolari è quello che preferisco. E poi c’è una bella comunità attorno, una mailing lista molto attiva, e un bel team dietro. Per quanto riguarda la laurea da programmatore… Mica vero… Io non sono laureato e a casa ho 4 tor relay installati 🙂 (eh, due son deceduti, saranno stati gli hacker russi :))

  • Fabrizio Melodia

    ahahaha adoro queste magie da hacker. Il deep web è un mondo piuttosto variegato, esaminato ancora prima dalla fantascienza cyberpunk in modo assai pionieristico. E tante cose scritte in quei romanzi si sono a dir poco avverate, anche qui gli scrittori vedono prima degli scienziati.
    Tor può essere molto interessante, io l’ho usato per un periodo e ha ragione Jolek, tutti possono imparare e tutti possono usarlo.
    La più bella caratteristica del sistema Ubuntu è quella di essere “open source”, “a sorgente aperta”, si potrebbe dire la versione libera e piratesca della Tortuga informatica. In questo caso, tutti possono modificare il veliero e andare all’arrembaggio del deep web. E gustarne i tesori, ma anche i vortici, gli scogli, i mostri marini e le sirene mangiauomini. Il deep web è terreno fertile per molti figure criminali, di quelle persone che rubano i dati, clonano profili, s’intrufolano e commerciano con tutto quello che d’illegale si possa immaginare. Le criptovalute come i bitcoin funzionano su questo principio.
    Hai scritto davvero un ottimo articolo e speriamo che questa alfabetizzazione informatica possa essere utile a tutti coloro che si avventurano in questo mondo. E che le persone che ne fanno buon uso prevalgano su tutte coloro che ne fanno un cattivo uso.

  • Pensa Fabrizio che quando mi son chiesto quale distribuzione utilizzare, mi son vergognato di aver scelto ubuntu ma… son sicuro che qualsiasi casino si verifichi, cercare “casino su tor e ubuntu” fornisca una risposta istantanea 🙂

    I meandri del dark-web li ho esplorati, ma non fanno per me. Poi per caso anni fa settai un primo exit-node, e mi accorsi di quanto fosse utile. Ancora oggi, la maggior parte del traffico arriva da nazioni come Iran, Russia, Cina e le altre che puoi immaginare… Il che vuol dire che dove c’e’ censura, la gente usa tor per aggirarla. E io sta cosa semplicemente la adoro 😉

    p.s
    Aspetta domani…

  • > Poi per caso anni fa settai un primo exit-node

    Beh, meglio stare attenti e non fare le cose per caso.

    Un exit node oltre ad esporti all’attenzione delle autorita’ puo’ permettere a qualsiasi deliquente di usare il tuo IP.

    https://blog.torproject.org/tips-running-exit-node:

    1. Inform your potential ISP(s)
    In general, running an exit node from your home Internet connection is not recommended, unless you are prepared for increased attention to your home. In the USA, there have been no equipment seizures due to Tor exits, but there have been phone calls and visits. In other countries, people have had all their home computing equipment seized for running an exit from their home internet connection. So you will need to find a good colo and save your home connection for bridge or middle node use. Plus, bandwidth will be much cheaper in a colo center anyway.

  • Grazie del consiglio Umberto ma:
    – per caso “anni fa” settai (il che non vuol dire che oggi abbia exit-node funzionanti)
    – ExitPolicy reject6 *:*, reject *:*
    il settaggio non è per un exit node e non avrei esposto nessuno a questo rischio

    Cmq grazie del consiglio. Much appreciated.
    Fabio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *