Mettre en place un relais Tor avec Docker

Je fais encore partie de l’infime groupe de personnes ayant encore une Dedibox Kidéchire de chez Online avec un petit VIA Nano U2250, 2Go de RAM DDR2 et d’un disque dur de 150Go pour la modique somme de 2.99€/mois. Ce serveur qui aujourd’hui me sert juste à héberger ce site Internet et un serveur mail qui va disparaitre, rien d’autre ne tourne dessus. J’ai donc eu l’idée géniale de mettre un serveur Tor dessus mais en utilisant Docker.

 

Pourquoi mettre un relais Tor dans un conteneur ?

Si j’ai décidé de mettre mon second relais Tor dans un conteneur c’est parce que sur le serveur qui héberge mon premier relais Tor, disons que quand il y a du monde, ça consomme en ressources !

tor_consumption

Pour contrer à ce problème, il est possible lors du démarrage du conteneur de lui limiter les ressources CPU, RAM, I/O et même réseau. Nous verrons un peu plus tard comment faire. Ensuite vient la sécurité. Isoler le programme est une bonne idée … mieux vaut être prudent ….

Il y a aussi un dernier point …… j’aime Docker 😍

 

Installation

Il existe un tas de dépôts et d’images déjà conçus pour créer un conteneur avec un relais Tor mais j’ai préféré faire le mien. Disponible au téléchargement soit sur GitHub soit sur Docker Hub. L’installation est très simple et prendra moins de 5 minutes 😉

 

Premièrement, il est nécessaire de récupérer les fichiers principaux, à vous de voir par quel moyen vous préférez récupérer vos dépôts mais pour ma part, je vais utiliser la technique avec Docker.

docker pull themimitoof/tor-relay

Ensuite, on modifie le fichier torrc afin qu’il convienne parfaitement à nos besoins. Parmi les lignes figurant dans le fichier, vous devrez modifier les lignes :

  • Nickname : nom de votre relais
  • ContactInfo : vos informations de contact (adresse e-mail, clé PGP)
  • RelayBandwithRate : bande passante allouée au relais Tor (vous pouvez supprimer la ligne si vous souhaitez alloué toute la bande passante disponible)
  • RelayBandwidthBurst : bande passante burst (petit surplus en cas de très forte affluence) allouée au relais Tor (vous pouvez supprimer la ligne si vous souhaitez alloué toute la bande passante disponible)
  • (Optionnel) DirPort et ORPort si vous souhaitez changer le port OnionRoutage et DirectoryProtocol.

Si vous éditez les paramètres de DirPort et ORPort, pensez à changer les paramètres de la ligne EXPOSE dans le fichier Dockerfile. Si vous souhaitez mettre en place un relais de sortie, je vous invite à suivre mon article Mettre en place un relais Tor.

Maintenant que votre fichier de configuration est prêt, on va construire le conteneur en tapant la commande suivante :

docker build -t tor-relay .

On va dire à docker de construire le conteneur en lui attribuant un tag nommé tor-relay puis d’utiliser le fichier Dockerfile contenu dans le dossier actuel (le petit point) puis il va télécharger toutes les dépendances, installer le paquet Tor et copier le fichier de configuration.

successful_build_docker

Nous ne sommes désormais plus qu’à une commande du lancement de votre relais Tor ! Allons-y ! Démarrons notre relais Tor avec la commande :

docker run -dit --name monsuperrelais tor-relay

Avec cette commande on dit à docker exécute-moi le conteneur tor-relay en arrière-plan et avec comme nom de repère monsuperrelais.

Et voilà ! Votre relais est fonctionnel et se situe dans un conteneur ! Mais si vous aussi vous cherchez à limiter les ressources, voici les paramètres supplémentaires à ajouter à la commande précédente :

  • -c : un chiffre entre 0 et 1024 pour dire à Docker combien de pourcentage il est autorisé à prendre sur le CPU (par exemple pour 50% : 614 parce que 60*1024/100 = 614)
  • –cpuset-cpus= » » : un chiffre ou une tranche pour dire à Docker combien de cœurs sera alloué au conteneur (par exemple 0-3 pour allouer les 4 premiers cœurs au conteneur)
  • -m : un chiffre suivi d’une unité pour dire à Docker combien de mémoire vive sera alloué au conteneur (par exemple 1024M ou 1G pour 1Go de RAM soit pour rappel 1Go=1024Mo=1024000000 Octets=8192000000 bits … YOLO donc)
  • Plus d’informations disponibles sur la documentation Docker (limitation I/O, réseau, mémoire vive, CPU)

Dans mon cas par exemple, j’ai utilisé la commande suivante :

docker run -dit --name discovery-tmtf -c 410 -m 300M tor-relay

J’ai donc dit à Docker d’appeler mon conteneur discovery-tmtf parce que c’est le nom de mon relais, j’ai alloué 40% de mon processeur et 300Mo de mémoire vive.

Il ne vous reste plus qu’à attendre quelques heures (entre 2 et 24 heures) pour voir votre relais apparaître sur Globe et voir que votre relais est utilisé par plusieurs personnes partout dans le monde !

L’article Mettre en place un relais Tor avec Docker est apparu en premier sur Themimitoof.fr.

Vus : 556
Publié par themimitoof : 5