logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:reseau:tor [06/09/2019 17:06]
smolski placer dans le wiki
doc:reseau:tor [31/05/2023 15:03] (Version actuelle)
lagrenouille [Se connecter sans encombre grâce à SSH et Tor]
Ligne 7: Ligne 7:
     * Création par [[user>​vakuy]] 03/04/2018     * Création par [[user>​vakuy]] 03/04/2018
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
-  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=260215#​p260215 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=260215#​p260215 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 ===== Introduction ===== ===== Introduction =====
  
-**But**+==== But ==== 
  
 Le but de ce tutorial est d'​apprendre à configurer un serveur et un client SSH fonctionnant avec Tor. Le but de ce tutorial est d'​apprendre à configurer un serveur et un client SSH fonctionnant avec Tor.
  
-**A quoi ça sert**+==== À quoi ça sert ==== 
 + 
 + 
 +Si vous vous intéressez à ce tutoriel, vous connaissez et utilisez certainement déjà [[doc:​reseau:​ssh|SSH]],​ un protocole de communication sécurisé pour se connecter à une autre machine Linux (ou MacOS), que ce soit en réseau local ou à distance. 
 + 
 +En réseau local, aucun problème: il suffit d'​indiquer l'​adresse IP interne associé à la machine à laquelle on souhaite se connecter, exemple:
  
-Si vous vous intéressez à ce tutoriel, vous connaissez et utilisez certainement déjà SSH, un protocole de communication sécurisé pour se connecter à une autre machine Linux (ou MacOS), que ce soit en réseau local ou à distanceEn réseau local, aucun problème: il suffit d'​indiquer l'​adresse IP interne associé à la machine à laquelle on souhaite se connecter, exemple:+<code user>ssh toto@192.168.1.100</​code>​
  
-<code user> +Les choses se compliquent quand on souhaite se connecter à distance.
-ssh toto@192.168.1.100</​code>​+
  
-Les choses se compliquent quand on souhaite se connecter à distance. ​Imaginez que vous avez un serveur chez vous et que vous souhaitez l'​administrer depuis l'​extérieur. Vous ne pouvez évidemment pas indiquer son adresse locale. Pour vous y connecter, vous devez donc:+Imaginez que vous avez un serveur chez vous et que vous souhaitez l'​administrer depuis l'​extérieur. ​\\ 
 +Vous ne pouvez évidemment pas indiquer son adresse locale, alors, pour vous y connecter, vous devez donc :
  
-  ​Activer le port forwarding sur votre routeur pour vous assurer que les connexions SSH soient redirigées sur votre serveur +  ​Activer le port forwarding sur votre routeur pour vous assurer que les connexions SSH soient redirigées sur votre serveur 
-  ​Sécuriser votre serveur avec des programmes comme fail2ban suite aux centaines de tentatives de connexion que vous allez immanquablement recevoir une fois le port forwarding activé +  ​Sécuriser votre serveur avec des programmes comme fail2ban suite aux centaines de tentatives de connexion que vous allez immanquablement recevoir une fois le port forwarding activé 
-  ​En cas d'​adresse IP dynamique (cas de la plupart des clients lambdas des FAI), s'​inscrire à un service de DNS dynamique+  ​- [[doc:​reseau:​ip|En cas d'​adresse IP dynamique]] (cas de la plupart des clients lambdas des FAI), s'​inscrire à un service de DNS dynamique.
  
 En plus de ces inconvénients,​ il se peut que pour une raison ou une autre vous ne souhaitiez pas que votre adresse IP publique soit associée à un service SSH (recherche d'​anonymat). En plus de ces inconvénients,​ il se peut que pour une raison ou une autre vous ne souhaitiez pas que votre adresse IP publique soit associée à un service SSH (recherche d'​anonymat).
  
-En revanche, une connexion SSH via Tor procure les avantages suivants:+En revanche, une connexion SSH via Tor procure les avantages suivants :
  
   * Pas besoin d'​ouvrir des ports sur le routeur et d'IP forwarding   * Pas besoin d'​ouvrir des ports sur le routeur et d'IP forwarding
Ligne 37: Ligne 43:
   * Risques d'​attaque ou de tentative de bruteforcing limités, voire nuls suivant la configuration   * Risques d'​attaque ou de tentative de bruteforcing limités, voire nuls suivant la configuration
  
-Au chapitre des inconvénients,​ on notera tout de même:+Au chapitre des inconvénients,​ on notera tout de même :
  
   * Une vitesse de connexion en général nettement en dessous d'une connexion classique ​   * Une vitesse de connexion en général nettement en dessous d'une connexion classique ​
   * Des interruptions de service ou time out assez fréquentes   * Des interruptions de service ou time out assez fréquentes
  
-**Comment ça marche**+==== Comment ça marche ​====
  
-Vous avez sans doute déjà entendu parler du darknet et de ces sites en .onion qui ne sont accessibles que par Tor (en général son navigateur, Tor Browser). Ces sites sont en fait des //hidden services//, des services cachés générés très facilement en modifiant quelques lignes dans le fichier de configuration de Tor sur une machine Linux. C'est exactement ce que nous allons faire ici, sauf qu'au lieu d'​écouter sur le port 80 ou 443 (http/​https),​ nous allons écouter sur le port 22, port par défaut de SSH. Puis nous allons configurer le client pour qu'il puisse se connecter à cette adresse .onion par Tor.+Vous avez sans doute déjà entendu parler du darknet et de ces sites en .onion qui ne sont accessibles que par Tor (en général son navigateur, Tor Browser). Ces sites sont en fait des //hidden services//, des services cachés générés très facilement en modifiant quelques lignes dans le fichier de configuration de Tor sur une machine Linux. 
 + 
 +C'est exactement ce que nous allons faire ici, sauf qu'au lieu d'​écouter sur le port 80 ou 443 (http/​https),​ nous allons écouter sur le port 22, port par défaut de SSH. \\ 
 +Puis nous allons configurer le client pour qu'il puisse se connecter à cette adresse .onion par Tor. 
 + 
 +=== Ce n'est probablement pas pour vous si ===
  
-**Ce n'est probablement pas pour vous si** 
  
   * Vous ne souhaitez pas ou ne pouvez pas utiliser Tor   * Vous ne souhaitez pas ou ne pouvez pas utiliser Tor
Ligne 54: Ligne 64:
 ===== Installation ===== ===== Installation =====
  
-**Matériel requis**+Matériel requis ​:
  
   * Une connexion internet   * Une connexion internet
Ligne 60: Ligne 70:
 //Note: pas besoin d'​avoir des machines distantes, il est tout à fait possible d'​obtenir le même résultat avec des machines virtuelles sur le même ordinateur//​ //Note: pas besoin d'​avoir des machines distantes, il est tout à fait possible d'​obtenir le même résultat avec des machines virtuelles sur le même ordinateur//​
  
-**Première partie: installation de Tor sur le serveur et configuration**+==== Première partie : installation de Tor sur le serveur et configuration ​====
  
-On commence par installer Tor et ssh **sur le serveur**:+ 
 +On commence par installer Tor et ssh **sur le serveur** :
  
 <code user>​sudo apt install tor ssh</​code>​ <code user>​sudo apt install tor ssh</​code>​
  
-//Note: vérifiez ​que l'​installation comprend les paquets openssh-client et openssh-server,​ le métapaquet ssh les installe les deux sur debian 9, sur une autre distribution il est possible qu'il faille les préciser séparément /+<note tip>​Vérifiez ​que l'​installation comprend les paquets openssh-client et openssh-server,​ le métapaquet ssh les installe les deux sur debian 9, sur une autre distribution il est possible qu'il faille les préciser séparément.</note>
- +
-__Création du hidden service__ +
- +
-On se rend dans le fichier de configuration de tor:+
  
-<code user>​sudo nano /​etc/​tor/​torrc +==== Création du hidden ​service ====
-</​code>​ +
-On cherche la section pour les hidden ​services (###############​ This section is just for location-hidden services ###) et on modifie comme suit (=on décommente la ligne HiddenServiceDir /​var/​lib/​tor/​other_hidden_service/​ et HiddenServicePort 22 127.0.0.1:​22):​+
  
-<code user>###############​ This section is just for location-hidden services ###+On se rend dans le fichier de configuration de tor :<code user>sudo nano /​etc/​tor/​torrc</​code>​ 
 +On cherche la section pour les hidden services (###############​ This section is just for location-hidden services ###) et 
 +on modifie comme suit (=on décommente la ligne HiddenServiceDir /​var/​lib/​tor/​other_hidden_service/​ et HiddenServicePort 22 127.0.0.1:​22) :<file>###############​ This section is just for location-hidden services ###
  
 ## Once you have configured a hidden service, you can look at the ## Once you have configured a hidden service, you can look at the
Ligne 90: Ligne 97:
 HiddenServiceDir /​var/​lib/​tor/​other_hidden_service/​ HiddenServiceDir /​var/​lib/​tor/​other_hidden_service/​
 #​HiddenServicePort 80 127.0.0.1:​80 #​HiddenServicePort 80 127.0.0.1:​80
-HiddenServicePort 22 127.0.0.1:​22</​code> +HiddenServicePort 22 127.0.0.1:​22</​file>
- +
-//Note: on peut indiquer toute autre valeur à la place de "​other_hidden_service"​. C'est simplement le nom du répertoire,​ j'ai ici pris celui par défaut.//+
  
 +<note tip>On peut indiquer toute autre valeur à la place de "​other_hidden_service"​. C'est simplement le nom du répertoire,​ j'ai ici pris celui par défaut.</​note>​
 Une fois cela fait, on redémarre le service Tor: Une fois cela fait, on redémarre le service Tor:
-<code user> +<code user>​sudo service tor restart</​code>​
-sudo service tor restart +
-</​code>​+
  
-Le hidden service nouvellement créé se trouve ici, comme indiqué dans le fichier torrc, dans le répertoire /​var/​lib/​tor/​other_hidden_service/​hostname. On récupère son adresse .onion: +Le hidden service nouvellement créé se trouve ici, comme indiqué dans le fichier torrc, dans le répertoire ​: ''​/​var/​lib/​tor/​other_hidden_service/​hostname''​. On récupère son adresse .onion :<code user>​serverssh@server-ssh:​~$ sudo cat /​var/​lib/​tor/​other_hidden_service/​hostname
- +
-<code user> +
-serverssh@server-ssh:​~$ sudo cat /​var/​lib/​tor/​other_hidden_service/​hostname+
 wn2na4obqlp73cwk.onion</​code>​ wn2na4obqlp73cwk.onion</​code>​
- 
 On note bien cette adresse car c'est celle qu'on utilisera pour se connecter à cette machine depuis le client. On note bien cette adresse car c'est celle qu'on utilisera pour se connecter à cette machine depuis le client.
  
-**Deuxième partie: installation de Tor sur le client et configuration de ssh**+==== Deuxième partie : installation de Tor sur le client et configuration de ssh ====
  
-On commence par installer Tor et ssh **sur le client**: 
  
 +On commence par installer Tor et ssh **sur le client** :
 <code user>​sudo apt install tor ssh</​code>​ <code user>​sudo apt install tor ssh</​code>​
  
-//​Note: ​vérifiez que l'​installation comprend les paquets openssh-client et openssh-server,​ le métapaquet ssh les installe les deux sur debian 9, sur une autre distribution il est possible qu'il faille les préciser séparément //+<note important>​vérifiez que l'​installation comprend les paquets openssh-client et openssh-server,​ le métapaquet ​[[doc:​reseau:​ssh|ssh]] les installe les deux sur debian 9, sur une autre distribution il est possible qu'il faille les préciser séparément</note>
  
-On installe également nmap, dont l'​outil ncat servira à connecter notre client ssh au serveur en .onion:+On installe également ​[[doc:​reseau:​nmap|nmap]], dont l'​outil ncat servira à connecter notre client ssh au serveur en .onion :
  
 <code user>​sudo apt install nmap</​code>​ <code user>​sudo apt install nmap</​code>​
Ligne 121: Ligne 121:
 C'est tout pour ce qui est de l'​installation,​ le reste se gère dans la partie "​Utilisation"​ ci-dessous. C'est tout pour ce qui est de l'​installation,​ le reste se gère dans la partie "​Utilisation"​ ci-dessous.
  
-**Optionnel: d'​avantage de sécurité avec un hidden service "​stealth"​**+==== Optionnel: d'​avantage de sécurité avec un hidden service "​stealth" ​====
  
-Avec la configuration actuelle, n'​importe qui peut tenter de se connecter à notre serveur SSH s'il en connaît l'​adresse .onion (hautement improbable, celle-ci étant générée cryptographiquement et localement). Bien sûr, la connaissance du mot de passe (ou de la clé) reste nécessaire pour pouvoir se connecter. Si vous voulez néanmoins être sûr d'​être le seul à pouvoir "​parler"​ à votre serveur SSH, vous pouvez ajouter une option "​stealth"​ à votre hidden service sur le serveur. De cette manière, seuls les clients étant également en possession d'une clé spécifique pourront initier une connexion à votre serveur SSH. Toutes les autres tentatives aboutiront à un timeout+Avec la configuration actuelle, n'​importe qui peut tenter de se connecter à notre serveur SSH s'il en connaît l'​adresse .onion (hautement improbable, celle-ci étant générée cryptographiquement et localement).
  
-__1. configuration ​du hidden service "​stealth"​ sur le serveur ssh__+Bien sûr, la connaissance ​du mot de passe (ou de la clé) reste nécessaire pour pouvoir se connecter.
  
-Comme pour la création d'un hidden service normal, on se rend dans le fichier de configuration de tor:+Si vous voulez néanmoins être sûr d'​être le seul à pouvoir "​parler"​ à votre serveur SSH, vous pouvez ajouter une option "​stealth"​ à votre hidden service sur le serveur. De cette manière, seuls les clients étant également en possession d'une clé spécifique pourront initier une connexion à votre serveur SSH. Toutes les autres tentatives aboutiront à un timeout.  
 + 
 +==== 1. configuration du hidden service "​stealth"​ sur le serveur ssh ==== 
 + 
 +Comme pour la création d'un hidden service normal, on se rend dans le fichier de configuration de tor :
  
 <code user>​sudo nano /​etc/​tor/​torrc</​code>​ <code user>​sudo nano /​etc/​tor/​torrc</​code>​
  
-Et on cherche la section pour les hidden services (###############​ This section is just for location-hidden services ###) qu'on modifie comme précédemment,​ mais avec une ligne en plus (HiddenServiceAuthorizeClient stealth):+Et on cherche la section pour les hidden services (###############​ This section is just for location-hidden services ###) qu'on modifie comme précédemment,​ mais avec une ligne en plus (HiddenServiceAuthorizeClient stealth) :
  
-<code user>###############​ This section is just for location-hidden services ###+<file>###############​ This section is just for location-hidden services ###
  
 ## Once you have configured a hidden service, you can look at the ## Once you have configured a hidden service, you can look at the
Ligne 151: Ligne 155:
 HiddenServiceDir /​var/​lib/​tor/​hidden_ssh_stealth/​ HiddenServiceDir /​var/​lib/​tor/​hidden_ssh_stealth/​
 HiddenServicePort 22 127.0.0.1:​22 HiddenServicePort 22 127.0.0.1:​22
-HiddenServiceAuthorizeClient stealth root</code>+HiddenServiceAuthorizeClient stealth root</file>
  
 //Remarque: je crée ici un deuxième service ssh, que j'​appelle "​hidden_ssh_stealth"//​ //Remarque: je crée ici un deuxième service ssh, que j'​appelle "​hidden_ssh_stealth"//​
Ligne 157: Ligne 161:
 Comme précédemment,​ on récupère l'​adresse .onion du service: Comme précédemment,​ on récupère l'​adresse .onion du service:
  
-<code user> +<code user>​sudo service tor restart</​code>​ 
-sudo service tor restart +<code user>sudo cat /​var/​lib/​tor/​hidden_ssh_stealth/​hostname</​code>​
-sudo cat /​var/​lib/​tor/​hidden_ssh_stealth/​hostname</​code>​+
  
 Comme on a ajouté l'​option stealth, on a cette fois une courte clé en plus: Comme on a ajouté l'​option stealth, on a cette fois une courte clé en plus:
-<code user>+<file>
 erzi6casesvznend.onion rXc/​eL2wK2pTNbYcdGjulh ​ # client: root erzi6casesvznend.onion rXc/​eL2wK2pTNbYcdGjulh ​ # client: root
-</code>+</file>
  
 On retient l'​ensemble de ces informations dont on aura besoin pour se connecter au serveur depuis notre client. On retient l'​ensemble de ces informations dont on aura besoin pour se connecter au serveur depuis notre client.
  
-__2. configuration du fichier /​etc/​tor/​torrc sur le client__+==== 2. configuration du fichier /​etc/​tor/​torrc sur le client ====
  
-Sur le client, éditer le fichier /​etc/​tor/​torrc:​+Sur le client, éditer le fichier /​etc/​tor/​torrc :
  
 <code user>​sudo nano /​etc/​tor/​torrc</​code>​ <code user>​sudo nano /​etc/​tor/​torrc</​code>​
  
-Aller tout à la fin du fichier et ajouter ces lignes: +Aller tout à la fin du fichier et ajouter ces lignes : 
-<code user+<file
-HidServAuth erzi6casesvznend.onion rXc/​eL2wK2pTNbYcdGjulh # client: root</code>+HidServAuth erzi6casesvznend.onion rXc/​eL2wK2pTNbYcdGjulh # client: root</file>
 //Bien entendu, remplacez ces valeurs par les vôtres!// //Bien entendu, remplacez ces valeurs par les vôtres!//
  
-Puis redémarrer le service tor: +Puis redémarrer le service tor :
 <code user>​sudo service tor restart</​code>​ <code user>​sudo service tor restart</​code>​
  
 Voilà, c'est tout! Pour les options SSH à utiliser pour se connecter au service, se référer au chapitre "​Installation"​ ci-dessous. Voilà, c'est tout! Pour les options SSH à utiliser pour se connecter au service, se référer au chapitre "​Installation"​ ci-dessous.
  
-**Optionnel: utiliser un hidden service V3 plutôt que V2**+==== Optionnel: utiliser un hidden service V3 plutôt que V2 ====
  
 Si vous avez une version de Tor récente (0.3.2.1 minimum), vous pouvez également profiter de la nouvelle génération de hidden services, appelée V3.  Si vous avez une version de Tor récente (0.3.2.1 minimum), vous pouvez également profiter de la nouvelle génération de hidden services, appelée V3. 
  
-Sur debian stable, la version actuelle (avril 2018) est 0.2.9.14, il faudra donc installer le paquet tor depuis les backports pour pouvoir utiliser un onion en v3 (sur le serveur comme sur le client):+Sur debian stable, la version actuelle (avril 2018) est 0.2.9.14, il faudra donc installer le paquet tor depuis les backports pour pouvoir utiliser un onion en v3 (sur le serveur comme sur le client) :
  
-ajouter ​la source ​backports dans /​etc/​apt/​sources.list,​ puis: +ajouter ​[[doc:​systeme:​apt:​sources.list|backports]] dans /​etc/​apt/​sources.list,​ puis : 
-<code user>​sudo apt update +<code user>​sudo apt update</​code>​ 
-sudo apt -t stretch-backports install tor</​code>​+<code user>sudo apt -t stretch-backports install tor</​code>​
  
-Sur le serveur, le fichier /​etc/​tor/​torrc s'​édite comme suit pour générer un hidden service en V3:+Sur le serveur, le fichier /​etc/​tor/​torrc s'​édite comme suit pour générer un hidden service en V3 :
  
 <code user> <code user>
doc/reseau/tor.1567782362.txt.gz · Dernière modification: 06/09/2019 17:06 par smolski

Pied de page des forums

Propulsé par FluxBB