Come la pigrizia ha ucciso Internet.

Come la pigrizia ha ucciso Internet.

Come la pigrizia ha ucciso Internet.

Siccome va di moda la decentralizzazione, che pero’ non e’ un’invenzione recente, vorrei spendere due parole su come esistano i metodi per fermarla, e di come sia gia’ stato fatto. Fu fatto col protocollo SMTP, che era il primo protocollo davvero decentralizzato, e la scena si e’ ripetuta con SIP.

Il concetto e’ semplice: se si proibisce a qualcuno di fare qualcosa, egli cerchera’ di fuggire dalla gabbia. Se gli stati, nel tentativo disperato di leggere la posta elettronica, avessero impedito agli utenti di usare SMTP al massimo delle sue possibilita’ (ne parlo dopo), ci sarebbe stata una ribellione.

Ma la strategia usata per reprimere la rete non si basa sui divieti. Si basa sugli ostacoli. Se rendiamo comoda la gabbia e scomoda la vita fuori dalla gabbia, essenzialmente tutti i pigri staranno nella gabbia. E le sbarre della gabbia saranno costituite dalla loro stessa pigrizia.

Cosi’, la riduzione del protocollo SMTP da protocollo completamente decentralizzato e federato , sino a protocollo completamente centralizzato, e’ stata fatta semplicemente in questo modo. Rendendo sempre piu’ scomodo utilizzarlo.

Gli stati e molta industria volevano centralizzare le mail in modo da avere un solo server ove entrare per leggerle. Ma SMTP poteva essere molto diverso.

Innanzitutto, l’implementazione di SMTP e’ stata del tutto stupida, a livello di client. Vediamo di intenderci.

Su qualsiasi client, voi avete un “Server SMTP di uscita”. Che lavoro fa questo server?

  1. Prende in carico il vostro messaggio.
  2. Cerca sul DNS un record MX per sapere a quale server recapitarlo.
  3. Lo consegna ad un server , che lo salva a destinazione e poi ve lo fornisce usando altri protocolli.

Questo aveva senso in un mondo basato sui modem, e su una rete embrionale ove i server non erano sempre connessi. Occorreva quindi che qualcuno facesse coda se un elemento della catena NON era online in quel momento, o non era disponibile.

Ma oggi come oggi non c’e’ piu’ bisogno di questo “Server in Uscita”. Il client di posta elettronica puo’ tranquillamente fare la query al DNS e recapitare la posta direttamente al server SMTP di destinazione. Il server di destinazione sara’ sicuramente attivo, quindi non esiste alcun bisogno di un server in uscita che faccia coda nel caso bsogni aspettare che il server a destinazione sia online . Non succede piu’, i server sono sempre online, o quasi.

Anche sulla ricezione, la cosa non va meglio. Si e’ deciso di salvare tutto e poi si sono inventati altri protocolli (POP3, IMAP4) per fare il lavoro dell’ultimo tratto. Questo era dovuto al fatto che unix aveva (e ha ) le sue convenzioni per la posta, e che i primi server smtp non supportavano autenticazione.

Ma oggi non ci sarebbe piu’ bisogno di tali protocolli: il client SMTP potrebbe semplicemente

  • Collegarsi al proprio server SMTP
  • Autenticarsi.
  • Inviare il comando ETRN per farsi mandare tutta la posta in coda sul server SMTP, usando il protocollo SMTP.
  • Svuotare la coda del proprio utente dal server SMTP.

Che cosa e’ andato storto in tutto questo? Perche’ i client di posta elettronica non si sono mai evoluti in questo senso?

E’ andato storto il fatto che , se immaginiamo un mondo ove la posta elettronica funziona cosi’, l’unico modo di intercettare la posta e’ di trovarsi sul server di destinazione, o di avere le credenziali del destinatario. Poiche’ le polizie e i gestori volevano intercettare la posta sapendo chi la invia , e sarebbe stato troppo facile per chiunque usare un server in qualche paese che non collabora alle indagini , hanno deciso di tenere in piedi l’assurdita’ del “Server SMTP di invio”.

Come hanno fatto?

  • Nessun client sembra capace di fare una query del campo MX e recapitare il messaggio sul server del destinatario.
  • Se anche qualcuno lo facesse, qualche genio dell’ anti-spam suggerisce di mettere in blacklist gli “ip residenziali”.

Il primo ostacolo sarebbe tutto sommato facilmente aggirabile. Sia facendo girare un piccolo server SMTP sulla propria macchina, sia implementando in qualche client Opensource le righe di codice che servono a selezionare il server smtp giusto.

Ma poi sono arrivati gli sceriffi. Gli sceriffi hanno deciso che per bloccare lo spam (impresa che sarebbe stata facilissima usando certificati , ma questo e’ un altro discorso) era necessario creare gigantesche blacklist di indirizzi IP, al preciso scopo di impedire ai singoli utenti di inviare posta elettronica in autonomia. Il risultato e’ che oggi, se ospitate un server smtp a casa , non riuscirete a mandare posta se non usando un “server smtp in uscita”, dal momento che solo gli ISP sono autorizzati ad inviarsi posta a vicenda.

Questa cosa ha bloccato lo spam? Avete la cartella dello spam vuota? Ovviamente no. Del resto, non era nemmeno quello l’obiettivo. L’obiettivo era quello di impedirvi di inviare posta direttamente a destinazione.

Anche sulla ricezione non si sono fatti progressi. In generale, sarebbe bastato che il client si connettesse e desse un ETRN dopo l’autenticazione. Questo avrebbe svuotato le code. Ma era proprio la cosa che non si voleva: IMAP e POP3, di fatto, istigano l’utente a lasciare la posta sul server. Ove un agente o un’azienda possono leggerla. Svuotare una coda, al contrario, implicitamente richiede di rimuovere i messaggi. Mentre su IMAP4 e POP3 il default e’ di lasciarli sul server e semmai occorre configurare qualcosa per cancellarli.

Morale della storia: un protocollo che doveva essere decentralizzato,e poteva esserlo COMPLETAMENTE, con la scusa dello spam e’ stato centralizzato sugli ISP e sui provider come Gmail e Outlook. Il problema dello spam e’ stato risolto?

Decidete voi.

Ma questo ha reso impossibile fare quello che descrivo? Assolutamente no. Lo ha solo reso scomodo. Posso ancora, con diversi artifizi, usare smtp in maniera “decentralizzata”, cioe’ con un mio server domestico. Ma sono scomodi e bisogna settarli e manutenerli.

Se sei pigro usi il tuo ISP.

Il secondo esempio e’ SIP. Il protocollo SIP, nato principalmente per chiamate VOIP, se unito alla sessione SDP consente in realta’ di trasportare qualsiasi cosa. Comprese, potenzialmente, radio e TV. Quindi era il protocollo piu’ versatile, ed era federato quanto SMTP, con la differenza che non era affidato al DNS di tenere un record apposito per descrivere il server di destinazione, e si scelse di usare i campi SRV. In compenso si usano dei server che registrano gli utenti e si limitano a distribuire ad ogni utente l’ip e la porta dell’altro utente.

In pratica, lo schema e’ che se Pippo e Pluto vogliono parlare, chiamano prima Topolino e si registrano. Poi Pluto chiede a Topolino: tu che sai tutto, mi sai dire dove trovo Pippo? Topolino gli dice : “certo, lo trovi a 1.2.3.4:5678” . E a quel punto Pluto contatta Pippo direttamente, e si parlano tra loro.

Come la pigrizia ha ucciso Internet.

Orrore! Immagino la disperazione dei sorveglianti. In piu’, gli ISP temevano che questo protocollo togliesse loro i soldi delle chiamate voce.

Come si e’ fermato SIP? Proprio come si e’ fermato SMTP, ma con trucchi diversi.

  • Gli ISP hanno occupato la porta SIP su ogni router, implementandolo a loro volta.
  • Gli ISP non hanno consentito la registrazione di indirizzi custom sul loro SIP server, consentendo solo numeri telefonici.
  • Gli ISP hanno implementato il VoIP SIP soltanto in chiaro, nella stragrande maggioranza dei casi. In modo da rendere piu’ semplice l’intercettazione.

Cosa significa? Significa che se avete un router VoIP, non potete aprire voi la porta 5060. Non potete perche’ normalmente l’ha presa il piccolo server SIP che gira sul router stesso, e che non potete toccare. (solo nel caso di alcuni router, come Fritz, posso attaccarmi a server sip custom e ricevere telefonate sul telefono di casa)

Ma se volete usare un DNS dinamico per avere il vostro SIP server e telefonare cosi’, scoprirete presto che nella maggior parte dei casi non potete, almeno non sulla porta standard.

Anche in questo caso, pero’, la scappatoia esiste: nella grande maggioranza dei casi questi SIP proy che girano sui vostro router usano solo la porta in chiaro, la 5060, mentre lasciano libera quella crittografata. Quindi potete tranquillamente tenere in casa il vostro server SIP , a patto di fare tutto il lavoro che serve ad avere un certificato crittografico da Let’s Encrypt.

Ancora una volta, si sfrutta la pigrizia.

Allora forse vi chiederete: ma perche’ non fai un’immagine gia’ pronta da scaricare, mettere su un raspberry e farsi la propria scatola-telefono/mail/quelchele’ domestica?

La verita’ e’ che sarebbe proibito. Cioe’, potete farlo come singoli, ma e’ proibito in quasi tutta Europa (e in USA) di vendere prodotti che abbiano lo scopo esplicito (o l’effetto collaterale) di evitare l’intercettazione legale.

Non sto scherzando. Se io come pinco pallino qualsiasi faccio una scatolina che ha un server SIP con trasmissione criptata e un server smtp che cripta la trasmissione in transito e cancella i dati, nessun problema. Ma alla fine le persone direbbero “ma chi diavolo sei tu e perche’ dovrei fidarmi di te?”.

Allora potrei dire: “Fondo un’azienda che costruisce freedombox di facile uso e installazione, e le vendo”. Non e’ cosi’ facile. L’azienda sarebbe istantaneamente raggiunta dal governo, il quale gli ricorderebbe che PER LEGGE e’ tenuta a fornire una backdoor per la Lawful Interception. E questo, in diverse salse e versioni, e’ implementato in tutti i sistemi giuridici del mondo. Sotto diverse forme e modalita’, a volte con leggi singole ed esplicite e a volte in maniera indiretta.

Per esempio, negli USA si vuole fare una legge che dice “i protocolli di criptazione devono contenere una backdoor per l’ FBI”. Questa maniera brutale di procedere scatena le proteste. Negli altri paesi (come quelli europei) si esprime la cosa in maniera diversa, dicendo cose come “il fornitore di servizi e prodotti per le comunicazioni telematiche deve consentire , su richiesta, al magistrato di intercettare le chiamate”. Che e’ la stessa cosa, ma non attiva alcuna protesta.

Nel caso di un’azienda che venda una “freedom box” come quella che descrivo, per esempio, immediatamente lo stato chiederebbe che i magistrati possano leggere tutta la posta, intercettare le chiamate, eccetera. Quindi no, non sarebbe possibile rendere autonomo l’utente, perche’ nel momento in cui lo si rendesse autonomo troppa “sorveglianza” sarebbe impossibile.

La risposta della parte libertaria della rete a tutto questo disastro e’ stata la creazione di darknet. Ma non vi preoccupate, le hanno gia’ incistate. Tor e’ un prodotto della marina militare statunitense, quindi illudersi che sfugga al controllo e’ ridicolo. Darknet come I2P , Freenet e Mnet, HayStack, MUTE, JAP, Mixminion/MixMaster, MorphMix, Retroshare, non sono mai menzionate dalla stampa mainstream (nonostante su Freenet ci siano dei contenuti che definirei “raccapriccianti” non abbiamo ancora visto l’interesse che abbiamo visto per i market di Tor) , e quindi hanno poco seguito.

Quello che rimane sono le VPN, e devo dire che trovo curiosa la decisione di Linus Torvalds di piazzare WireGuard come default nel kernel. C’e’ da dire che questo rappresenta di fatto un colpo mortale a tutti gli altri software OSS che fanno VPN, dal momento che essendo nel kernel di ogni macchina linux ed essendo codice abbastanza sicuro (poco piu’ di 4K linee) diventera’ di fatto lo standard per le VPN, molto a breve.

La possibilita’ di creare vpn con quattro-cinque comodi comandi e senza la complessita’ di prima attirera’ di sicuro molti vendor, e anche molti utenti. Il problema? Il problema e’ che wireguard lavora solo sul layer 3.

Se volete crearvi una rete di tipo GRE, cioe’ crearvi una vera rete privata (come se vi foste attaccati ad uno switch con un cavo che cripta, tipo tinc ( https://www.tinc-vpn.org/ ), o come openvpn in modalita’ TAP, faticate molto. Dovete usare gretap e attaccarvi all’interfaccia wg che avete creato.

gretap: server

quelli sotto sono gli IP della wg0 sul server

ip link add gre1 type gretap remote 192.168.99.2 local 192.168.99.1
sleep 2
ip link set up dev gre1

gretap peer

quelli sotto sono gli IP della wg0 sul server

ip link add gre1 type gretap remote 192.168.99.1 local 192.168.99.2
sleep 2
ip link set up dev gre1

sebbene facilmente scriptabile , la cosa diventa una discreta gattina appesa ai coglioni, ma alla fine potete anche farvi qualcosa come una rete mesh.

Ma ancora una volta, per avere la soluzione full, quella in cui possedete la VOSTRA rete e ci fate quel che volete, occorre vincere la pigrizia. E’ piu’ facile comprare online una VPN, e sperare che sia vero quel che dice la pubblicita’.

In ogni caso, si potrebbe sicuramente costruire una scatolina che fa tutto questo e vi crea una rete overlay davvero privata, ma… come dicevo, un’azienda che lo facesse sarebbe illegale e verrebbe chiusa immediatamente. Oppure obbligata a fornire una backdoor.

Andiamo al Fediverso. Anche qui vedo che gli sceriffi sono al lavoro. Innanzitutto, stanno centralizzando la piattaforma, al punto che al fediverso ci si riferisce non come “Fediverso” ma sempre piu’ spesso come “Mastodon”. Nonostante le piattaforme siano una decina, qualcuno e’ stato “aiutato” (non mi raccontate che sia opera di due programmatori, santiddio!!) e Mastodon sta diventando lo standard de facto.

Ma la cosa assurda e’ che la situazione oggi e’ centralizzatissima: https://fediverse.network/?count=users

Se considerate che tutta la popolazione del fediverso ammonta a 4/5 milioni di persone, il fatto che una sola istanza ne contenga un milione vi fa capire quanto sia centralizzata la cosa. E se osservate la piattaforma, capite bene che se qualche entita’ governativa convincesse i programmatori a metterci una backdoor, avrebbe preso il controllo della rete, o quasi.

Ancora una volta, il fenomeno sta venendo arginato sfruttando la pigrizia delle masse, che non hanno voglia di installarsi un pod a casa propria. E come ho detto, l’azienda che mettesse in vendita una freedombox con sopra un pleroma da far girare su un qualsiasi raspi sarebbe immediatamente chiusa.

In definitiva, cioe’, il modo di manipolare la rete e chiudere in gabbia gli utenti esiste, e si basa sulla loro stessa pigrizia.

Chi si illude che su internet non ci siano sbarre, dovrebbe smettere di guardare ad Internet e cercare le sbarre dentro di se’. Come al solito, se volete un colpevole, non avete che da guardarvi allo specchio.

So che alcuni rispondono a questi discorsi dicendo “si, ma che cosa succede di male se rimaniamo come siamo”? Succede che voi siete poveri mentre Bezos ha abbastanza soldi che se vuole vi compra e vi usa come nanetti da giardino.

Perche’ cazzo credete che stiano aumentando le disuguaglianze economiche nell’era di Internet, se non per il fatto che avete dato potere ad altri, e i soldi seguono sempre il potere?

Fonte: https://keinpfusch.net/come-la-pigrizia-ha-ucciso-internet/

Lascia un commento

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