Publier un site accessible uniquement via Tor, à une adresse en .onion, s'appelle créer un service onion (anciennement « service caché »). C'est une technique parfaitement légale, utilisée par des médias (Le Monde, la BBC, ProPublica), des messageries et des plateformes de lanceurs d'alerte (SecureDrop) pour offrir anonymat, résistance à la censure et intégrité de bout en bout. Ce guide explique le principe, la mise en place pas à pas, et le durcissement indispensable.
En une phrase : un service onion expose votre site sans révéler l'adresse IP du serveur, et le visiteur s'y connecte sans intermédiaire de confiance — l'adresse
.onionest elle-même la clé publique du service.
Au sommaire
- Le principe — comment fonctionne un service onion.
- La mise en place — Tor + serveur web local.
- Le durcissement — éviter les fuites qui trahissent le serveur.
- Bonnes pratiques et cadre légal.
Comment fonctionne un service onion ?
Le réseau Tor (The Onion Router) fait transiter le trafic par plusieurs relais chiffrés en couches (d'où « oignon »), masquant l'origine de la connexion. Un service onion pousse la logique côté serveur :
- le service ne publie jamais son adresse IP ; il se rend joignable via des points de rendez-vous dans le réseau Tor ;
- son adresse
.onion(version 3, 56 caractères) est dérivée de sa clé publique : se connecter à la bonne adresse garantit qu'on parle au bon service, sans autorité de certification ; - la connexion est chiffrée de bout en bout par construction — un certificat TLS n'est même pas nécessaire.
Visiteur (Tor Browser) ──► réseau Tor (relais en couches) ──► point de rendez-vous ──► votre service onion ──► serveur web local (127.0.0.1)
La mise en place
Prérequis
Un serveur web fonctionnel (Nginx ou Apache) qui écoute en local, et un serveur Linux (Debian/Ubuntu ici). Le service onion ne « sert » pas les pages lui-même : il relaie vers votre serveur web local.
1. Installer Tor
sudo apt update
sudo apt install tor -y
2. Déclarer le service onion
Éditez la configuration de Tor :
sudo nano /etc/tor/torrc
Ajoutez ces deux lignes (le port 80 du .onion est relayé vers votre serveur web local sur le port 8080) :
HiddenServiceDir /var/lib/tor/mon_site/
HiddenServicePort 80 127.0.0.1:8080
3. Redémarrer Tor et récupérer l'adresse
sudo systemctl restart tor
sudo cat /var/lib/tor/mon_site/hostname
La commande affiche votre adresse, par exemple :
abcd...exemple...wxyz.onion
Tor a généré un dossier contenant la clé privée du service (hs_ed25519_secret_key) et le fichier hostname. Sauvegardez ce dossier : c'est lui qui « est » votre adresse .onion. Le perdre = perdre l'adresse définitivement.
4. Faire écouter le serveur web en local uniquement
Le serveur web ne doit pas être exposé sur Internet : il n'écoute que sur 127.0.0.1.
Nginx :
server {
listen 127.0.0.1:8080;
server_name _;
root /var/www/mon_site;
index index.html;
}
Apache (ports.conf + vhost) :
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot /var/www/mon_site
</VirtualHost>
Rechargez le serveur web, ouvrez Tor Browser, saisissez l'adresse .onion : votre site est en ligne sur le réseau Tor.
Le durcissement : éviter les fuites
L'erreur classique n'est pas la configuration de Tor, mais les fuites qui permettent de corréler le service onion avec le vrai serveur. Points essentiels :
| Risque | Mesure |
|---|---|
| Le serveur web répond aussi sur l'IP publique | Lier l'écoute à 127.0.0.1 uniquement, jamais 0.0.0.0 |
| Bannières serveur (version, OS) | Masquer les en-têtes (ServerTokens Prod, server_tokens off;) |
| Fuite par contenu absolu | Pas d'URL en dur vers votre domaine clearnet, pas de ressources externes (CDN, polices, analytics) qui « rappellent » dehors |
| Horodatage / logs | Réduire la verbosité des logs ; uniformiser le fuseau horaire (UTC) |
| Mêmes contenus uniques que le site clearnet | Évite la corrélation par empreinte (favicon, identifiants, certificats partagés) |
⚠️ La règle d'or de l'anonymat du serveur : tout ce qui peut relier le
.onionà une IP, un nom de domaine ou un compte connu casse l'anonymat. Si l'objectif est seulement la résistance à la censure (et non l'anonymat du serveur), ces contraintes se relâchent — mais réfléchissez à votre modèle de menace d'abord.
Adresse personnalisée (vanity)
Pour obtenir une adresse commençant par un préfixe lisible, on génère des clés en masse jusqu'à tomber sur le motif voulu, avec mkp224o (outil dédié aux onion v3). Attention : chaque caractère supplémentaire multiplie le temps de calcul.
Annoncer le .onion depuis votre site clearnet
Si vous avez aussi un site classique, vous pouvez signaler son équivalent onion via l'en-tête HTTP Onion-Location : Tor Browser proposera automatiquement la version .onion.
add_header Onion-Location http://abcd...exemple...wxyz.onion$request_uri;
Bonnes pratiques et cadre légal
- Maintenez Tor à jour (
apt upgrade) : les versions onion v2 sont obsolètes et abandonnées, seule la v3 est supportée. - Sauvegardez le
HiddenServiceDir(clé privée) hors ligne. - Isolez le service : utilisateur dédié, pare-feu strict, pas de services superflus sur la même machine.
- Mettez à jour le serveur web et l'applicatif : l'anonymat ne protège pas d'une faille applicative.
⚖️ Légalité. Héberger un service onion est légal en France comme dans l'UE — la technologie est neutre et largement utilisée par la presse et les ONG. Ce qui est illégal, ce sont certains usages : vous restez pleinement responsable du contenu que vous publiez, sur Tor comme ailleurs. Ce guide vise l'auto-hébergement légitime : protection des sources, contournement de la censure, vie privée.
En conclusion
Un service onion, c'est quelques lignes de configuration — mais la vraie difficulté n'est pas technique : c'est la discipline anti-fuites et la clarté sur ce que vous cherchez à protéger. Pour la simple résistance à la censure, la mise en place de base suffit. Pour un anonymat réel du serveur, chaque détail compte, et la moindre ressource externe ou bannière oubliée peut tout trahir.
C'est, au fond, la même logique de souveraineté que nous défendons ailleurs : reprendre la maîtrise de son infrastructure plutôt que de dépendre d'intermédiaires (voir Panorama des technologies serveur et L'IA en local).
❓ FAQ
Une adresse .onion, c'est quoi exactement ?
C'est l'identifiant d'un service onion, dérivé de sa clé publique (56 caractères en v3). Y accéder garantit qu'on parle au bon service, sans certificat ni autorité tierce.
Ai-je besoin d'un certificat TLS / HTTPS ?
Non : la connexion Tor est déjà chiffrée de bout en bout. Le http:// devant une adresse .onion est normal et sûr.
Mon serveur web doit-il être accessible depuis Internet ?
Non, au contraire : il doit écouter uniquement sur 127.0.0.1. C'est Tor qui relaie les requêtes vers lui.
Est-ce légal ? Oui. La technologie est légale et utilisée par des médias et ONG. Vous restez responsable du contenu publié.
Puis-je avoir la même adresse après réinstallation ?
Oui, si vous sauvegardez le dossier HiddenServiceDir (qui contient la clé privée) et le restaurez.
Pour aller plus loin
- 📚 Panorama des technologies serveur — où situer Tor, le chiffrement et l'hébergement dans une stack souveraine.
- 🔒 Sécurité serveur — durcir la machine qui héberge votre service.
Un service onion ne « cache » pas un site : il le rend joignable sans intermédiaire de confiance et sans exposer le serveur. La technique est simple ; la rigueur anti-fuites fait toute la différence.