Installer un noeud Duniter anonyme avec Tor et Whonix

Bonjour,

dans ce tutoriel nous allons installer ensemble un noeud Duniter totalement anonyme et in-traçable ! C’est beaucoup plus simple qu’il n’y parait et accessible a tout utilisateur de gnu/linux capable de copier/coller des commandes dans un terminal 🙂

Alors évidemment nous allons installer un noeud Duniter miroir (=non-membre), car actuellement les nœuds membres utilisent leur clé de membre comme clé réseau ce qui empêche l’anonymat, je prévois de régler ce problème pour la version 1.7 de Duniter qui devrait sortir à l’automne 2018, voir à a ce sujet le ticket #1182.

Pour faire les choses proprement nous allons utiliser whonix, afin d’isoler Duniter dans une machine virtuelle qui n’aura accès qu’a un réseau local virtuel auquel sera relié une seule autre machine virtuelle passerelle qui redirigera tout le trafic vers Tor.
Ainsi même en cas de faille de sécurité et d’attaque de la VM* il n’y  a aucune chance que des données fuites en clair sur le réseau.

Dans tout ce tutoriel j’utiliserai l’acronyme VM qui signifie Virtual Machine en anglais (Machine Virtuelle en français).

Voici le Sommaire :

1. Téléchargement,  importation et configuration des VM whonix
2. Lancement de la VM passerelle et configuration des hidden service
3. Lancement de la VM  « poste de travail », installation et configuration de Duniter
4. Facultatif : installation et configuration de Tor sur votre pc de bureau pour accéder  à l’interface graphique de votre noeud Duniter

I. Téléchargement,  importation et configuration des Machines Virtuelles whonix

Pour réaliser cette première parti vous pouvez suivre l’excellent tutoriel vidéo de Paf legeek :  https://youtu.be/ahFRWC8fPMs
Puis reprendre ce présent tutoriel a la partie 2b.

Pour ceux qui préfère la version texte, la voici :
Dans ce tutoriel nous utiliserons Virtualbox, mais whonix fonctionne aussi avec KVM et d’autres systèmes de virtualisation (référez vous a la doc officielle de whonix si intéressé).

Tout d’abord nous allons installer Virtualbox (sauf si vous l’avez déjà) et télécharger les deux machines virtuelles whonix, tout les liens sont ici : https://www.whonix.org/wiki/VirtualBox
Tout est en anglais mais rassurez vous, vous devez simplement télécharger les deux machines virtuelles Whonix-Gateway et  Whonix-Workstation.  Ces deux termes barbares signifient juste « Passerelle » et « Poste de travail ». Les deux fichiers sont assez gros (plusieurs Go).
Vous devez également télécharger et installer virtual box si vous ne l’avez pas déjà,les liens de téléchargement sont sur la même page : https://www.whonix.org/wiki/VirtualBox

Une fois VirtualBox installé et les deux VM whonix téléchargées vous devez les importées dans VirtualBox.
Ouvrez VirtualBox puis cliquez sur Fichier -> Importer une application virtuelle.
Une nouvelle fenêtre s’ouvre, cliquez alors sur le petit dossier pour accéder a vos documents puis sélectionner l’un des machines virtuelles que vous avez télécharger.
Patientez… puis lorsque l’import est fini faîte de même avec l’autre.

Ensuite, si votre ordinateur est récent et puissant, je vous recommande d’augmenter les capacités matérielles alloués aux VMs, surtout a Workstation. La machine passerelle ne fera rien d’autre que son rôle de passerelle, elle n’a donc pas besoin de performances élevés 🙂
Pour chaque VM vous pouvez cliquer sur configuration et augmenter par exemple la mémoire vive, le nombre de processeur, le pourcentage max du processeur hôte utilisable, etc
Surtout pensez a augmenter la mémoire vidéo de Whonix-Workstation a au moins 128 Mo !

II. Lancement de la VM « passerelle » et configuration des hidden service

a. Lancement de la Machines Virtuelle Passerelle

Double cliquez sur la VM Whonix-Gateway, une nouvelle fenêtre s’ouvre sur fond noir, c’est la VM qui démarre.
Attendez quelques minutes que la VM est finie de démarrer, lorsqu’elle a finie elle devrait lancée l’environnement de bureau KDE, puis sans que vous n’ayez rien a faire la VM va lancer un check complet et vérifier que tout est bien a jours, tout ça peut prendre du temps si votre ordinateur hôte n’est pas très puissant, soyez patient 🙂

Une fois le check complet terminé, un rapport vous signale tout les éléments qui ne sont pas parfaitement a jour et comment les mettre à jour. A tout les coup vous aurez au moins debian a mettre à jours. Double cliquez sur l’icône de la Konsole puis copier y la commande :

sudo apt-get update && sudo apt-get dist-upgrade

il se peut que le copier/coller ne fonctionne pas, dans ce cas vous devrez saisir manuellement la commande dans la VM, attention le clavier est en qwerty !
Maintenant vous pouvez faire autre chose, partir prendre le thé, faire votre sport ou que sait-je parce que ça peut prendre plus de 30 min ! En effet tout les paquets vont être téléchargés via Tor, et selon le chemin qui vous ai attribué pour cette session votre débit peut être très faible.

Une fois cette mise à jour terminée, nous allons enfin passer a la partie intéressante de ce tutoriel : la configuration des hidden service.

b. Configuration des hidden service

En effet avoir un noeud Duniter miroir privé ne sert à rien, il faut au moins qu’il soit accessible publiquement pour contribuer pleinement au réseau P2P et même alimenter les futurs clients Tor (pour l’instant c’est déjà possible avec Cesium cf. mon article Utiliser la Ğ1 anonymement).
De plus, a partir de duniter 1.6 il est fortement conseillé d’utiliser l’interface graphique de Duniter pour visualiser ses connexions WS2P.
Nous allons donc créer deux hidden service : un public pour vos endpoint WS2P Public et BMA (en mode passif BMA ne coûte rien) et un privé pour accéder à l’interface graphique d’administration du noeud Duniter.

Pour configurer ces hidden service il faut éditer le fichier /etc/tor/torrc sur la VM Gateway et y ajouter les lignes suivantes à la fin :

HiddenServiceDir /var/lib/tor/public_hidden_service/
HiddenServicePort 10901 10.152.152.11:10901
HiddenServicePort 20901 10.152.152.11:20901

HiddenServiceDir /var/lib/tor/private_hidden_service/
HiddenServicePort 80 10.152.152.11 9220
HiddenServiceAuthorizeClient stealth NOM_DE_VOTRE_CHOIX

Remplacez NOM_DE_VOTRE_CHOIX par une chaîne de caractères de 1 à 16 caractères comportant uniquement des lettres, des chiffres et les symboles +-_
Elle sert à nommé le client qui sera autorisé a accéder a l’hidden service privé, en l’occurrence vous, mais ce nom n’est utilisé qu’en interne, donc mettez ce que vous voulez on s’en fou (toto marche très bien).

Explications :
l’ip 10.152.152.11 est l’ip locale de la VM Workstation sur laquelle sera exécuté Duniter, les ports officiels pour les API publiques sont 10901 pour BMA et 20901 pour WS2P. Quand au port 9220 c’est le port par défaut pour l’API privé utilisée par l’interface graphique d’adminstration.

Enregistrez et fermez le fichier puis vérifiez que votre configuration est bonne avec un cat /etc/tor/torrc :

Une fois que la config est bonne et le fichier torrc bien enregistré, demandez a Tor de recharger sa configuration via la commande suivante :

sudo service tor@default reload

Et voilà Tor a générer vos hidden services, il ne reste plus qu’a récupérer vos .onion et votre clé pour accéder à l’hidden service privé.

Votre .onion public :

$ cat /var/lib/tor/public_hidden_service/hostmane
toefa6zlbcyvqzlg.onion

Votre .onion privé et votre clé (copier:coller ces informations en lieu sûr, nous en auront besoin en partie 4)

$ cat /var/lib/tor/private_hidden_service/hostmane
3asufnydqmup533h.onion ********************** # client: toto

je vous avait bien dit qu’avec toto ça fonctionne ^^ Votre clé doit faire exactement 22 caractères !

Une fois que vous avez copier toutes ces informations en lieu sûr nous pouvons passer a la partie 3 🙂

 

III. Lancement de la VM  « poste de travail », installation et configuration de Duniter

Surtout gardez la VM Passerelle ouverte, vous pouvez réduire la fenêtre pour qu’elle ne vous gène pas mais il ne faut pas la fermée !

Double cliquez sur la VM Whonix-Workstation, une nouvelle fenêtre s’ouvre sur fond noir, c’est la VM qui démarre.
Attendez quelques minutes que la VM est finie de démarrer, lorsqu’elle a finie elle devrait lancée l’environnement de bureau KDE, puis sans que vous n’ayez rien a faire la VM va lancer un check complet et vérifier que tout est bien a jours, tout ça peut prendre du temps si votre ordinateur hôte n’est pas très puissant, soyez patient 🙂

Bref, c’est exactement les mêmes étapes que pour la VM gateway et tout cela est déjà très bien expliqué dans la vidéo de Paf legeek, je ne vais pas revenir dessus !

Une fois votre VM Workstation bien à jours nous allons enfin pouvoir installer Duniter. Et là vous avez de la chance, j’ai pris la peine de compiler et packager moi-même  un paquet debian x86 qui fonctionne sur whonix, vous n’avez plus qu’a vous en servir :p

Attention Duniter ne fonctionne correctement dans Tor qu’a partir de la version 1.6.11 et supérieur, n’installez surtout pas la version 1.5, votre noeud ne serai pas accessible et ne servirai a rien…

Pour la version 1.6.21 les commandes sont :

wget https://git.duniter.org/nodes/typescript/duniter/uploads/771fa4354b4756c1a4d4e8c147b8072b/duniter-server-v1.6.21-linux-x86.deb
sudo dpkg -i duniter-server-1.6.21-linux-x86.deb

Une fois l’installation terminée il vas falloir configurer votre noeud correctement, c’est là que nous allons avoir besoin de l’adresse .onion de votre hidden service public.
Pour configurer WS2P :

duniter config --ws2p-public ws2p-noupnp --ws2p-remote-host VOTRE_ADRESSE_ONION --ws2p-remote-port 20901 --ws2p-host 10.152.152.11 --ws2p-port 20901

Puis configurez BMA avec la commande interactive duniter wizard network :


Donnez les mêmes réponses que sur cette capture d’écran sauf pour « DNS name » ou vous devez renseigner votre adresse .onion correspondante a votre public_hidden_service.

Enfin nous devons signaler a Duniter qu’il est encapsulé dans une VM Tor avec l’option –force-tor, et bien sûr activer BMA pour alimenter les clients tor :

duniter config --force-tor --bma

Nous allons maintenant synchroniser Duniter sur la Ğ1, nous allons utiliser l’option –slow sinon le réseau vas planter par engorgement, la sync rapide est trop gourmande en ressources réseau pour pouvoir être utilisée via Tor.
vous pouvez vous synchronisez sur un noeud  tor existant, j’en ai plusieurs qui tournent en permanence, par exemple 3k2zovlpihbt3j3g.onion :

duniter sync 3k2zovlpihbt3j3g.onion 80 --slow

Et maintenant vous pouvez aller prendre un thé, ou faire votre sport ou que sait-je car ça va être longs…

Enfin, lancez votre noeud Duniter, si vous souhaitez accéder à l’interface graphique rajoutez l’option « –webmhost 10.152.152.11 » afin d’indiquer a l’interface graphique d’écoutée sur l’ip locale plutôt, que sur localhost :

duniter webstart --webmhost 10.152.152.11

Pour vérifier que votre noeud Duniter s’est bien lancé et fonctionne regardez un peu les log défiler avec la commande :

duniter logs

Pour ceux qui ne souhaitent pas utiliser l’interface graphique vous pouvez checker a tout moment l’état de vos connexions ws2p grâce a une requête curl :

curl localhost:9220/webmin/network/ws2p/info

IV. Facultatif : installation et configuration de Tor sur votre pc de bureau pour accéder  à l’interface graphique de votre noeud Duniter

Maintenant votre noeud Duniter full Tor fonctionne pleinement mais ce serait bien si vous pouviez accéder a votre interface graphique non ?

Pour ce faire il va falloir installer Tor Browser sur l’ordinateur a partir duquel vous souhaitez accéder a votre interface graphique d’administration, ça peut être la machine hôte qui héberge les VM whonix ou tout autre machine qui vous appartient.

Suivez la procédure d’installation de Tor Browser : https://www.torproject.org/download

Une fois Tor Browser installer, modifiez le fichier de configuration torrc, il se trouve dans le dossier  de votre Tor Browser dans le sous-dossier Browser/TorBrowser/Data/Tor/ et ajoutez y a la fin la ligne suivante :

HidServAuth ADRESSE_ONION_PRIVEE CLE_DE_22_CARACTERES

Remplacez bien sur ADRESSE_ONION_PRIVEE par l’adresse .onion de votre hidden service privé récupérée en partie 2 et CLE_DE_22_CARACTERES par votre clé de 22 caractère que vous avez récupérer en même temps. Vous devez ensuite recharger Tor :

sudo service tor reload

Enfin pour accéder a l’interface graphique d’administration de votre noeud Duniter, redémarrez votre Tor Browser puis rendez-vous a votre adresse .onion privée 🙂

Il s’agit d’un stealth hidden service, c’est à dire que personne d’autre que vous ne peut y accéder. Mieux encore, si quelqu’un essaye votre .onion privé par hasard il n’aura pas de réponse et croira donc que ce .onion n’existe pas 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.