Je vous ai dit à quel point j’étais content d’avoir joué à chiffrer mes disques durs avant d’en ressentir le besoin1 ? Du coup, en assistant au talk Tor onion services more useful than you think lors du 32c3, je me suis dit qu’il était temps de m’intéresser à ces derniers.
Pour commencer il faut installer le paquet tor
, depuis le dépôt du projet,
afin d’être sûr d’avoir la dernière version. Je vous laisse suivre la
documentation officielle pour
cette partie (ça évitera que vous suiviez des instructions obsolètes).
Et on installe tor :
# apt update
# apt install tor deb.torproject.org-keyring
Pour chaque service que vous souhaitez exposer via tor, si suffit d’ajouter ces
deux lignes dans le fichier /etc/tor/torrc
:
HiddenServiceDir /var/lib/tor/search.homecomputing.fr
HiddenServicePort 80 127.0.0.1:80
Une fois le service tor rechargé, vous trouverez deux fichiers dans le répertoire :
/var/lib/tor/search.homecomputing.fr
├── hostname
└── private_key
Il vous reste plus qu’à ajouter le contenu du fichier hostname
(qui, comme son
nom le laisse penser, contient votre domaine .onion) à la configuration de votre
serveur web et le redémarrer :
server_name ayobcipurplcm6ba.onion;
Et voilà le résultat : http://ayobcipurplcm6ba.onion. Tous simplement. Si vous souhaitez ajouter un autre site, il suffit de répéter ses deux étapes.
Pour obtenir un nom de domaine un peu moins aléatoire, vous pouvez utiliser shallot :
$ shallot '^sanpi'
------------------------------------------------------------------
Found matching domain after 30429473 tries: sanpii6qqjdzws77.onion
------------------------------------------------------------------
-----BEGIN RSA PRIVATE KEY-----
…
-----END RSA PRIVATE KEY-----
Comme l’indique le readme du projet, il va falloir être raisonnable sur le nombre de caractères :
characters | time to generate (approx.)
---------------------------------------
1 | less than 1 second
2 | less than 1 second
3 | less than 1 second
4 | 2 seconds
5 | 1 minute
6 | 30 minutes
7 | 1 day
8 | 25 days
9 | 2.5 years
10 | 40 years
11 | 640 years
12 | 10 millenia
13 | 160 millenia
14 | 2.6 million years
Ensuite, copier simplement le nom de domaine et la clés privée dans les fichiers vu précédemment et voilà : http://sanpii6qqjdzws77.onion.
Vous pouvez bien évidemment créer des sous domaines. Rien de spécial à faire,
simplement renseigner le server_name
: http://sanpi.hcptwrrqn6iuhmsv.onion.
Le plus compliqué dans l’histoire n’est pas tor mais vos services : il faut vous assurer que le maximum de ressources sont servies via tor pour éviter les fuites de données de vos visiteurs.
-
Durant l’état d’urgence, lors de perquisition, les données présentes sur les lieux peuvent copiées : http://www.legifrance.gouv.fr/eli/loi/2015/11/20/2015-1501/jo/article_4 ↩