Wormhole: trasferire file in modo sicuro su internet

wormhole

Pubblicato da TheJoe il 6 Settembre 20216 Settembre 2021

Tempo di lettura stimato: 3 minuti

C’è chi usa Dropbox / Mega / Google Drive, chi le classiche e-mail, chi le e-mail criptate, chi SSH / SCP e chi ancora le chiavette USB. Scambiarsi i file oggi richiede una buona dose di fantasia e un vaglio delle alternative più che attento, o corriamo il rischio di cadere in qualche errore.

Prima di tutto occorre valutare la sicurezza del mezzo con cui vogliamo trasmettere le informazioni. Siano esse le fotografie delle vacanze o i file delle preferenze di Firefox chiediamoci se saremmo tranquilli qualora quei dati potessero essere “letti” da qualcun altro.

Valutiamo anche la dimensione dei dati da trasferire. Una mail ha una capacità limitata dettata dal server / gestore del servizio (e occorre controllare che la dimensione sia consentita dal nostro gestore e da quello di destinazione).

Valutiamo la semplicità del sistema, l’intelligibilità dei dati che dovremo inserire nel software. Non tutti sono così bravi a scrivere gli hash velocemente, al primo colpo, senza errori. E per semplicità intendiamo anche l’eventualità che occorra aprire qualche porta su router, firewall, computer ricevente… avere una conoscenza anche solo discreta della rete e del suo funzionamento può non essere definito “semplice”.

Valutiamo la distanza geografica tra il punto di invio e quello di ricezione. Vogliamo tanto bene al nostro vicino di casa, ma non scambieremo i file solo con lui.

Una volta che abbiamo valutato tutti questi aspetti valutiamo l’utilizzo di Wormhole, che questi punti deboli non li ha.

Wormhole è una piccola utility a riga di comando disponibile per Linux (moltissime distribuzioni) e MacOS (niente Windows). Wormhole permette, attraverso una sintassi intelligibile, di inoltrare qualsiasi tipo di file, di qualsiasi dimensione, dal computer di origine a quello di destinazione senza intermediari. Oh, e… ho già detto che è open source?

Il funzionamento di Wormhole sul web è a grandi linee quello di NetCat sulla LAN. Forse ti interesserà un articolo in cui parlavo di NetCat.

Per una applicazione python così leggera, ciò che fa è veramente fuori dal mondo. Come con NetCat ti basterà lanciare il comando relativo sul server, corredato dalla posizione del file da inoltrare, e lanciare il comando di “ricezione” sul client per avviare il download. È più lungo da spiegare che da fare.

Server (il computer in cui risiede il file da inoltrare)

~$ wormhole send README.md
Sending 7924 byte file named 'README.md'
On the other computer, please run: wormhole receive
Wormhole code is: 7-crossover-clockwork Sending (<-10.0.1.43:58988)..
100%|=========================| 7.92K/7.92K [00:00<00:00, 6.02MB/s]
File sent.. waiting for confirmation
Confirmation received. Transfer complete.

Client (il computer che riceverà il file)

~$ wormhole receive
Enter receive wormhole code: 7-crossover-clockwork
Receiving file (7924 bytes) into: README.md
ok? (y/n): y
Receiving (->tcp:10.0.1.43:58986)..
100%|===========================| 7.92K/7.92K [00:00<00:00, 120KB/s]
Received file written to README.md

La cosa interessante è la chiave generata: in questo caso due termini e un numero. Qualcosa di semplice da scrivere o da dire (nel caso fossimo al telefono). I codici di Wormhole sono usa e getta, quindi quando lo avrai usato (o non lo avrai usato) il codice sarà perso.

.u2a0a912daf261a6db3867b3806a4f2df , .u2a0a912daf261a6db3867b3806a4f2df .postImageUrl , .u2a0a912daf261a6db3867b3806a4f2df .centered-text-area { min-height: 80px; position: relative; } .u2a0a912daf261a6db3867b3806a4f2df , .u2a0a912daf261a6db3867b3806a4f2df:hover , .u2a0a912daf261a6db3867b3806a4f2df:visited , .u2a0a912daf261a6db3867b3806a4f2df:active { border:0!important; } .u2a0a912daf261a6db3867b3806a4f2df .clearfix:after { content: “”; display: table; clear: both; } .u2a0a912daf261a6db3867b3806a4f2df { display: block; transition: background-color 250ms; webkit-transition: background-color 250ms; width: 100%; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #E67E22; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); } .u2a0a912daf261a6db3867b3806a4f2df:active , .u2a0a912daf261a6db3867b3806a4f2df:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #D35400; } .u2a0a912daf261a6db3867b3806a4f2df .centered-text-area { width: 100%; position: relative; } .u2a0a912daf261a6db3867b3806a4f2df .ctaText { border-bottom: 0 solid #fff; color: #ECF0F1; font-size: 16px; font-weight: bold; margin: 0; padding: 0; text-decoration: underline; } .u2a0a912daf261a6db3867b3806a4f2df .postTitle { color: #2C3E50; font-size: 16px; font-weight: 600; margin: 0; padding: 0; width: 100%; } .u2a0a912daf261a6db3867b3806a4f2df .ctaButton { background-color: #D35400!important; color: #ECF0F1; border: none; border-radius: 3px; box-shadow: none; font-size: 14px; font-weight: bold; line-height: 26px; moz-border-radius: 3px; text-align: center; text-decoration: none; text-shadow: none; width: 80px; min-height: 80px; background: url(https://thejoe.it/wordpress/wp-content/plugins/intelly-related-posts/assets/images/simple-arrow.png)no-repeat; position: absolute; right: 0; top: 0; } .u2a0a912daf261a6db3867b3806a4f2df:hover .ctaButton { background-color: #E67E22!important; } .u2a0a912daf261a6db3867b3806a4f2df .centered-text { display: table; height: 80px; padding-left: 18px; top: 0; } .u2a0a912daf261a6db3867b3806a4f2df .u2a0a912daf261a6db3867b3806a4f2df-content { display: table-cell; margin: 0; padding: 0; padding-right: 108px; position: relative; vertical-align: middle; width: 100%; } .u2a0a912daf261a6db3867b3806a4f2df:after { content: “”; display: block; clear: both; }

Guarda qui:  “Livellare” il volume della nostra libreria MP3 con MP3Gain

Con Wormhole si possono inoltrare file o directory. Le directory vengono compresse prima dell’inoltro.

Sarà sicuro?

Risposta breve: “si”.

Risposta lunga: Wormhole utilizza PAKE (Password Authenticated Key Exchange) per criptare i dati (l’algoritmo SPAKE2).

La libreria del wormhole richiede un “Rendezvous Server”: un semplice relay basato su WebSocket che recapita messaggi da un client all’altro. Ciò consente ai codici di Wormhole di omettere indirizzi IP e numeri di porta. L’URL di un server pubblico viene inserito nella libreria per essere utilizzato come impostazione predefinita e sarà disponibile fino a quando il volume o l’abuso non lo renderanno impossibile da supportare.

I comandi di trasferimento file utilizzano un “Transit Relay”, che è un altro semplice server che unisce due connessioni TCP in entrata e trasferisce i dati l’una sull’altra. La modalità di invio file di Wormhole condivide gli indirizzi IP di ciascun client con l’altro (all’interno del messaggio crittografato) ed entrambi i client tentano prima di connettersi direttamente. Se fallisce, tornano a usare il transit relay.

Se ancora non è chiaro consiglio la visione dell’intervento di Brian Warner al PyCon del 2016 in cui si parla quasi esclusivamente di sicurezza.

[embedded content]

Installazione

Con le principali distribuzioni sarà piuttosto semplice cercare il pacchetto “magic-wormhole” all’interno dei repository. Chi invece non riuscisse a trovarlo nei repository della sua distribuzione può provare con snap.

~$ sudo snap install wormhole

Per maggiori informazioni il progetto Wormhole è ospitato su GitHub.


Fonte: https://thejoe.it/2021/09/06/wormhole-trasferire-file-in-modo-sicuro-su-internet/

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

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

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