Cookie

trou de ver: transférer des fichiers en toute sécurité sur Internet

Publié par TheJoe sur

Temps de lecture estimé: 3 minutes

Attention


Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.

Il y a ceux qui utilisent Dropbox / Mega / Google Drive, qui les classiques e-mail, qui le e-mails cryptés, dépenser SSH / SCP et qui encore le Les lecteurs flash USB. Échanger des fichiers aujourd'hui demande une bonne dose d'imagination et un tri plus que minutieux des alternatives, ou nous courons le risque de tomber dans une erreur.

Il faut d'abord évaluer la sécurité des moyens par lesquels nous souhaitons transmettre les informations. Qu'il s'agisse des photos de vacances ou des fichiers de préférences de Firefox, demandons-nous si nous serions sereins si ces données pouvaient être “des lits” de quelqu'un d'autre.

Nous évaluons également la taille des données à transférer. Un mail a une capacité limitée dictée par le serveur / gestionnaire de services (et il faut vérifier que la taille est autorisée par notre responsable et celle de destination).

Nous évaluons le simplicité Système, l'intelligibilité des données que nous devrons insérer dans le logiciel. Tout le monde n'est pas aussi doué pour écrire rapidement des hachages, du premier coup, sans fautes. Et par simplicité on entend aussi l'éventualité qu'il soit nécessaire d'ouvrir certains ports sur le routeur, pare-feu, ordinateur de réception… avoir même une connaissance discrète du réseau et de son fonctionnement peut ne pas être défini “simples”.

Nous évaluons le distance géographique entre le point d'envoi et le point de réception. Nous aimons tellement notre prochain, mais nous n'échangerons pas de fichiers avec lui seul.

Une fois que nous avons évalué tous ces aspects, nous évaluons l'utilisation de Wormhole, que ces faiblesses n'en ont pas.

Wormhole est un petit utilitaire de ligne de commande disponible pour Linux (de nombreuses distributions) et macOS (pas de fenêtres). Trou de ver permette, à travers une syntaxe intelligible, pour transmettre tout type de fichier, de toute taille, de l'ordinateur source à l'ordinateur de destination sans intermédiaires. Oh, et… j'ai déjà dit que c'est open source?

Le fonctionnement de Wormhole sur le web est globalement celui de NetCat sur le LAN. Vous pourriez être intéressé par un article où j'ai parlé de NetCat.

Pour une application python aussi légère, ce qu'il fait est vraiment hors de ce monde. Comme avec NetCat, il vous suffit de lancer la commande appropriée sur le serveur, accompagné de la localisation du dossier à transmettre, et exécutez la commande “accueil” sur le client pour lancer le téléchargement. C'est plus long à expliquer qu'à faire.

Serveur (l'ordinateur sur lequel réside le fichier à transmettre)

~$ 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 (l'ordinateur qui recevra le fichier)

~$ 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 chose intéressante est la clé générée: dans ce cas deux termes et un nombre. Quelque chose de simple à écrire ou à dire (au cas où nous serions au téléphone). Les codes de trou de ver sont jetables, donc quand tu l'as utilisé (ou tu ne l'auras pas utilisé) le code sera perdu.

Regardez ici:  Vidéo stabiliser vos vidéos con Linux: stabiliser un vidéo tremblotante avec Transcode pt. 2

Avec Wormhole, vous pouvez transférer des fichiers ou des répertoires. Les répertoires sont compressés avant le transfert.

Ce sera en sécurité?

Réponse courte: “vous”.

Longue réponse: Wormhole utilise PAKE (Échange de clés authentifié par mot de passe) chiffrer les données (l'algorithme SPAKE2).

La bibliothèque de trous de ver nécessite un “Serveur de rendez-vous”: un relais simple basé sur WebSocket qui transmet les messages d'un client à un autre. Cela permet aux codes Wormhole d'omettre les adresses IP et les numéros de port. L'URL d'un serveur public est entrée dans la bibliothèque pour être utilisée par défaut et sera disponible jusqu'à ce que le volume ou l'abus rende impossible le support.

Les commandes de transfert de fichiers utilisent un “Relais de transit”, qui est un autre serveur simple qui relie deux connexions TCP entrantes et transfère des données entre elles. Le mode d'envoi de fichier Wormhole partage les adresses IP de chaque client avec l'autre (dans le message crypté) et les deux clients essaient d'abord de se connecter directement. S'il échoue, ils recommencent à utiliser le relais de transit.

Si ce n'est toujours pas clair, je vous recommande de regarder le discours de Brian Warner à PyCon del 2016 dans lequel on parle presque exclusivement de sécurité.

Installation

Avec les principales distributions, il sera assez facile de rechercher le paquet “magic-wormhole” au sein des dépôts. Ceux qui ne peuvent pas le trouver dans les dépôts de leur distribution peuvent essayer avec snap.

~$ sudo snap install wormhole

Pour plus d'informations le projet Wormhole est hébergé sur GitHub.


TheJoe

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

0 commentaires

Laisser un commentaire

Espace réservé d'avatar

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.