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

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.

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.

Installation de Nginx et Tor
Ouvrez un terminal. Tapez la commande suivante pour installer Nginx et Tor :
sudo apt install nginx tor wget
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
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
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
Trouvez la section “location-hidden services” en appuyant sur Ctrl + W, puis en tapant “location-hidden”.

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
Rechargez le démon Tor pour appliquer vos nouveaux paramètres en exécutant les commandes suivantes :
systemctl enable tor
systemctl restart torAstuce : 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
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
listendé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
rootdéfinit l’emplacement où Nginx recherchera les fichiers sur votre serveur Web. - La variable
server_namecontient le nom de domaine de votre serveur. Trouvez-le en exécutantsudo less /var/lib/tor/nginx-tor-service/hostname. - La variable
locationcontient 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.

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
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
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
Assurez-vous également que le binaire du navigateur Tor a les bons bits d’exécution :
sudochmod +x ./start-tor-browser.desktopExécutez et installez Tor Browser sur votre machine en exécutant la commande suivante :
./start-tor-browser.desktop --register-app
Enfin, accédez à votre nouveau site Web Tor en tapant son nom de domaine dans la barre d’adresse.

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.