{{tag>Xenial proxy sécurité anonymat serveur }} {{ https://styleguide.torproject.org/static/images/tor-logo/color.png|Logo de Tor}} ====== Tor : Réseau Anonyme ====== **[[wpfr>Tor_(réseau)|Tor]]** est un acronyme pour //The Onion Router// (le routeur en oignon : c'est-à-dire organisé en couches, comme les oignons) qui désigne un réseau informatique décentralisé permettant l'anonymat des clients, reposant sur des serveurs spécifiques appelés //nœuds//. Le but de **Tor** est de se protéger de l'analyse de trafic, une forme de surveillance des réseaux qui menace **l'anonymat et la confidentialité** des personnes, les activités et les rapports confidentiels commerciaux. Avec **Tor**, les communications rebondissent à travers un réseau de serveurs distribués (Nœuds), appelés //onion routers//, qui vous protègent contre les sites web qui enregistrent les pages que vous visitez, contre les observateurs externes, et contre les onion routers eux-mêmes. **Tor** réduit les risques d'analyses de trafic simples ou sophistiquées, en répartissant vos transactions entre plusieurs endroits de l'Internet. On ne peut donc pas, en observant un seul point, vous associer à votre destinataire. C'est comme utiliser un chemin tortueux et difficile à suivre pour semer un poursuivant (tout en effaçant de temps en temps ses traces). Au lieu d'emprunter un itinéraire direct entre la source et la destination, les paquets de données suivent une trajectoire aléatoire à travers plusieurs serveurs qui font disparaître vos traces. Personne ne peut donc déduire de l'observation d'un point unique, ni d'où viennent, ni où vont les données. ==== Tor Browser ==== **[[https://www.torproject.org/download/|Tor Browser]]** est un navigateur web basé sur une version long support de Firefox pré-configuré (gestion des cookies) et avec des extensions pré-installés (HTTPS-Everywhere, NoScript, Torbutton, TorLauncher) utilisant le réseau **Tor**. ==== Mise en garde ==== L'[[:anonymat]], c'est bien mais ça ne permet pas d'aller partout, par exemple les utilisateurs de **Tor** sont bannis de certains canaux sur [[:IRC]] comme ''#ubuntu'' sur freenode. [[wpfr>Wikipédia]] interdit l'édition des pages wiki à un utilisateur se servant de **Tor**, que ce soit pour les utilisateurs inscrits ou les anonymes (adresse IP). D'autre part, on peut remarquer une baisse de vitesse dans les connexions donc si vous aimez surfer rapidement, vous allez être déçu. L'[[:anonymat]] n'est pas synonyme de [[:sécurité]], en effet votre adresse IP est masquée et les données transitant entre les relais sont chiffrées par **Tor**, mais les données transitant entre le dernier relais et leur destination finale peuvent circuler en clair avec le protocole HTTP (sans S). **Tor** ne suffit donc pas en matière de sécurité : il faut toujours utiliser HTTPS, en particulier avec les mécanismes d'authentification. Sachez aussi que même avec HTTPS, vos données peuvent être interceptées ! Certains logiciels comme **SSLstrip**, permettent de //sniffer// les données chiffrées au niveau du dernier relais. Voir [[https://www.sindark.com/2009/02/21/the-ssl-strip-exploit/|ici]] et [[http://nspill.blogspot.com/2010/04/tor-exit-node-sslstrip.html|là]]. ===== Installation ===== L'application **Tor** est un [[:proxy]] qu'on peut utiliser pour rediriger n'importe quel trafic [[:Internet]] sur le réseau **Tor**. Comme on l'utilise généralement simplement pour naviguer sur le [[:Web]] de manière anonyme, le **Projet Tor** fournit le [[:navigateur]] **[[#Tor Browser]]**, une version de [[:Firefox]] optimisée et pré-configurée par l'équipe du **Projet Tor**.\\ Cette méthode est simple et rapide pour surfer avec **Tor** (et proposer un relais à la communauté ponctuellement), tout en étant parfaitement sécurisée. Il existe plusieurs méthodes //au choix// pour installer **Tor** ou **Tor Browser** : * **Tor** et **Tor Browser** sont disponibles dans les [[#dépôts officiels APT]] d'Ubuntu. * Il existe aussi un paquet **Tor Browser** officiel en [[#Flatpak]]. * On peut aussi l'installer [[#manuellement]] depuis le site officiel. ==== Dépôts officiels APT ==== Pour installer le [[:proxy]] **Tor** depuis les [[:dépôts]] Ubuntu, [[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>tor]]''. Il n'est cependant pas nécessaire d'installer le paquet ''[[apt>tor]]'' séparément pour installer le [[:navigateur]] depuis les [[:depots#dépôts officiels]]. Il suffit d'[[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>torbrowser-launcher]]''. Cette application va télécharger le navigateur lors de son premier lancement. ==== Flatpak ==== **[[#Tor Browser]]** est aussi distribué par ses développeurs en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/org.torproject.torbrowser-launcher|Flathub]]. On peut donc l'obtenir en [[:flatpak#installation|installant Flatpak]] avec le [[:flatpak#ajout_du_depot_flathub|dépôt Flathub]] si ce n'est pas déjà fait, puis en installant ''Tor Browser Launcher'' depuis [[:gnome-software|GNOME Logiciels]], ou en [[:gerer_flatpak#installation_d_applications|installant le paquet]] ''[[https://flathub.org/fr/apps/org.torproject.torbrowser-launcher|org.torproject.torbrowser-launcher]]'' en ligne de commande : flatpak install org.torproject.torbrowser-launcher ==== Manuellement ==== Pour installer **Tor Browser** depuis le site officiel : - Rendez-vous sur la page de [[https://www.torproject.org/download/|téléchargement de **Tor Browser**]], puis cliquez sur le lien //Download for Linux//. - Vérifiez la signature de l'archive :\\ Il est fortement recommandé de vérifier la signature de l'archive pour être sûr que l'archive n'est pas corrompue par un tiers ou par le réseau.\\ Cliquez sur le lien //Signature// en dessous du bouton qui vous a permis de télécharger **Tor Browser**, enregistrez la signature ''.asc'' dans le même répertoire que l'archive **Tor Browser**.\\ \\ Dans une fenêtre de [[:terminal]], exécutez les commandes suivantes afin de récupérer et vérifier la clé de signature :\\ **(//en//)** [[https://support.torproject.org/tor-browser/getting-started/verifying-tor-browser|documentation officielle]] - Extraire les fichiers : vous pouvez extraire les fichiers où vous voulez et par exemple déplacer le répertoire ''tor-browser'' dans votre [[:arborescence#répertoire personnel]]. - Supprimer les archives et autres répertoires d'extraction :rm -r ~/Téléchargements/tor-browser-linux-x86_64* ===== Utilisation ===== {{ https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tor_Browser_icon.svg/3840px-Tor_Browser_icon.svg.png?100|Icône de Tor Browser}} ==== Avec le paquet torbrowser-launcher ==== Pour lancer **Tor Browser**, on peut * soit, utiliser un [[:terminal]] pour entrer la commande :torbrowser-launcher * soit, ouvrir [[:gnome-shell#la vue des applications]] et cliquer sur l'icône //Tor Browser//. Lors de la première exécution, le navigateur sera téléchargé, ce qui peut prendre du temps. ==== Avec Tor Browser installé manuellement === Il vous suffit de double-cliquer sur ''start-tor-browser'' dans le dossier d'extraction du logiciel, et de confirmer en cliquant sur //Lancer//. Il existe aussi un [[:raccourci-lanceur|lanceur]] ''start-tor-browser.desktop''. ==== Maintenir Tor Browser à jour ==== Il est très important de maintenir **Tor Browser** à jour ! **Tor Browser** vous fait savoir qu'il n'est plus à jour au démarrage. Si vous manquez la fenêtre qui propose la mise à jour rendez-vous dans //Aide// -> //À propos du Navigateur Tor//. Si une mise à jour est disponible elle sera affichée. Cliquez sur le lien pour effectuer la mise à jour. ==== Utiliser le réseau Tor avec l'application de son choix ==== On peut utiliser le [[:proxy]] **Tor** en le configurant comme serveur mandataire dans les applications de son choix ([[:navigateur]], autres [[:web#clients|clients Web]], [[:P2P]], etc.). === Vérifier que vous utilisez bien le réseau Tor === Rendez vous sur ce site : [[https://check.torproject.org/]]. ===== Désinstallation ===== Pour désinstaller cette application, il suffit de [[:desinstaller_une_application#methodes_standardspour_deb_snap_et_flatpak|supprimer son paquet]] : * Pour la version des **dépôts Ubuntu**, vous pouvez passer par le [[:snap store|centre d'applications]], ou en ligne de commande :sudo apt remove tor torbrowser-launcher * Pour la version **[[:gerer_flatpak#desinstaller_une_application|Flatpak]]**, vous pouvez passer par [[:gnome-software|GNOME Logiciels]] (si vous avez le //plugin// [[:gnome-software#installer_les_greffons_snap_et_flatpak|Flatpak]]), ou en ligne de commande :flatpak uninstall org.torproject.torbrowser-launcher * Pour la version installée [[#manuellement]], supprimer le répertoire ''tor-browser''. ===== Installation d'un serveur Tor (nœud) ===== FIXME ===== Configuration d'un serveur Tor (nœud) ===== Comme toutes les solutions de chiffrement, le principal défaut du réseau **Tor** est sa lenteur. Vous pouvez contribuer à y remédier en créant un serveur, sachant que plus il y aura de serveurs **Tor**, plus le réseau sera rapide. Si vous choisissez d'être un Nœud de sortie, vous devez savoir que c'est votre adresse IP qui sera relevée pour la totalité du trafic qui sortira par votre Nœud, quel qu'en soit le contenu (ce qui inclut donc tout contenu potentiellement illégal). Il est alors impératif de lire la [[https://support.torproject.org/abuse/|F.A.Q. sur les abus]] du site officiel de Tor. Vous devrez choisir le rôle que vous souhaitez jouer sur le réseau : //Nœud de transfert// (Serveur relais) ou bien //Nœud d'entrée-sortie//. ==== Pré-requis ==== Il vous faut disposer au minimum de 20 ko/s en flux montant et descendant. Il vous faudra également avoir configuré au préalable un client [[:NTP]] (pour obtenir automatiquement l'heure exacte d'un serveur de temps). ==== Édition du fichier /etc/tor/torrc ==== Il vous faut modifier les paramètres suivants : SocksPort 9050 SocksListenAddress 127.0.0.1 DataDirectory /var/lib/tor Nickname peudo-de_votre_serveur Address votre_adresse_ip_fixe ContactInfo votre_nom votre_@adresse.mail ORPort 9001 BandwidthRate 20 KB #Bande passante allouée au minimum RelayBandwidthBurst 80 KB # Bande passante allouée au maximum BridgeRelay 1 ExitPolicy reject *:* #Pour ne pas être noeud de sortie Créez le répertoire référencé dans le paramètre ''DataDirectory'' et rendre l'utilisateur propriétaire de ce répertoire : # chown debian-tor.debian-tor /var/lib/tor Si vous ne disposez pas d'une adresse IP fixe, vous devrez vous inscrire sur un site tel que par exemple [[http://www.dyndns.com/|DynDNS]] et installer un client (En l'occurence ''ddclient'' chez DynDNS) pour maintenir à jour la correspondance entre l'adresse IP de votre serveur et votre nom de domaine. \\ Remplacez alors la valeur du paramètre ''Address'' du fichier de configuration par l'adresse enregistrée sur le service de DNS dynamique : Address monserveurtor.dyndns.net * Configurez votre pare-feu et le cas échéant votre routeur pour accepter les connexions provenant de Tor. /sbin/iptables -t filter -A INPUT -p tcp --source-port 1024: --destination-port 9001 -m state --state NEW,ESTABLISHED -j ACCEPT /sbin/iptables -t filter -A OUTPUT -p tcp --destination-port 1024: --source-port 9001 -m state --state ESTABLISHED -j ACCEPT * Redémarrez Tor. sudo /etc/init.d/tor restart * Vérifiez le contenu de son fichier log, après une quinzaine de minutes, on doit y trouver la phrase suivante : //Self-testing indicates your ORPort is reachable from the outside. Excellent.// Cela signifie que cela fonctionne. * Il ne vous reste plus qu'à vous enregistrer sur la liste des serveurs officiels (voir à cet effet la page des [[https://www.torproject.org/contact.html|contacts]]). Ceci n'est désormais plus vrai, l'enregistrement de votre relais se fait automatiquement. ===== Configurer les hidden services ==== Adaptée de [[http://tor.hermetix.org/docs/tor-hidden-service.html.fr]] **Tor** permet aux clients et aux relais d'offrir des services cachés (//hidden services//). Ainsi, vous pouvez rendre disponible un serveur web, un serveur [[:SSH]], etc., sans avoir à révéler votre adresse IP aux utilisateurs. Et même, du fait que vous n'utilisez pas d'adresse publique, vous pouvez faire tourner un service caché derrière votre pare-feu. ==== Étape zéro : s'assurer que Tor fonctionne ==== Avant de commencer, il est nécessaire de s'assurer que : - Tor est lancé et fonctionne ; - Vous l'avez configuré correctement. ==== Première étape : installer un serveur Web localement ==== Premièrement, vous avez besoin de configurer un serveur web local. Paramétrer un serveur web peut s'avérer délicat, nous n'allons donc que survoler les bases ici. Si vous n'y arrivez pas ou cherchez à en faire plus, demandez à un ami de vous aider. Nous vous recommandons d'installer un serveur web séparé pour votre service caché, puisque même si vous en avez déjà un d'installé, vous l'utilisez peut-être déjà (ou planifiez de l'utiliser plus tard) pour un usage différent. Le plus simple, et de loin, est d'installer [[http://www.acme.com/software/thttpd/|thttpd.]] $ sudo apt-get install thttpd Puis $ mkdir hidserv $ cd hidserv $ thttpd -T utf-8 -p 5222 -h localhost Vous devriez retrouver le prompt, et à ce stade vous êtes en train de faire tourner un serveur web sur le port 5222. Vous pouvez mettre des fichiers dans le répertoire hidserv. (La raison pour laquelle nous connectons le serveur web seulement sur localhost est de nous assurer qu'il ne sera pas accessible publiquement. Si des gens peuvent se connecter directement, ils pourraient confirmer que votre ordinateur est bien celui qui offre le service caché.) Une fois votre serveur web paramétré, assurez-vous qu'il fonctionne : ouvrez votre navigateur et allez sur http://localhost:5222/, où 5222 est le port que vous avez choisi plus haut. Puis, essayez de mettre un fichier dans le répertoire HTML principal, et assurez-vous que vous pouvez y accéder. ==== Deuxième étape : configurer votre service caché ==== Ensuite, vous devez configurer votre service caché pour qu'il pointe sur votre serveur web local. Premièrement, Arrêtez Tor dans Vidalia et arrêtez le service Tor sudo service tor stop Quittez Vidalia et ouvrez votre fichier torrc dans votre éditeur de texte favori (consultez la [[https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#torrc|FAQ torrc]] pour plus d'information.) sudo nano /etc/tor/torrc décommenter la ligne : ControlPort 9051 C'est le port qui permet à Vidalia de communiquer avec Tor par TCP sous les debian-like comme Ubuntu. On est obligé de faire communiquer Vidalia avec Tor par connexion TCP car sinon il y a une erreur d'autorisation Allez au milieu du fichier et cherchez la ligne : ############### This section is just for location-hidden services ### Cette section du fichier consiste en un groupe de lignes, chacune représentant un service caché. Actuellement elles sont toutes en commentaire (les lignes commençant par #), ainsi les services cachés sont désactivés. Chaque groupe de lignes consiste en une ligne HiddenServiceDir, et une ou plus HiddenServicePort : HiddenServiceDir est un répertoire où Tor va stocker les informations à propos du service caché. En particulier, Tor va créer un fichier dedans, nommé hostname qui va vous donner le nom oignon de l'URL. Vous n'avez pas à ajouter d'autres fichiers dans ce répertoire. HiddenServicePort vous permet de spécifier un port virtuel (c'est celui que les gens penseront utiliser en accédant à votre service) et une adresse IP et un port pour les redirections vers ce port virtuel. Ajoutez les lignes suivantes dans votre torrc : HiddenServiceDir /home/username/hidden_service/ HiddenServicePort 80 127.0.0.1:5222 Vous allez avoir à changer la ligne HiddenServiceDir, pour qu'elle pointe vers le répertoire qui est accessible en lecture/écriture par l'utilisateur qui fait tourner Tor. L'exemple ci-dessus devrait fonctionner si vous remplacez "username" par votre propre nom de login. Maintenant sauvegardez votre torrc. Allez dans Vidalia et configurer Tor Control : Paramètres -> avancées -> cochez "use TCP connections(ControlPort)" et remplissez le champ "Adresse" par 127.0.0.1:9051, Choisissez "authentification par mot de passe" dans la liste déroulante et cochez "défini aléatoirement" Relancez Tor sudo service tor start Puis relancez Tor dans Vidalia Si Tor redémarre, c'est génial ! Sinon, quelque chose se passe mal. Premièrement regardez les logs pour avoir des pistes. Il devrait y avoir des avertissements ou des erreurs. Ça devrait vous donner une idée du pourquoi ça se passe mal. Souvent des erreurs de frappe dans le fichier torrc ou de droits d'accès aux répertoires. (Voyez[[ https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#Logs|la FAQ sur les logs]] si vous ne savez pas comment les activer ou bien où les trouver.) Quand Tor se lance, il doit automatiquement créer le HiddenServiceDir que vous avez spécifié (si nécessaire), et il devrait y créer deux fichiers. private_key Premièrement, Tor va générer une nouvelle paire de clés publique/privée pour votre service caché, et les écrire dans un fichier appelé "private_key". Ne partagez pas cette clé avec d'autres ; si vous le faites ils peuvent découvrir qui fait fonctionner votre service caché. L'autre fichier qui va être créé s'appelle "hostname". Il contient un court résumé de votre clé publique -- ça devrait ressembler à quelque chose comme duskgytldkxiuqc6.onion. C'est le nom public pour votre service, et vous pouvez l'annoncer à d'autre gens, le publier, le mettre sur votre carte de visite, etc. Maintenant que vous avez redémarré Tor, il collecte des points d'introduction dans le réseau Tor, et génère ce qui est appelé un descripteur de service caché, qui est une liste de points d'introduction signée avec la pleine clé publique. Il publie ce descripteur anonymement aux serveurs d'annuaires, et d'autres utilisateurs peuvent anonymement le rapatrier à partir des serveurs d'annuaires lorsqu'ils souhaitent accéder à votre service. Essayez maintenant : coller le contenu du fichier hostname dans votre navigateur web. Si ça marche, vous devriez avoir la page HTML que vous avez paramétrée à la première étape. Si ça ne fonctionne pas, jetez un œil dans vos logs pour vous aider, et continuez d'essayer jusqu'à ce que ça fonctionne. **La manière simple** Si vous utilisez le tor browser bundle, il vous suffit d'activer les services cachés dans Vidalia : Paramètres -> Services Remplissez Port virtuel avec 80 Destination avec 127.0.0.1:5222 Chemin du dossier avec /home/username/hidden-sevice Lorsque vous relancez Tor votre adresse onion est automatiquement générée ==== Troisième étape : astuces plus avancées ==== Si vous envisagez de maintenir votre service pendant quelques temps, il est conseillé de faire une copie de votre fichier private_key quelque part. Nous avons évité de recommander Apache ci-dessus, a) parce que beaucoup de personnes le font déjà tourner comme serveur public sur leur ordinateur et b) parce que c'est un programme assez lourd et qu'il est en mesure de révéler votre adresse IP ou des informations permettant de vous identifier à un grand nombre d'endroits, par exemple dans les pages 404. Pour les gens qui ont besoin de plus de fonctionnalités, Apache devrait-être la réponse juste. Est-ce que quelqu'un pourrait faire une liste des points sensibles pour verrouiller Apache lorsque vous l'utilisez comme service caché ? « Savant » doit aussi avoir ce genre de problème. Si vous souhaitez renvoyer plusieurs ports virtuels pour un seul service caché, ajoutez simplement plus de lignes HiddenServicePort. Si vous voulez faire tourner plusieurs services cachés à partir du même client Tor, rajoutez simplement une autre ligne HiddenServiceDir. Toutes les lignes suivant le HiddenServicePort se réfèrent à la ligne HiddenServiceDir jusqu'à ce que vous ajoutiez une autre ligne HiddenServiceDir : HiddenServiceDir /usr/local/etc/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:8080 HiddenServiceDir /usr/local/etc/tor/other_hidden_service/ HiddenServicePort 6667 127.0.0.1:6667 HiddenServicePort 22 127.0.0.1:22 Il y a quelques problèmes d'anonymat que vous devriez également garder à l'esprit : Comme cité ci-dessus, soyez vigilant sur ce que votre serveur web révèle de vous, de votre ordinateur, de votre emplacement géographique. Par exemple, les lecteurs peuvent facilement déterminer s'il s'agit de thttpd ou d'Apache, et apprendre quelque chose sur votre système d'exploitation. Si votre ordinateur n'est pas en ligne en permanence, votre service caché ne le sera pas non plus. Ceci apporte une information à un adversaire observateur. ===== Résolution de problèmes courants ===== ==== Résoudre le problème d'écriture avec le clavier ==== - Ouvrir le fichier start-tor-browser (qui est à la racine du dossier tor) avec votre éditeur préféré - Ajouter ce bout de code dans la deuxième ligne après (#!/bin/sh) : export GTK_IM_MODULE="xim" - Sauvegarder le ficher - Et enfin relancer tor pour observer le résultat ! ===== Voir aussi ===== * **(//en//)** [[https://www.torproject.org/|Site officiel]] * **(//en//)** //[[https://gitlab.torproject.org/tpo/team|The Tor Project]]// * [[https://framalibre.org/notices/tor-browser.html|Tor Browser]] sur Framasoft * **(//en//)** [[https://github.com/zoeurk/tor-hidden-service|Aller plus loin avec les services cachés]] * **(//en//)** [[https://github.com/zoeurk/tor-filtering|Filtrer le trafic provenant de Tor]] ==== Pages sur le sujet ==== {{backlinks>.#!utilisateurs:}} ---- //[[:Contributeurs]] : [[:utilisateurs:psychederic]], [[:utilisateurs:guenillon]], [[:utilisateurs:percherie]], [[:utilisateurs:binnette]], [[:utilisateurs:vince06fr]], [[:utilisateurs:mimidevos]], [[:utilisateurs:krodelabestiole]].//