239 liens privés
🧅 OnionShare is an open-source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network.
Ce guide vous montre comment mettre en place un service onion pour votre site web. Pour plus de détails techniques sur le fonctionnement du protocole du service onion, voir notre page sur le protocole du service onion.
Aujourd’hui je vous présente un article hors-série qui traite du réseau Tor et de son fonctionnement. L’objectif de celui-ci est de vous montrer comment par le biais de la technique de l’UDP hole punching, nous allons pouvoir « publier » un service « caché » (dans notre cas OpenSSH) sur le réseau Tor. Le but est d’éviter d’ouvrir un quelconque port pour y accéder, et de rester « caché » (Voilà tout l’intérêt de cette technique.)
Oui, je sais ce que vous êtes en train de vous dire : Comment cela est possible ? Et bien grâce à L’UDP hole punching, nous pouvons nous passer d’ouvrir un port, afin de réaliser ce que l’on appelle du Nat Traversal.
une explication sur le fonctionnement du réseau TOR (coté serveur)
- Le serveur choisit les points d'introductions en leur communiquant sa clef publique (l'Identifiant n'est pas l'IP mais la clef publique)
- Le serveur fait un descripteur de service (Publique Key + IP des points d'introductions) et envoi le descripteur à la Hashtab distribuée de TOR
- Lorsque le client renseigne le domaine onion de la cible il télécharge la hashtab, grâce à cela il connaît les relais d’introductions et la publique key. Il créer un circuit parmi les relais jusqu’à fixer un point de rdv sur un relai choisit (il utilise un secret partagé)
- Le client assemble un descriptif en mixant celui du service onion avec le point de rdv et le secret partagé, puis envoi le descriptif aux points d'introductions du service onion (le descriptif est chiffré avec la Publique Key du service onion)
- Le point d'introduction communique le nouveau descriptif au service onion, puis le service créer un circuit entre les relais TOR jusqu'au point de rdv (il utilise le secret partagé du descriptif)
- Le point de RDV interconnecte le client et le service
Je vous explique comment héberger un service caché avec Nginx sur le
réseau Darknet Tor.
Passer en mode administrateur :
su - root
Ajouter les dépôts Tor :
nano /etc/apt/sources.list
#tor
deb https://deb.torproject.org/torproject.org/ buster main
deb-src https://deb.torproject.org/torproject.org/ buster main
Installez curl :
apt install curl
Importer les clefs :
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -
Installer Tor :
apt update
apt install tor deb.torproject.org-keyring
Installez Nginx :
apt -y install nginx
systemctl enable nginx && systemctl start nginx && systemctl enable tor && systemctl start tor
Installer et paramétrer le pare-feu :
Ouvrir les ports sur le par feu
apt install ufw
ufw default deny incoming && ufw allow 9050 && ufw enable
paramétrer tor
nano /etc/tor/torrc
#V3
HiddenServiceDir /var/lib/tor/hsv3
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:84
Paramétrer nginx :
nano /etc/nginx/nginx.conf
dans http { ... } :
server_names_hash_bucket_size 125;
server_tokens off;
Unlink le serveur par defaut :
unlink /etc/nginx/sites-enabled/default
Créer le blackhole :
nano /etc/nginx/sites-available/default-blackhole
server {
listen 84 default_server;
servername ;
access_log off;
return 444;
}
ln -s /etc/nginx/sites-available/default-blackhole /etc/nginx/sites-enabled/
Créer le site onion :
nano /etc/nginx/sites-available/onion
server {
listen 127.0.0.1:84;
server_name mon_adresse_onion.onion;
access_log off;
location @blackhole {
return 444;
}
location / {
root /var/www/html/;
index index.html;
error_page 403 404 500 502 503 504 =444 @blackhole;
}
}
ln -s /etc/nginx/sites-available/onion /etc/nginx/sites-enabled/
Avantages de l’auto-hébergement
Héberger chez soi les services que l’on utilise, ou s’auto-héberger présente plusieurs avantages :
- Les données restent chez vous. Cela veut dire que vous gardez le contrôle de vos fichiers. C’est particulièrement intéressant si vous aviez l’habitude de partager des documents à l’aide de service tiers (les photos chez Picasa, les vidéos sur YouTube, sans parler de Mega…). Ces données restent donc chez vous et ne sont pas sur un lointain serveur qui peut en faire on ne sait quoi.
-Votre vie privée est respectée. Par exemple, vos courriels ne seront pas scannés afin de vous proposer gratuitement des publicités correspondant à vos intérêts.- Vous pouvez avoir à portée de main des services qui répondent exactement à vos besoins.
- Vous pouvez utiliser du matériel à faible consommation électrique et faire ainsi attention à la planète.
- S’auto-héberger, c’est amusant et instructif. Cela permet de mieux comprendre le fonctionnement d’internet.
Art. 2318) 1Les nom, prénom et date de naissance des hôtes doivent être
enregistrés et transmis chaque jour à la police.
2La transmission est effectuée par le guichet unique.
3Pour les petits établissements totalisant moins de cinquante nuitées par année
civile ou rencontrant des situations particulières, le service peut, avec l’accord
préalable de la police, autoriser une autre forme de transmission.
4Le titulaire de l’autorisation ou son personnel peuvent faire appel à la police
neuchâteloise en cas de refus de l’hôte de donner les informations requises.
Manifestations publiques
Art. 4028) 1 Ne constituent pas des manifestations publiques, les événements ou prestations qui sont:
- a) réservés à des invités selon une liste préétablie;
- b) destinés aux personnes qui fréquentent un établissement scolaire ou de soins et leur famille;
- c) destinés aux habitants d'un quartier, ne font pas l'objet de publicité au-delà, ne comportent pas de vente de boissons spiritueuses et ne réunissent pas plus de 200 personnes;
- d) de nature culturelle, religieuse ou sportive et se déroulent dans des lieux conçus à cet effet;
- e) organisés dans ses locaux par le titulaire d'une autorisation d'exploiter un établissement public, dans le respect des conditions de l'autorisation.
5.1 Points de rendez-vous dans Tor
Les étapes suivantes sont réalisées au nom d'Alice et de Bob par leurs OP locaux ; l'intégration des applications est décrite plus en détail ci-dessous.
- Bob génère une paire de clés publiques à long terme pour identifier son service.
- Bob choisit quelques points d'introduction et les annonce sur le service de recherche, en signant l'annonce avec sa clé publique. Il peut en ajouter d'autres ultérieurement.
- Bob construit un circuit vers chacun de ses points d'introduction et leur demande d'attendre les demandes.
- Alice apprend l'existence du service de Bob par la bande (peut-être que Bob le lui a dit, ou qu'elle l'a trouvé sur un site web). Elle récupère les détails du service de Bob auprès du service de recherche. Si Alice souhaite accéder au service de Bob de manière anonyme, elle doit se connecter au service de recherche via Tor.
- Alice choisit un OU comme point de rendez-vous (PR) pour sa connexion au service de Bob. Elle construit un circuit vers le point de rendez-vous et lui donne un "cookie de rendez-vous" choisi au hasard pour reconnaître Bob.
- Alice ouvre un flux anonyme vers l'un des points d'introduction de Bob et lui transmet un message (chiffré à l'aide de la clé publique de Bob) dans lequel elle se présente, indique son RP et son cookie de rendez-vous, ainsi que le début d'une poignée de main DH. Le point d'introduction envoie le message à Bob.
- Si Bob veut parler à Alice, il établit un circuit vers le RP d'Alice et envoie le cookie de rendez-vous, la seconde moitié de la poignée de main DH et un hachage de la clé de session qu'ils partagent désormais. Selon le même raisonnement que dans la section 4.2, Alice sait qu'elle ne partage la clé qu'avec Bob.
- Le RP relie le circuit d'Alice à celui de Bob. Notez que le RP ne peut reconnaître ni Alice, ni Bob, ni les données qu'ils transmettent.
- Alice envoie une cellule relais begin le long du circuit. Elle arrive au PO de Bob, qui se connecte au serveur web de Bob.
- Un flux anonyme a été établi et Alice et Bob communiquent normalement.
Lors de l'établissement d'un point d'introduction, Bob fournit au routeur en oignon la clé publique identifiant son service. Bob signe ses messages, de sorte que d'autres ne puissent pas usurper son point d'introduction à l'avenir. Il utilise la même clé publique pour établir les autres points d'introduction de son service et actualise périodiquement son entrée dans le service de recherche.
Le message qu'Alice transmet au point d'introduction comprend un hachage de la clé publique de Bob et un jeton d'autorisation initial facultatif (le point d'introduction peut effectuer une présélection, par exemple pour bloquer les rediffusions). Le message qu'elle envoie à Bob peut inclure un jeton d'autorisation de bout en bout afin que Bob puisse choisir de répondre ou non. Les jetons d'autorisation peuvent être utilisés pour fournir un accès sélectif : les utilisateurs importants peuvent bénéficier d'un accès ininterrompu. Dans des situations normales, le service de Bob peut simplement être offert directement par les miroirs, tandis que Bob distribue des jetons aux utilisateurs prioritaires. Si les miroirs sont détruits, ces utilisateurs peuvent accéder au service de Bob via le système de rendez-vous Tor.
Les points d'introduction de Bob sont eux-mêmes sujets à des attaques par déni de service - il doit ouvrir de nombreux points d'introduction pour ne pas risquer une telle attaque. Il peut fournir à des utilisateurs sélectionnés une liste actuelle ou un calendrier futur des points d'introduction non annoncés ; cette solution est plus pratique s'il existe un groupe stable et important de points d'introduction. Bob peut également fournir des clés publiques secrètes pour la consultation du service de recherche. Toutes ces approches limitent l'exposition, même lorsque certains utilisateurs sélectionnés sont de connivence avec le service de recherche.
Amazon is used as web hosting provider by 5.7% of all the websites.