Comment héberger un site Web sur Ubuntu en utilisant Tor

Héberger un site Web Tor Linux 00 Image en vedette

Le réseau Tor est un logiciel révolutionnaire. Avec un seul programme, il est désormais possible de naviguer et de consulter le Web de manière anonyme. Cela fait de Tor un outil essentiel pour les utilisateurs qui souhaitent préserver leur vie privée lors de la navigation sur un site Web. Il est également possible d’utiliser Tor pour héberger un serveur Web local en ligne, ce qui le rend incroyablement utile pour les utilisateurs soucieux de leur vie privée qui souhaitent partager des informations publiquement sans se révéler.

Remarque : découvrez d’abord ce qu’est Tor et le routage onion avant de continuer.

Table des matières

  • Pourquoi héberger votre site Web sur Tor ?
  • Exigences
  • Installation de Nginx et Tor
  • Configuration du pare-feu
  • Création d’un service Tor pour votre site Web
  • Création d’un site Web simple avec Nginx
  • Accéder à votre site Web via Tor
  • Questions fréquentes

Pourquoi héberger votre site Web sur Tor ?

Un des plus grands avantages de l’hébergement sur Tor est que sa connexion passe également par des nœuds intermédiaires similaires à ceux du navigateur Tor. Un visiteur consultant votre site Web ne pourra pas savoir d’où vous l’hébergez.

Héberger un site Web Tor Linux 02 Nœuds intermédiaires

En dehors de cela, vous n’avez également pas besoin de rediriger des ports pour faire fonctionner votre site Web uniquement sur Tor. Cela rend l’hébergement simple et accessible même dans des réseaux très restreints. Par exemple, une machine sous un réseau Carrier-Grade NAT peut toujours publier un site Web directement via Tor.

Exigences

Avant de pouvoir installer à la fois Nginx et Tor, vous devez d’abord vous assurer que vous avez les ressources suivantes prêtes :

  • Une connexion Internet qui ne restreint pas Tor pour les demandes entrantes et sortantes. Cela vous permet de diffuser votre site Web via le réseau Tor.
  • Une machine capable de gérer le site Web que vous hébergez. Dans la plupart des cas, un bureau à double cœur avec 4 Go de RAM devrait suffire pour un site Web de base.
  • Un accès root à votre machine d’hébergement, car la configuration de Tor nécessite d’accéder aux fichiers système.

L’image ci-dessous montre comment héberger un site Web Nginx uniquement sur Tor sur une machine Ubuntu 22.04 LTS.

Héberger un site Web Tor Linux 03 Neofetch Machine Ubuntu

Installation de Nginx et Tor

Ouvrez un terminal. Tapez la commande suivante pour installer Nginx et Tor :

sudo apt install nginx tor wget

Héberger un site Web Tor Linux 05 Télécharger des paquets

Configuration du pare-feu

Une fois que vous avez installé les deux paquets sur votre système, vous pouvez sécuriser votre serveur en configurant votre pare-feu pour n’accepter que les connexions entrantes du réseau Tor en tapant les commandes suivantes dans le terminal :

sudo iptables -I INPUT -m state --state NEW -p tcp --dport80-j ACCEPT  
sudo iptables -I INPUT -m state --state NEW -p tcp --dport443-j ACCEPT  
sudo iptables -I INPUT -m state --state NEW -p tcp --dport9050-j ACCEPT

Héberger un site Web Tor Linux 06 Créer des règles de pare-feu

Les deux premières commandes ouvrent les ports HTTP et HTTPS dans votre système, tandis que la dernière commande ouvre explicitement le port SOCKS pour le réseau Tor. Cette approche garantit que Tor pourra rediriger correctement tout le trafic qui va vers votre machine.

Création d’un service Tor pour votre site Web

Ensuite, vous devez créer une entrée de service caché pour votre serveur Web. Il s’agit d’une configuration spécifique au service qui vous permettra de diffuser dans le réseau Tor.

Tout d’abord, passez à votre compte root. Vous pouvez le faire en exécutant la commande suivante :

sudo-i

Héberger un site Web Tor Linux 07 Passer à Root

Une fois que vous êtes dans root, créez votre service caché en modifiant le fichier “/etc/tor/torrc”. Dans mon cas, j’ouvre ce fichier via GNU Nano.

nano/etc/tor/torrc

Héberger un site Web Tor Linux 08 Fichier Torrc

Trouvez la section “location-hidden services” en appuyant sur Ctrl + W, puis en tapant “location-hidden”.

Héberger un site Web Tor Linux 09 Services cachés Torrc

Vous verrez quelques exemples qui démontrent comment créer votre propre service caché Tor. Pour la plupart, cependant, vous devez seulement définir deux options : HiddenServiceDir et HiddenServicePort.

L’option HiddenServiceDir indique à Tor où il doit enregistrer les fichiers de configuration pour votre service caché. L’option HiddenServicePort indique à Tor comment il doit rediriger les demandes vers votre service caché.

Les lignes de code suivantes créeront un nouveau service caché pour votre serveur Web :

HiddenServiceDir /var/lib/tor/nginx-tor-service/  
HiddenServicePort 80 127.0.0.1:80  
HiddenServicePort 443 127.0.0.1:443

Héberger un site Web Tor Linux 10 Torrc Créer un nouveau service caché

Rechargez le démon Tor pour appliquer vos nouveaux paramètres en exécutant les commandes suivantes :

systemctl enable tor  
systemctl restart tor

Astuce : apprenez à utiliser Tor avec votre connexion VPN.

Création d’un site Web simple avec Nginx

Une fois qu’un service caché Tor est opérationnel, commencez à configurer votre serveur Web. Créez un nouveau fichier de configuration via la commande touch :

sudotouch/etc/nginx/sites-available/nginx-tor-service

Héberger un site Web Tor Linux 11 Créer un nouveau serveur Nginx

Modifiez votre nouveau fichier de configuration Nginx en tant que serveur Web de base. Par exemple, le bloc de code suivant déploiera un serveur Web simple sur le port 80 :

server{  
listen 80 default_server;  
listen[::]:80 default_server;  
  
root /var/www/html;  
  
server_name 4tth4kzmipldb5elklravakdwlnte3ck6m5ahl73nfbe6ni67zmyvxyd.onion;  
  
location / {  
try_files$uri$uri/ =404;  
}  
}
  • Les deux variables listen définissent à la fois les ports et l’hôte que cette configuration de serveur doit écouter. Dans ce cas, Nginx écoute sur le port 80 à la fois sur IPv4 et IPv6.
  • La variable root définit l’emplacement où Nginx recherchera les fichiers sur votre serveur Web.
  • La variable server_name contient le nom de domaine de votre serveur. Trouvez-le en exécutant sudo less /var/lib/tor/nginx-tor-service/hostname.
  • La variable location contient des fonctions sur la façon dont Nginx traite les fichiers dans la racine de votre site Web. Dans cet exemple, elle définit uniquement l’erreur 404 pour tout fichier manquant.

Héberger un site Web Tor Linux 12 Configuration de serveur d'exemple

Créez un lien symbolique pour votre nouveau fichier de configuration vers “/etc/nginx/sites-enabled.”

sudoln-s/etc/nginx/sites-available/nginx-tor-service /etc/nginx/sites-enabled/

Enfin, activez votre nouveau site Web en redémarrant Nginx :

sudo systemctl enable nginx  
sudo systemctl restart nginx

Héberger un site Web Tor Linux 13 Nginx en cours d'exécution

Accéder à votre site Web via Tor

Avec Tor et Nginx en cours d’exécution, vérifiez si votre site Web est accessible depuis le réseau Tor. (Besoin de trouver plus de sites Web dans le dark web ? Consultez ces moteurs de recherche.) Tout d’abord, téléchargez le dernier binaire du navigateur Tor :

wget https://www.torproject.org/dist/torbrowser/11.5.7/tor-browser-linux64-11.5.7_en-US.tar.xz

Héberger un site Web Tor Linux 14 Télécharger le navigateur Tor

Extrayez les fichiers du navigateur dans le répertoire actuel en exécutant la commande suivante :

tar xvf ./tor-browser-linux64-11.5.7_en-US.tar.xz  
cd ./tor-browser_en-US

Héberger un site Web Tor Linux 15 Extraire le navigateur Tor

Assurez-vous également que le binaire du navigateur Tor a les bons bits d’exécution :

sudochmod +x ./start-tor-browser.desktop

Exécutez et installez Tor Browser sur votre machine en exécutant la commande suivante :

./start-tor-browser.desktop --register-app

Héberger un site Web Tor Linux 16 Navigateur Tor en cours d'exécution

Enfin, accédez à votre nouveau site Web Tor en tapant son nom de domaine dans la barre d’adresse.

Héberger un site Web Tor Linux 17 Site Web Tor en cours d'exécution

Questions fréquentes

Est-il possible d’héberger un serveur de jeu en utilisant Tor ?

Oui, mais faire fonctionner un serveur de jeu Tor entraînera une très mauvaise expérience de jeu. Par exemple, faire fonctionner un serveur Minetest via Tor aura une latence entre 1000 et 5000 millisecondes.

Bien qu’il existe des moyens d’accélérer vos connexions Tor, les développeurs de Tor n’ont pas conçu le réseau pour fonctionner dans des applications à faible latence. Pour cette raison, Tor est principalement utile pour publier des pages Web et des applications qui ne dépendent pas d’une faible latence.

J’essaie d’héberger un site Web FTP mais je ne peux pas y accéder via Tor.

Ce problème est très probablement dû à une configuration manquante dans le fichier “/etc/tor/torrc”. Pour héberger correctement un nouveau service via Tor, assurez-vous que les ports appropriés sont ouverts à la fois dans votre pare-feu et dans torrc.

Par exemple, ajoutez HiddenServicePort 21 127.0.0.1:21 et HiddenServicePort 22 127.0.0.1:22 pour créer un port FTP et SFTP ouvert sur votre machine.

Est-il possible d’héberger mon site Web via SSL sur Tor ?

Il est important de noter que SSL n’est pas une exigence stricte lors de la sécurisation de votre site Web Tor. Par défaut, Tor crypte déjà vos connexions dès que vous chargez le navigateur Tor, donc tout site Web que vous visitez sur Tor est chiffré de bout en bout.

Si vous le souhaitez, obtenez un certificat SSL pour votre site Web Tor, bien que le processus puisse être délicat, car il n’y a qu’un petit nombre d’autorités de certification qui délivrent activement des TLS pour les domaines .onion.

Crédit d’image : Unsplash. Toutes les modifications et captures d’écran par Ramces Red.