Haftungsausschluss: Die hier beschriebenen Tools sind völlig legal. Es ist wie mit einem Messer: Jemand schneidet Kohl in einen Salat, jemand benutzt ihn für Angriffe. Daher ist der Beitrag ausschließlich Tools gewidmet, die sowohl für gute als auch für schlechte Zwecke verwendet werden können.
Globales DNS ist eine wunderbare Sache, die Jahrzehnte überlebt hat. Aber er hat ein grundlegendes Problem - Ihre Domain kann einfach aufgeteilt werden, wenn sie plötzlich entscheiden, dass Sie etwas verletzt haben. Oder jemand mit Geld und Verbindungen wird einen Groll gegen Sie haben. Jeder erinnert sich an die Geschichte der gleichen Torrents.ru. Wenn Sie aus irgendeinem Grund solche Risiken beseitigen möchten, können Sie sich auf Overlay-Netzwerke konzentrieren, die einfach keinen Regler haben, der einen Domainnamen teilen kann. Aus diesem Grund werden wir Zwiebel- und i2p-Webressourcen bereitstellen.
Zwiebelringe
Beginnen wir mit den Klassikern. Ich denke, dass auf Habré fast jeder Tor in Form des Tor-Browser- Bundles verwendet hat . Es hat mir sehr geholfen, als sie bei der Suche nach Telegramm plötzlich anfingen, die Verbindung zu den größten Hostern an den unerwartetsten Orten abrupt zu unterbrechen. In diesem Modus verwendet Tor die klassische Zwiebelverschlüsselung und schichtet Schicht für Schicht Daten so ein, dass es unmöglich wäre, die Quelle und das Ziel des Pakets zu bestimmen. Trotzdem ist der Endpunkt der Route immer noch das reguläre Internet, wo wir über die Exit-Knoten landen.
Diese Lösung hat mehrere Probleme:
- Exit- , , . , , , .
- tor , .
-
Daher werden wir die Zwiebelressource direkt im Netzwerk ohne Zugang zum regulären Internet erhöhen. Zum Beispiel als zusätzlicher Backup-Einstiegspunkt für Ihre Ressource. Nehmen wir an, Sie haben bereits einen Webserver mit Inhalten, die von nginx bereitgestellt werden. Wenn Sie nicht im öffentlichen Internet glänzen möchten, sollten Sie zunächst nicht faul sein, zu iptables zu gehen und eine Firewall einzurichten. Sie müssen daran gehindert sein, von überall außer localhost auf Ihren Webserver zuzugreifen. Als Ergebnis haben Sie eine Site erhalten, auf die lokal unter localhost zugegriffen werden kann : 8080 /. Eine zusätzliche Befestigung von https wird hier überflüssig, da der Tor-Transport diese Aufgabe übernimmt.
TOR erweitern
Ich werde die Installation mit Ubuntu als Beispiel betrachten, aber es wird keine grundlegenden Unterschiede zu anderen Distributionen geben. Definieren wir zunächst das Repository. In der offiziellen Dokumentation wird nicht empfohlen, Pakete zu verwenden, die von der Distribution selbst verwaltet werden, da sie möglicherweise kritische Schwachstellen enthalten, die bereits von Entwicklern vorab gepatcht wurden. Darüber hinaus empfehlen die Entwickler, den Mechanismus für unbeaufsichtigte Upgrades für automatische Updates zu verwenden, um deren rechtzeitige Lieferung sicherzustellen.
Erstellen Sie eine Datei für ein zusätzliches Repository:
# nano /etc/apt/sources.list.d/tor.list
Und fügen Sie die erforderlichen Adressen hinzu:
deb https://deb.torproject.org/torproject.org bionic main
deb-src https://deb.torproject.org/torproject.org bionic main
Jetzt müssen wir uns um den GPG-Schlüssel kümmern, ohne den der Server neuen Paketen vernünftigerweise nicht vertraut.
# curl https://deb.torproject.org/torproject.org A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
# gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -
Jetzt können Sie das Hauptpaket von Upstream und den Schlüsselbund für die automatische Erneuerung der Signatur installieren.
# apt update
# apt install tor deb.torproject.org-keyring
Proxy konfigurieren
In / etc / tor / torrc finden Sie die Konfigurationsdatei für den Daemon. Vergessen Sie nach dem Aktualisieren nicht, es neu zu starten.
Ich möchte nur besonders neugierige Benutzer warnen. Aktivieren Sie den Relaismodus auf Ihrem Heimcomputer nicht! Besonders im Exit-Node-Modus. Sie können klopfen. Auf einem VPS würde ich den Knoten auch nicht als Relay konfigurieren, da dies sowohl den Prozessor als auch den Datenverkehr erheblich belastet. Auf einem breiten Kanal können Sie problemlos 2-3 Terabyte pro Monat erreichen.
Suchen Sie in Torrc einen Abschnitt, der folgendermaßen aussieht:
############### This section is just for location-hidden services ###
Hier müssen Sie Ihre localhost-Webressource registrieren. Ungefähr so:
HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080
Oder Sie können Unix-Sockets verwenden:
HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 unix:/path/to/socket
Wir bekommen die Adresse
Das war's, jetzt starten wir den tor-Daemon über systemctl neu und schauen uns HiddenServiceDir an. Es gibt mehrere Dateien - einen privaten Schlüssel und Ihren Zwiebel-Hostnamen. Es ist eine zufällige Kennung mit 16 Zeichen. Beispielsweise ist gjobqjj7wyczbqie.onion die Adresse der Candle- Suchressource . Die Adresse ist völlig zufällig, aber bei einer ausreichend langen Suche können Sie aus der Adresse und dem privaten Schlüssel ein für Menschen lesbares Paar generieren. Natürlich nicht alle 16 Zeichen - es würde Milliarden von Jahren dauern. Zum Beispiel hat der bekannte Katalog von Flibustas Büchern einen Spiegel flibustahezeous3.onion , und Facebook hat viele Ressourcen aufgewendet, um die euphonischsten aus den generierten Optionen auszuwählen: facebookcorewwwi.onion .
Das war's, nach einiger Zeit wird Ihre Ressource angekündigt und weltweit verfügbar sein. Bitte beachten Sie, dass Sie nicht nur das http-Protokoll, sondern auch jedes andere als Proxy verwenden können.
Knoblauch
Die zweite Option wurde als noch paranoider konzipiert. Das i2p-Projekt wurde ursprünglich nicht als Proxy für die Weitergabe von Datenverkehr an das reguläre Internet konzipiert und ist architektonisch ein vollständig geschlossenes Overlay-Netzwerk. Es gibt separate Tore in beide Richtungen, dies ist jedoch eher eine Ausnahme. Und es ist möglicherweise unsicher.
Rotes i2p-Referenzlogo und magentafarbene i2pd-Implementierung
I2p bietet verschiedene Optionen zum Implementieren von Software-Router-Knoten. Die offizielle Implementierung ist in Java geschrieben. Und es verschlingt einfach alle verfügbaren Ressourcen, sowohl in Bezug auf RAM als auch in Bezug auf die CPU. Dennoch gilt sie als Referenz und wird regelmäßig geprüft. Ich würde empfehlen, dass Sie die viel leichtere Version i2pd verwenden, die in C ++ geschrieben ist. Es hat seine eigenen Nuancen, die dazu führen können, dass einige i2p-Anwendungen fehlschlagen, aber insgesamt ist es eine großartige alternative Implementierung. Das Projekt wird derzeit aktiv gesägt.
Installieren Sie den Dämon
Das Beste daran ist, dass die Autoren viele Bereitstellungsoptionen bereitgestellt haben, einschließlich Docker und Snap. Sie können den Weg des klassischen Repositorys gehen.
sudo add-apt-repository ppa:purplei2p/i2pd
sudo apt-get update
sudo apt-get install i2pd
Aber ich würde empfehlen, Snap zu verwenden. Der Daemon wird nicht nur schnell und bequem bereitgestellt, sondern es werden auch automatische Updates direkt vom Upstream bereitgestellt, abhängig vom ausgewählten Vertriebskanal.
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 -
Installieren Sie snap, falls Sie dies noch nicht getan haben, und legen Sie die standardmäßige stabile Option fest:
apt install snapd
snap install i2pd
Konfigurieren
Im Gegensatz zur Web-GUI-Java-Version verfügt i2pd nicht über so viele Einstellungen, Wendungen und Registerkarten. Nur das Notwendigste vor der Askese. Am einfachsten ist es jedoch, es direkt in der Konfigurationsdatei zu konfigurieren.
Damit Ihre Webressource in i2p verfügbar wird, müssen Sie sie wie bei Zwiebeln als Proxy verwenden. Gehen Sie dazu zu ~ / .i2pd / tunnels.conf und fügen Sie Ihr Backend hinzu.
[anon-website]
type = http
host = 127.0.0.1
port = 8080
keys = anon-website.dat
Nach dem Neustart des Daemons erhalten Sie eine zufällige 32-Bit-Adresse. Es kann in der Webkonsole angezeigt werden, die standardmäßig unter 127.0.0.1 : 7070 /? Page = i2p_tunnels verfügbar ist. Vergessen Sie nicht, ggf. von Ihrer IP-Adresse aus darauf zuzugreifen. Standardmäßig ist es nur auf der lokalen Schnittstelle verfügbar. Es wird etwas Beängstigendes wie ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p geben.
Das i2p-Netzwerk scheint DNS zu sein, ähnelt jedoch eher einer verstreuten Liste von / etc / hosts. Sie abonnieren bestimmte Quellen in der Konsole, aus denen hervorgeht, wie Sie zur bedingten Datei flibusta.i2p gelangen . Daher ist es sinnvoll, großen Ressourcen wie inr.i2p einen mehr oder weniger schönen Namen hinzuzufügen.
Können i2p und Zwiebeln bei uns eingesetzt werden?
Ich möchte RuVDS nur vor kugelsicherem Hosting warnen. Im Falle einer motivierten Beschwerde gegen unseren Kunden können wir den Vertrag kündigen und die virtuelle Maschine löschen. Die meisten Hoster werden das Gleiche tun. Aufgrund der Besonderheiten der Tor-Architektur und insbesondere von i2p ist es jedoch sehr schwierig und oft einfach unmöglich, genau zu bestimmen, wo die Website gehostet wird.
Trotzdem ist die Verwendung solcher Tools nicht illegal. Daher macht es uns nichts aus, wenn Sie in Overlay-Netzwerken einen Spiegel Ihrer legalen Webressource öffnen. In jedem Fall empfehle ich dringend, nicht blind mit tor auf Ihrem Heimcomputer zu experimentieren. Entweder kann die IP auf die schwarze Liste gesetzt werden, oder der Pative wird eintreffen. Besser ein VPS zu mieten, es ist günstig.