Tor hidden service : site web accessible en DNS onion

site web accessible en DNS onion

Bonjour à tous, aujourd’hui je vous explique comment on fait pour rendre un site web accessible en DNS onion sur le réseau TOR. C’est assez simple à réaliser techniquement parlant, et ça ne sert pas à grand-chose si votre site est par ailleurs accessible depuis Internet normalement. Mais bon « because we can » après tout…

Hidden (& Dangerous) Service

Donc je suppose que vous avez déjà un site web configuré qui sert en HTTP et éventuellement HTTPS sur une machine accessible avec une IP publique. Voici la procédure pour rendre accessible un site web accessible en tant qu’hidden service TOR.

Commencer par installer Tor sur votre serveur.

# apt-get install tor

Vous devez ensuite indiquer dans le fichier de configuration du Tor qu’il doit annoncer un hidden service.

# vim /etc/tor/torrc

Puis dé-commenter et configurer les lignes suivantes :

#HiddenServiceDir /var/lib/tor/geekeries_org/
##HiddenServicePort 80 127.0.0.1:80
##HiddenServicePort 443 127.0.0.1:443

Le nom de votre hidden service Tor se trouve dans le fichier /var/lib/tor/geekeries_org/hostname. Redémarrer le service tor et ce dernier devrait être accessible immédiatement depuis un navigateur TOR correctement configuré.

Hidden Service Name à la carte

Il est possible de personnaliser un nom de service en « .onion » avec un petit logiciel de brute-force qui va générer des couples clés publiques et privée jusqu’à ce que la clé publique corresponde à un critère donné.  Le petit programme en question s’appelle eschalot et s’installe comme ça :

apt-get install libssl-dev
git clone https://github.com/ReclaimYourPrivacy/eschalot.git
cd eschalot
make
make tests

Pour chercher un nom de service commençant par « geek » sur 8 cœurs et sans s’arrêter au 1er match :

./eschalot -vct8 -p test # presque instantané

Ou pour chercher un nom de service commençant par « geek » et finissant par « ies » :

./eschalot -vct8 -r "^geek.*ies$"
Total hashes: 6067274159, running time: 2550 seconds, hashes per second: 2379323
Found a key for geekzg7kwmny4ies (16) - geekzg7kwmny4ies.onion
----------------------------------------------------------------
geekzg7kwmny4ies.onion
-----BEGIN RSA PRIVATE KEY-----
MIIC..

Une fois le nom du service Tor trouvé il faut l’ajouter dans la configuration d’nginx :

server_name geekeries.org www.geekeries.org geekzg7kwmny4ies.onion;

Et remplacer les valeurs présentes dans les fichiers hostname et private_key du dossier /var/lib/tor/geekeries_org/ par celles trouvées par eschalot.

Eh, on n’a pas touché au firewall là ?

Bein oui, le mécanisme des « DNS » en .onion fonctionne sur le principe d’un rendez-vous. Ce qui signifie que votre serveur va se connecter à un autre nœud du réseau Tor qui servira d’intermédiaire avec votre client. Du coup, votre machine se connecte à une autre qui elle servira le site, et vous n’avez donc pas besoin d’ouvrir un port spécifique en entrée. C’est très bien expliqué ici et en détail (§5 – Rendez vous Points and hidden services).

Un des trucs très « rigolo » avec ça c’est qu’il est donc possible d’héberger un site TOR derrière certain réseau d’entreprise si les firewalls ne sont pas correctement configurés pour bloquer les ports de TOR en sortie…

Voilà, c’est tout pour aujourd’hui, j’espère que ça vous aura intéressé, en tout cas vous pouvez désormais accédé à Geekeries.org via TOR et l’URL suivante.

geekzg7kwmny4ies.onion

Enfin, pour les admins  : souvenez-vous que je vous ai déjà expliqué comment détecter du trafic réseau TOR sur votre réseau d’entreprise

Sources :

Un commentaire concernant “Tor hidden service : site web accessible en DNS onion

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.