Tous les systèmes opérationnels 6 régions offshore Paiement sans KYC
Hands-on Guide pratique

Héberger un service onion Tor sur un VPS offshore

Un service onion retourne le problème habituel de l'hébergement comme un gant : plutôt que de publier une adresse puis de passer le reste du guide à dissimuler ce qui se trouve derrière, vous ne publiez rien du tout. Le serveur n'ouvre aucun port entrant, n'annonce aucune IP, n'a besoin ni de domaine ni de certificat — il se contente de sortir vers le réseau Tor, et les clients atteignent le service via un point de rendez-vous qu'aucune des deux parties ne peut relier à une machine. C'est une dissimulation d'origine plus solide que n'importe quel reverse proxy, et cela s'accorde naturellement avec une machine qui n'a de toute façon aucune identité qui lui soit attachée. Ce guide en met un en place de bout en bout sur un VPS offshore : un Tor à jour, une application liée à localhost, un torrc de trois lignes, et le seul fichier dont la perte ou la fuite met tout en jeu.

Mis à jour le 2026-09-08 · Lecture 15 min · Gestion de parc
Sur cette page
  1. Ce qu'est réellement un service onion
  2. Quand c'est le bon outil — et quand ça ne l'est pas
  3. Ce que cette configuration révèle, et à qui
  4. Installez un Tor à jour, pas celui fourni par votre distribution
  5. Liez l'application à localhost, et rien d'autre
  6. Déclarez le service, puis lisez votre adresse
  7. Faites-le connaître, faites tourner les deux, et choisissez une adresse mémorable
  8. Le maintenir en état : performance, supervision et hygiène de la clé
  9. Étape par étape
SP·01

Ce qu'est réellement un service onion

Un service onion Tor est un serveur qui n'est joignable qu'à travers le réseau Tor, à une adresse se terminant en .onion et dérivée d'une clé cryptographique plutôt qu'attribuée par un registraire. Il n'y a aucune résolution DNS, aucune IP publique dans le moindre enregistrement, et aucun certificat TLS à acheter : l'adresse de 56 caractères est la clé publique du service, si bien que la connexion est authentifiée et chiffrée de bout en bout par construction. Un visiteur utilisant Tor Browser saisit l'adresse ; le réseau organise un point de rencontre chiffré ; les deux parties se parlent sans qu'aucune n'apprenne la localisation de l'autre. Personne au milieu — ni un relais, ni un FAI, ni l'hébergeur — ne voit les deux bouts de la conversation à la fois.

La conséquence qui compte pour l'hébergement est structurelle, pas cosmétique. Un serveur web classique doit écouter sur un port public, ce qui signifie que son adresse est détectable, scannable, et in fine reliable à celui qui paie la facture. Un service onion n'écoute sur rien que l'internet puisse atteindre. Tor sur la machine n'établit que des connexions sortantes, construit des circuits vers une poignée de points d'introduction, et attend. Le service est en ligne et sert du trafic pendant que ss -tlnp ne montre rien lié à une adresse routable. Cette inversion est la seule et unique raison d'en faire tourner un.

SP·02

Quand c'est le bon outil — et quand ça ne l'est pas

Optez pour un service onion quand l'emplacement de la machine fait partie de ce que vous protégez : un site qui doit rester joignable même si son domaine clearnet est saisi, une boîte de soumission pour des sources ou des chercheurs, un panneau d'administration que vous préférez ne pas exposer du tout à l'internet qui scanne, ou un service dont l'audience utilise déjà Tor et apprécie que vous ne puissiez pas journaliser une IP que vous ne recevez jamais. C'est aussi la réponse honnête quand "dissimuler l'origine" est l'exigence réelle — un reverse proxy devant un serveur clearnet ne fait que déplacer la cible, alors qu'un service onion la supprime.

C'est le mauvais outil quand vos visiteurs ne veulent pas ou ne peuvent pas utiliser Tor, quand vous avez besoin du débit brut et de la latence sous les 100 millisecondes d'un serveur directement joignable, ou quand la découvrabilité est justement l'objectif — une adresse onion n'est pas le genre de chose sur laquelle on tombe depuis un moteur de recherche. Beaucoup d'opérateurs coupent la poire en deux et font tourner les deux : un site normal pour la portée et un service onion pour les utilisateurs qui le souhaitent, servis depuis la même application. Nous couvrons ce schéma plus bas. Rien ici ne remplace le durcissement de la machine elle-même ; si elle est compromise, sa localisation et son contenu fuient quelle que soit la façon dont elle est publiée — traitez donc la checklist de durcissement de la première heure comme un prérequis, pas comme une réflexion après coup.

SP·03

Ce que cette configuration révèle, et à qui

Il vaut la peine d'être précis sur le modèle d'anonymat, parce qu'on suppose souvent que "service onion" signifie "intraçable", alors que la réalité est plus spécifique. Les clients n'apprennent jamais l'adresse IP du serveur — cette propriété est solide et c'est bien tout l'enjeu. Votre hébergeur, en revanche, voit toujours une machine sur son réseau établir un flux constant de connexions sortantes chiffrées vers le réseau Tor ; il ne peut voir ni l'adresse onion, ni le contenu, ni les visiteurs, mais il peut voir que la machine parle Tor. Chez un hébergeur grand public lié à votre identité, voilà un fil qu'il vaut la peine de tirer. Sur un VPS offshore payé anonymement et sans nom au dossier, cela ne mène nulle part — ce qui est précisément pourquoi les deux techniques vont de pair.

Les modes de défaillance qui désanonymisent réellement les services onion ne sont presque jamais Tor lui-même. Ce sont l'application qui laisse fuiter une IP réelle dans une page d'erreur, un en-tête, un e-mail qu'elle envoie, ou une requête sortante vers un service d'analytics ou de mise à jour clearnet ; un serveur mal configuré qui révèle son hostname ou son fuseau horaire ; ou une corrélation créée par l'opérateur qui réutilise la même machine, la même clé, ou le même style d'écriture à travers une identité clearnet. La cryptographie tient bon ; c'est la plomberie autour qui fait tomber les gens. Chaque étape ci-dessous est écrite pour garder cette plomberie étanche — lier à localhost, ne rien envoyer en clair vers l'extérieur, et garder l'identité réelle de la machine hors de la machine, voir garder son nom à l'écart d'un serveur.

SP·04

Installez un Tor à jour, pas celui fourni par votre distribution

Les distributions figent Tor à la version qui accompagnait leur sortie, et les défenses des services onion évoluent vite — la protection contre le déni de service des points d'introduction, l'authentification client v3 et plusieurs correctifs de stabilité sont tous arrivés dans des versions plus récentes que ce qu'une Debian ou une Ubuntu stable embarque par défaut. Installez depuis le dépôt signé du Tor Project lui-même, pour suivre les versions actuelles et recevoir les mises à jour de sécurité selon son propre calendrier, pas celui de la distribution. L'extrait ci-dessous détecte automatiquement le nom de code de votre version et épingle le dépôt à la clé de signature du projet, si bien qu'un attaquant qui altère le miroir ne peut pas vous livrer un paquet rétrogradé.

Tor tourne sans privilège sous l'utilisateur debian-tor sur Debian et Ubuntu, se place dans un bac à sable, et n'a besoin d'aucun privilège réseau particulier — il compose vers l'extérieur comme n'importe quel client. Il n'y a rien à ouvrir dans le pare-feu pour le service onion lui-même, ce qui est la première bonne surprise de tout l'exercice : votre pare-feu default-deny peut rester exactement aussi strict qu'il l'était.

SP·05

Liez l'application à localhost, et rien d'autre

Un service onion est une porte d'entrée vers un simple service local — un serveur web, une application, un démon SSH, tout ce qui parle TCP. La règle qui garantit la sécurité de l'ensemble est que ce service local ne doit écouter que sur l'interface de loopback, 127.0.0.1. S'il écoute aussi sur l'IP publique, vous avez discrètement recréé le problème que le service onion était censé résoudre : le contenu devient directement joignable et identifiable, et un scan qui associe votre serveur clearnet à votre contenu onion annule l'anonymat en une seule requête. Liez-vous au loopback, confirmez-le avec ss -tlnp, et faites en sorte que Tor soit la seule chose qui se connecte jamais à ce port.

Comme le trafic entre Tor et votre application reste sur 127.0.0.1, il ne touche jamais le réseau et n'a besoin d'aucun TLS propre — le circuit Tor chiffre déjà tout de bout en bout. Ne mettez pas de certificat auto-signé sur le listener en loopback ; cela ajoute une surface identifiable et n'apporte rien. Gardez l'application ennuyeuse : pas de redirections clearnet, pas de liens absolus du type https://your-domain codés en dur dans les templates, pas de polices ou d'analytics tierces qui feraient sortir le navigateur du visiteur hors de l'onion vers le web ouvert.

SP·06

Déclarez le service, puis lisez votre adresse

Le service onion tient en trois lignes de torrc : un répertoire où Tor conserve la matière clé, et une association entre un port virtuel de l'adresse onion et le port local sur lequel écoute votre application. Au premier redémarrage, Tor génère une paire de clés Ed25519 dans ce répertoire et écrit le fichier hostname — l'adresse .onion de 56 caractères que vous allez communiquer. Cette adresse est permanente tant que vous conservez la clé. Perdez la clé, et l'adresse disparaît pour toujours ; laissez-la fuiter, et quelqu'un d'autre peut usurper votre service. Traitez le HiddenServiceDir comme les joyaux de la couronne : 0700, appartenant à l'utilisateur Tor, sauvegardé chiffré et hors de la machine.

Deux réglages méritent leur place à côté de cette association. HiddenServiceEnableIntroDoSDefense 1 permet à vos points d'introduction de limiter le débit des inondations de connexions avant qu'elles n'atteignent votre machine, ce qui est ce qui se rapproche le plus d'une protection DDoS pour un service onion. Épingler HiddenServiceVersion 3 rend la version explicite et pérenne. Si le service doit rester privé plutôt que public, l'authentification client v3 la restreint aux détenteurs d'une clé que vous distribuez hors bande — une façon propre de faire tourner un panneau d'administration qui, tout simplement, ne répond à personne sans les identifiants.

SP·07

Faites-le connaître, faites tourner les deux, et choisissez une adresse mémorable

Si vous faites aussi tourner un site clearnet, signalez la version onion à Tor Browser avec l'en-tête de réponse Onion-Location (ou la balise meta HTML équivalente). Les navigateurs qui prennent en charge onion proposent alors automatiquement le .onion aux visiteurs — c'est la méthode standard qu'utilisent des sites comme les grands journaux ou les moteurs de recherche pour faire connaître le leur. Servir la même application à la fois sur un domaine et sur une adresse onion est la norme, pas un cas exotique : une seule base de code, une seule base de données, deux portes d'entrée, le côté clearnet se trouvant derrière le classique reverse proxy de dissimulation d'origine et le côté onion n'exposant rien du tout.

L'adresse par défaut est une chaîne aléatoire de 56 caractères, sécurisée mais impossible à retenir. Une adresse vanity vous permet de forcer par force brute une clé dont l'encodage base32 commence par un préfixe choisi — quelques caractères lisibles, c'est rapide, mais chaque caractère supplémentaire multiplie le travail par 32, si bien qu'au-delà de sept ou huit lettres cela devient un vrai chantier de calcul. Générez les clés vanity sur une machine locale de confiance, jamais sur le serveur, et déposez la clé obtenue dans le HiddenServiceDir exactement comme vous restaureriez une sauvegarde. Un préfixe reconnaissable désamorce aussi une attaque bien réelle : les clones de phishing qui comptent sur le fait que personne ne lit un mur de caractères aléatoires.

SP·08

Le maintenir en état : performance, supervision et hygiène de la clé

Une connexion onion traverse six relais au lieu des zéro habituels, donc la latence est plus élevée et le débit plus faible que sur un serveur directement joignable — c'est de la physique, pas une mauvaise configuration, et aucun réglage n'y change rien. Résistez à la tentation des modes à saut unique ou non anonymes pour regagner de la vitesse ; ils sacrifient exactement la propriété pour laquelle vous avez construit tout ceci. Ce que vous pouvez faire, c'est garder Tor à jour, laisser active la défense DoS des points d'introduction, mettre du cache devant un service très fréquenté pour que chaque requête fasse moins de travail, et dimensionner la machine avec de la marge CPU, parce que la cryptographie de Tor n'est pas gratuite. Un modeste VPS offshore à partir de $8.00/mois gère confortablement un site onion typique.

Sur le plan opérationnel, trois habitudes maintiennent un service onion en bonne santé. Surveillez journalctl -u tor@default pour les erreurs de joignabilité et de publication de descripteur, plutôt que de supposer que le silence signifie que tout va bien. Sauvegardez le HiddenServiceDir le jour même où vous le créez et après chaque changement, chiffré et hors de la machine, parce que cette clé est la seule chose que vous ne pouvez pas régénérer. Et gardez propre l'identité opérationnelle de la machine — une clé neuve sur un VPS anonyme flambant neuf ne vaut pas grand-chose si les mêmes habitudes d'opérateur la relient à un vous clearnet. Le service tournera volontiers pendant des années sans qu'on y touche ; la discipline est dans la plomberie autour, pas dans le service lui-même.

SP·09

Étape par étape

  1. 01

    Partez d'une machine durcie et anonyme

    Déployez un VPS offshore — en ligne en environ 15 min — et faites d'abord le travail ennuyeux mais essentiel : un utilisateur sudo nommé, un SSH par clé uniquement, un pare-feu default-deny, et des mises à jour de sécurité automatiques. Le service onion n'ajoute rien à ouvrir dans ce pare-feu, donc une machine verrouillée reste verrouillée. Ne sautez pas cette étape ; une adresse onion devant un serveur compromis ne cache rien.

    ssh admin@203.0.113.10
    sudo apt update && sudo apt full-upgrade -y
    # firewall stays default-deny; the onion service needs no inbound port
    sudo ufw status verbose
  2. 02

    Installez Tor depuis le dépôt du Tor Project

    Ajoutez le dépôt signé du projet pour faire tourner un Tor à jour avec les dernières défenses des services onion, puis installez-le. Le nom de code est détecté depuis /etc/os-release, et le dépôt est épinglé à la clé de signature de Tor, si bien qu'un miroir altéré ne peut pas vous faire rétrograder.

    sudo apt install -y apt-transport-https wget gpg
    . /etc/os-release
    wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
      | gpg --dearmor | sudo tee /usr/share/keyrings/tor.gpg >/dev/null
    echo "deb [signed-by=/usr/share/keyrings/tor.gpg] https://deb.torproject.org/torproject.org $VERSION_CODENAME main" \
      | sudo tee /etc/apt/sources.list.d/tor.list
    sudo apt update && sudo apt install -y tor deb.torproject.org-keyring
  3. 03

    Liez votre service à localhost uniquement

    Pointez ce que vous publiez vers l'interface de loopback, et nulle part ailleurs. Ici, nginx sert un site statique sur 127.0.0.1:8080 ; le même principe s'applique à n'importe quelle application — liez-vous à 127.0.0.1, pas à 0.0.0.0. Rechargez, puis prouvez avec ss que rien n'écoute sur une adresse routable.

    # /etc/nginx/sites-available/onion.conf
    server {
        listen 127.0.0.1:8080;
        server_name _;
        root /var/www/onion;
        index index.html;
    }

    Activez-le, rechargez, et confirmez que la liaison est réservée au loopback :

    sudo ln -s /etc/nginx/sites-available/onion.conf /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl reload nginx
    ss -tlnp | grep 8080   # must show 127.0.0.1:8080, never 0.0.0.0:8080
  4. 04

    Déclarez le service onion dans torrc

    Ajoutez le service à /etc/tor/torrc : un répertoire de clé et une association de port entre le port virtuel 80 de l'onion et votre port local 8080. Activez la défense DoS des points d'introduction et épinglez la version de l'adresse. Puis redémarrez Tor — sur Debian et Ubuntu, l'instance qui tourne est tor@default.

    # /etc/tor/torrc
    HiddenServiceDir /var/lib/tor/onion-www/
    HiddenServicePort 80 127.0.0.1:8080
    HiddenServiceVersion 3
    HiddenServiceEnableIntroDoSDefense 1
    
    sudo systemctl restart tor@default
  5. 05

    Lisez l'adresse et verrouillez la clé

    Tor a maintenant créé la matière clé et écrit votre adresse. Lisez-la, communiquez-la — et assurez-vous que le répertoire est en 0700 et appartient à l'utilisateur Tor, ce que Tor impose mais qu'une restauration négligente peut casser. Le fichier hs_ed25519_secret_key de ce répertoire est votre identité ; rien d'autre ne l'est.

    sudo cat /var/lib/tor/onion-www/hostname
    # example: 2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion
    
    sudo ls -l /var/lib/tor/onion-www/
    # hostname  hs_ed25519_public_key  hs_ed25519_secret_key
    sudo chown -R debian-tor:debian-tor /var/lib/tor/onion-www
    sudo chmod 700 /var/lib/tor/onion-www
  6. 06

    Testez-le via Tor, puis annoncez-le

    Vérifiez le service depuis une machine sur laquelle Tor tourne, en utilisant torsocks pour que la requête passe par le réseau plutôt que par le clearnet. Une fois qu'il répond, orientez éventuellement les visiteurs clearnet vers la version onion avec un en-tête Onion-Location sur votre site normal.

    # from any box running tor:
    torsocks curl -sSI http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/ | head
    
    # advertise the onion from your clearnet nginx (inside the https server block):
    add_header Onion-Location "http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion$request_uri";
  7. 07

    Sauvegardez la clé et rédigez le runbook

    L'adresse vit et meurt avec le répertoire de la clé. Archivez-le dès qu'il existe, déplacez l'archive hors de la machine vers un stockage chiffré, et notez que le restaurer n'importe où reproduit exactement la même adresse .onion. Notez ensuite les deux commandes dont vous aurez réellement besoin dans six mois — où se trouve la clé et comment vérifier l'état de santé — parce que le service va tourner sans qu'on y touche si longtemps que vous allez oublier.

    sudo tar czf onion-www-key.tar.gz -C /var/lib/tor onion-www
    # copy onion-www-key.tar.gz to encrypted off-box storage, then delete the local copy
    
    # health check any time:
    sudo systemctl status tor@default
    sudo journalctl -u tor@default --since "1 hour ago" | grep -i "onion\|error"
SP·10 — FAQ

Réponses rapides

Mon hébergeur peut-il voir mon adresse .onion ou ce que j'héberge ?

Non aux deux, avec une réserve qui mérite d'être posée clairement. L'hébergeur voit une machine établir des connexions sortantes chiffrées vers le réseau Tor — il ne peut pas en déduire l'adresse onion, ne peut pas voir le contenu, et ne voit jamais vos visiteurs, parce que la machine ne fait que composer vers l'extérieur et que le rendez-vous se déroule à l'intérieur du réseau. Ce qu'il peut observer, c'est que le serveur parle Tor tout court. C'est un non-problème sur un VPS offshore sans aucune identité attachée, et un fil potentiel chez un hébergeur grand public lié à votre nom — ce qui est précisément pourquoi l'hébergement anonyme et les services onion sont plus solides ensemble que chacun séparément.

Ai-je besoin d'un nom de domaine ou d'un certificat TLS ?

Ni l'un ni l'autre. L'adresse .onion est dérivée de la propre clé publique du service, donc elle ne nécessite aucun registraire et il n'y a rien à renouveler ni à faire fuiter. La connexion est authentifiée et chiffrée de bout en bout par Tor lui-même, c'est pourquoi les navigateurs traitent les origines onion comme sécurisées sans certificat. Vous pouvez obtenir un certificat listant votre adresse onion si vous voulez l'icône de cadenas, mais c'est facultatif et cela n'apporte aucune sécurité de transport supplémentaire — ne mettez pas de certificat auto-signé sur le listener en loopback en pensant que cela aide.

Service onion ou reverse proxy — lequel dissimule vraiment l'origine ?

Le service onion, et de loin. Un reverse proxy cache votre IP d'origine aux visiteurs occasionnels, mais l'origine reste un serveur à l'écoute, scannable ; quiconque trouve son adresse — via une mauvaise configuration, un enregistrement DNS qui a fuité, ou une application qui téléphone à la maison — l'atteint directement. Un service onion n'a aucune origine joignable à trouver : la machine n'écoute sur rien de routable et ne fait que composer vers l'extérieur. Utilisez un reverse proxy pour cacher un serveur clearnet que vous voulez garder rapide et public ; utilisez un service onion quand l'origine ne doit tout simplement pas exister en tant que cible. Beaucoup d'opérateurs font tourner les deux pour la même application.

Pourquoi mon service onion est-il plus lent qu'un site normal ?

Parce qu'une connexion vers lui traverse six relais Tor au lieu d'aller directement à votre serveur, ce qui ajoute de la latence et plafonne le débit. C'est inhérent au fonctionnement de l'anonymat, pas un défaut de votre configuration, et aucun réglage ne l'élimine. Vous pouvez atténuer cela : gardez Tor à jour, mettez en cache de façon agressive pour que chaque requête fasse moins de travail, gardez des pages légères, et donnez à la machine assez de CPU pour la cryptographie de Tor. Évitez les modes onion à saut unique ou non anonymes — ils regagnent de la vitesse en sacrifiant la confidentialité de localisation pour laquelle vous avez construit le service.

Puis-je faire tourner le même site à la fois sur le clearnet et en .onion ?

Oui, et c'est le schéma courant. Une seule application écoute sur loopback ; votre frontal clearnet et le service onion la sollicitent tous deux en proxy, si bien qu'il y a une seule base de code et une seule base de données derrière deux portes d'entrée. Annoncez l'onion aux utilisateurs de Tor Browser avec un en-tête Onion-Location côté clearnet. La seule discipline qui compte est d'éviter les fuites qui relient les deux — pas d'URL clearnet codées en dur, pas d'analytics ou de polices tierces, et pas de page d'erreur qui affiche le hostname ou l'IP réel du serveur.

Que se passe-t-il si je perds la clé, et comment fonctionnent les adresses vanity ?

Perdez le HiddenServiceDir et l'adresse disparaît définitivement — il n'y a ni récupération possible ni registraire vers qui se tourner, c'est pourquoi l'étape de sauvegarde n'est pas facultative. Restaurer ce répertoire sur n'importe quelle machine reproduit l'.onion identique. Une adresse vanity est une clé forcée par force brute jusqu'à ce que son encodage base32 commence par un préfixe de votre choix ; un court préfixe lisible est rapide à obtenir, mais chaque caractère supplémentaire multiplie la recherche par 32, si bien que les longues chaînes personnalisées deviennent de vrais chantiers de calcul. Générez les clés vanity sur une machine locale de confiance, puis installez la clé comme une sauvegarde restaurée — ne les générez jamais sur le serveur.

Passez à la pratique

VPS en ligne en 15 min, dédié remis en 2–12 h. Rechargez à partir de $30.00 en crypto — sans identité rattachée.

Déployer un VPS