Hébergement ail et oignon: comment augmenter une ressource Web pour que le domaine ne soit pas enlevé





Avertissement: Les outils décrits ici sont entièrement légaux. C'est comme un couteau: quelqu'un coupe le chou en salade, quelqu'un l'utilise pour les attaques. Par conséquent, le poste est exclusivement dédié aux outils qui peuvent être utilisés à la fois à des fins bonnes et mauvaises.



Le DNS mondial est une chose merveilleuse qui a survécu à des décennies. Mais il a un problème fondamental - votre domaine peut simplement être divisé s'ils décident soudainement que vous avez violé quelque chose. Ou quelqu'un avec de l'argent et des relations aura de la rancune contre vous. Tout le monde se souvient de l'histoire des mêmes torrents.ru. Si, pour une raison quelconque, vous souhaitez supprimer de tels risques, vous pouvez vous tourner vers des réseaux de superposition qui ne disposent tout simplement pas d'un régulateur capable de diviser un nom de domaine. Par conséquent, nous augmenterons les ressources Web oignon et i2p.



Rondelles d'oignon



Commençons par les classiques. Je pense que sur Habré, presque tout le monde a utilisé Tor sous la forme du bundle Tor-browser . Cela m'a beaucoup aidé quand, dans le processus de recherche de Telegram, ils ont soudainement commencé à rompre brusquement la connectivité avec les plus grands hébergeurs dans les endroits les plus inattendus. Dans ce mode, Tor utilise le cryptage classique de l'oignon, enveloppant les données couche par couche de telle manière qu'il est impossible d'établir la source et la destination du paquet. Néanmoins, le point final de la route est toujours l'Internet régulier, où nous nous retrouvons via les nœuds de sortie.



Cette solution présente plusieurs problèmes:



  1. Exit- , , . , , , .
  2. tor , .


-



Par conséquent, nous augmenterons la ressource d'oignon directement dans le réseau, sans accès à Internet ordinaire. Par exemple, comme point d'entrée de sauvegarde supplémentaire pour votre ressource. Supposons que vous ayez déjà un serveur Web avec du contenu servi par nginx. Pour commencer, si vous ne voulez pas être sur l'Internet public, ne soyez pas trop paresseux pour aller sur iptables et configurer votre pare-feu. Vous devez être empêché d'accéder à votre serveur Web de n'importe où sauf localhost. En conséquence, vous avez un site accessible localement chez localhost : 8080 /. La fixation supplémentaire de https sera ici redondante, car le transport tor prendra en charge cette tâche.



Extension du TOR



Je considérerai l'installation en utilisant Ubuntu comme exemple, mais il n'y aura pas de différences fondamentales avec les autres distributions. Tout d'abord, définissons le référentiel. La documentation officielle ne recommande pas d'utiliser des packages gérés par la distribution elle-même, car ils peuvent contenir des vulnérabilités critiques qui ont déjà été corrigées en amont par les développeurs. De plus, les développeurs recommandent d'utiliser le mécanisme de mises à niveau sans assistance pour les mises à jour automatiques afin d'assurer leur livraison en temps opportun.



Créez un fichier pour un référentiel supplémentaire:



# nano /etc/apt/sources.list.d/tor.list


Et ajoutez-y les adresses nécessaires:



deb https://deb.torproject.org/torproject.org bionic main
deb-src https://deb.torproject.org/torproject.org bionic main


Nous devons maintenant nous occuper de la clé gpg, sans laquelle le serveur ne fera raisonnablement pas confiance aux nouveaux paquets.



# curl https://deb.torproject.org/torproject.org A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
# gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -


Vous pouvez maintenant installer le package principal en amont et le trousseau pour le renouvellement automatique de la signature.



# apt update
# apt install tor deb.torproject.org-keyring


Configuration du proxy



Dans / etc / tor / torrc, vous trouverez le fichier de configuration du démon. Après l'avoir mis à jour, n'oubliez pas de le redémarrer.

Je veux juste avertir les utilisateurs particulièrement curieux. N'activez pas le mode relais sur votre machine domestique! Surtout en mode de sortie de nœud. Ils peuvent frapper. Sur un VPS, je ne configurerais pas non plus le nœud en tant que relais, car cela créerait une charge assez importante à la fois sur le processeur et le trafic. Sur un large canal, vous pouvez facilement atteindre 2 à 3 téraoctets par mois.



Trouvez une section dans torrc qui ressemble à ceci:



############### This section is just for location-hidden services ###


Ici, vous devez enregistrer votre ressource Web localhost. Plus ou moins comme ceci:



HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080


Ou vous pouvez utiliser des sockets unix:



HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 unix:/path/to/socket


Nous obtenons l'adresse



Voilà, maintenant nous redémarrons le démon tor via systemctl et regardons HiddenServiceDir. Il y aura plusieurs fichiers - la clé privée et votre nom d'hôte oignon. C'est un identifiant aléatoire de 16 caractères. Par exemple, gjobqjj7wyczbqie.onion est l'adresse de la ressource de recherche Candle. L'adresse est complètement aléatoire, mais avec une recherche suffisamment longue, il est possible de générer une paire lisible par l'homme à partir de l'adresse et de la clé privée. Bien sûr, pas tous les 16 personnages - cela prendrait des milliards d'années. Par exemple, le catalogue bien connu des livres de Flibusta a un miroir flibustahezeous3.onion , et Facebook a dépensé beaucoup de ressources pour choisir la plus euphonique parmi les options générées: facebookcorewwwi.onion .



Voilà, après un certain temps, votre ressource sera annoncée et deviendra disponible dans le monde entier. Veuillez noter que vous pouvez non seulement utiliser le protocole http, mais également tout autre protocole.



Ail



image

La deuxième option a été conçue comme encore plus paranoïaque par nature. Le projet i2p n'a pas été conçu à l'origine comme un moyen de proxy du trafic vers l'Internet ordinaire et, de par son architecture, est un réseau de superposition complètement fermé. Des portes séparées dans les deux sens existent, mais c'est plutôt une exception. Et c'est potentiellement dangereux.



image

Logo i2p de référence rouge et implémentation i2pd magenta



I2p propose plusieurs options pour implémenter des nœuds de routeur logiciel. L'implémentation officielle est écrite en Java. Et il dévore monstrueusement toutes les ressources disponibles à la fois en termes de RAM et de CPU. Néanmoins, c'est elle qui est considérée comme la référence et qui est régulièrement auditée. Je vous recommande d'utiliser la version beaucoup plus légère, i2pd, écrite en C ++. Il a ses propres nuances qui peuvent provoquer l'échec de certaines applications i2p, mais dans l'ensemble, c'est une excellente implémentation alternative. Le projet est activement scié à l'heure actuelle.



Installez le démon



La meilleure partie est que les auteurs ont fourni de nombreuses options de déploiement, y compris docker et snap. Vous pouvez suivre la voie du référentiel classique.



sudo add-apt-repository ppa:purplei2p/i2pd
sudo apt-get update
sudo apt-get install i2pd


Mais je conseillerais d'utiliser snap. Il déploiera non seulement rapidement et facilement le démon, mais fournira également des mises à jour automatiques directement à partir de l'amont, en fonction du canal de distribution sélectionné.



no_face@i2pd:~$ snap info i2pd
name:      i2pd
summary:   Distributed anonymous networking framework
publisher: Darknet Villain (supervillain)
store-url: https://snapcraft.io/i2pd
license:   BSD-3-Clause
description: |
  i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.
  I2P (Invisible Internet Protocol) is a universal anonymous network layer.
  All communications over I2P are anonymous and end-to-end encrypted,
  participants don't reveal their real IP addresses.
snap-id: clap1qoxuw4OdjJHVqEeHEqBBgIvwOTv
channels:
  latest/stable:    2.32.1 2020-06-02 (62) 16MB -
  latest/candidate: ↑
  latest/beta:      ↑
  latest/edge:      2.32.1 2020-06-02 (62) 16MB -


Installez snap si vous ne l'avez pas déjà fait et définissez l'option stable par défaut:



apt install snapd
snap install i2pd


Configurer



Contrairement à la version Java web-gui, i2pd n'a pas autant de paramètres, de rebondissements et d'onglets. Seules les choses les plus nécessaires avant l'ascèse. Cependant, le moyen le plus simple est de le configurer directement dans le fichier de configuration.



Pour que votre ressource Web devienne disponible dans i2p, vous devez la proxy de la même manière qu'avec l'oignon. Pour ce faire, allez dans ~ / .i2pd / tunnels.conf et ajoutez votre backend.



[anon-website]
type = http
host = 127.0.0.1
port = 8080
keys = anon-website.dat


Après avoir redémarré le démon, vous obtiendrez une adresse 32 bits aléatoire. Il peut être consulté dans la console Web, qui est disponible par défaut à 127.0.0.1 : 7070 /? Page = i2p_tunnels. N'oubliez pas d'en autoriser l'accès à partir de votre adresse IP, si nécessaire. Par défaut, il n'est disponible que sur l'interface locale. Il y aura quelque chose d'effrayant comme ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p.



Le réseau i2p a un semblant de DNS, mais il ressemble plus à une liste dispersée de / etc / hosts. Vous vous abonnez à des sources spécifiques dans la console qui vous indiquent comment accéder au flibusta.i2p conditionnel . Par conséquent, il est logique d'ajouter un nom plus ou moins beau à de grandes ressources comme inr.i2p.



I2p et oignon peuvent-ils être déployés avec nous?



Je veux juste avertir RuVDS pas d'hébergement à l'épreuve des balles. En cas de réclamation motivée contre notre client, nous pouvons résilier le contrat et éteindre la machine virtuelle. La plupart des hébergeurs feront de même. Cependant, en raison des particularités de l'architecture tor et en particulier d'i2p, il est très difficile, et souvent tout simplement impossible, de déterminer exactement où le site est hébergé.



Néanmoins, il n'y a rien d'illégal dans l'utilisation même de tels outils. Par conséquent, cela ne nous dérangera pas si vous ouvrez un miroir de votre ressource Web juridique dans les réseaux de superposition. Dans tous les cas, je recommande fortement à nouveau de ne pas expérimenter aveuglément avec tor sur votre machine domestique. Soit l'adresse IP peut être mise sur liste noire, soit le patif arrivera. Mieux vaut louer un VPS, c'est peu coûteux.






All Articles