Tor Hintergrund
Der Onion Router (Tor) ist eines der bekanntesten Tools zum Schutz der Privatsphäre im Internet. Entwickelt von verschiedenen Abteilungen des US-Verteidigungsministeriums Mitte der 1990er Jahre. Der Begriff “Zwiebel-Router” wird verwendet, um die Funktionsweise zu veranschaulichen. Der Netzwerkverkehr wird in das Tor-Netzwerk geleitet und dann über andere Tor-Knoten im Netzwerk weitergeleitet, bevor er wieder in das klare Netz (dh das reguläre Internet) zurückkehrt. Die Anfangspakete werden redundant verschlüsselt und jeder Tor-Knoten entschlüsselt nur die Schicht, die er benötigt, um zu wissen, was mit dem Paket zu tun ist. Aufgrund dieser geschichteten Verschlüsselung kennt kein einzelner Tor-Knoten sowohl die Quelle als auch das Ziel eines Netzwerkpakets.
Es gibt eine andere Möglichkeit, Tor zu verwenden. Anstatt es auf eine VPN-ähnliche Weise zu verwenden, um Tor zu betreten, zu verschlüsseln und dann zu beenden, ist es möglich, Dienste wie Websites innerhalb des Tor-Netzwerks selbst auszuführen. In diesem Fall gelangt der Netzwerkverkehr in das Tor-Netzwerk, wird jedoch nie beendet. Dieser Artikel behandelt die grundlegenden Schritte zum Erstellen eines Tor-Dienstes.
Es gibt zwei Hauptgründe, einen versteckten Tor-Dienst auszuführen:
- Ausführen eines Dienstes, den Sie verbergen und der in keiner Weise an Sie gebunden ist. Dies ist das Seidenstraßenmodell. Die Seidenstraße war ein illegaler Marktplatz, der als versteckter Dienst in den Tornetzwerken betrieben wurde. Da illegale Waren verkauft wurden, hatten die Betreiber ein berechtigtes Interesse daran, im Verborgenen zu bleiben. Es gibt jedoch viele legale Websites, die von Personen betrieben werden, die aus politischen oder anderen Gründen versteckt bleiben möchten.
- Um Ihren Besuchern eine sichere und anonyme Möglichkeit zu bieten, Sie zu erreichen, auch wenn Sie nicht daran interessiert sind, dass die Website Ihnen zugeschrieben wird. Dies ist das Facebook-Modell. Facebook betreibt einen Tor-Dienst unter https://www.facebookcorewwwi.onion. Offensichtlich gibt es keinen Versuch, das zu verbergen, was ein Tor-Facebook-Dienst ist. Die Eigentümer und Betreiber sind bekannt.
In diesem Artikel geht es zwar um den letzteren Fall, es gibt jedoch viele Bedenken hinsichtlich der Betriebssicherheit (OpSec), die Sie berücksichtigen müssen. Das einfache Einrichten eines Webservers und das Installieren von Tor werden wahrscheinlich nicht ausreichen, um Ihre Website und Ihre Identität für lange Zeit voneinander zu trennen. Wie wichtig das für Sie ist, hängt von Ihrer Paranoia ab.
Installieren des Tor-Clients
Auf versteckte Dienste von Tor kann nur über mit Tor verbundene Systeme zugegriffen werden. Ähnlich wie Sie ein VPN starten müssten, um Zugriff auf geoblockte Inhalte zu erhalten, müssen Sie Tor starten, um auf versteckte Dienste zuzugreifen. Zum Glück ist die Installation und Ausführung des Tor-Clients aufgrund der harten Arbeit des Tor-Projekts im Laufe der Jahre extrem einfach geworden.
Siehe auch: Beste VPNs für Tor
In diesem Artikel geht es nicht um ein durchgängiges sicheres Tor-Client-Setup. Wir müssen nur einen Tor-Client zum Laufen bringen, um mit der Erstellung eines versteckten Tor-Dienstes fortzufahren. Nachdem Sie die grundlegenden Anweisungen zur Einrichtung des Tor-Clients in diesem Artikel befolgt haben, möchten Sie möglicherweise die Empfehlungen des Tor-Projekts zur ordnungsgemäßen Verwendung Ihres Tor-Clients lesen, um die Anonymität zu wahren.
Es gibt viele Tor-Kunden für eine Vielzahl von Plattformen. Dave Albaugh geschrieben Die ultimative Anleitung zur Verwendung von Tor für anonymes Surfen, die eine ziemlich vollständige Liste enthält. In diesem Artikel wird nur die Installation des Tor-Clients auf den drei großen Betriebssystemen beschrieben. Windows, macOS / OSX und Linux. Ebenso kann ein versteckter Tor-Dienst unter Windows oder einem anderen Unix-ähnlichen System ausgeführt werden, und ich halte mich an ein grundlegendes Linux-Setup.
Der einfachste Weg, um den Tor-Client auf einem beliebigen System zum Laufen zu bringen, ist die Installation des Tor-Browser-Bundles. Es enthält eine gehärtete Version von Firefox und erstellt einen SOCKS5-Proxy auf dem localhost-Host-Port 9150, den andere proxysensitive Anwendungen wie SSH verwenden können. Wir benötigen Tor-geschütztes SSH, um unseren versteckten Dienst einzurichten.
Installieren des Tor-Browsers für Windows
Besuchen Sie die Tor-Site direkt, um den Tor-Client für Windows zu installieren. Stellen Sie sicher, dass Sie von der Website torproject.org herunterladen. Es gibt viele Gegner von Tor und daher viele kompromittierte Versionen des Tor-Clients im Internet. Durch den direkten Download von torproject.org erhalten Sie eine manipulationsfreie Version. Es gibt auch eine GPG-Signatur für jeden Download auf der Tor-Website, die Sie mit Ihrem Download vergleichen können, um noch mehr Vertrauen zu schaffen.
Klicken Sie auf die Schaltfläche Herunterladen und wählen Sie die Windows-Version aus:
Doppelklicken Sie auf die heruntergeladene Datei, um den Installationsvorgang zu starten. Sie werden aufgefordert, eine Sprache und einen Installationsort auszuwählen, ähnlich wie bei jedem anderen Standard-Windows-Installationsvorgang. Nach Abschluss der Installation sehen Sie einen neuen Tor-Browser auf Ihrem Desktop.
Beim ersten Start werden Sie gefragt, welche Art von Tor-Setup Sie benötigen. Beachten Sie, dass die Option Direkte Verbindung über eine Schaltfläche Verbinden verfügt, während die Bridge- oder lokale Proxy-Option über eine Schaltfläche Konfigurieren verfügt.
In den meisten Fällen funktioniert die Direktverbindungsoption technisch, es gibt jedoch zwei Situationen, in denen Sie möglicherweise die zweite Option auswählen möchten. Eine direkte Verbindung bietet weiterhin Anonymität, aber für einen Beobachter ist es offensichtlich, dass Sie Tor verwenden, das Sie möglicherweise nicht möchten. Außerdem blockieren einige ISPs und Netzwerke möglicherweise aktiv Tor-Verbindungen, oder Sie müssen möglicherweise einen Proxy konfigurieren, um auf Tor zuzugreifen. In diesem Fall müssen Sie die zweite Option auswählen, um eine Bridge einzurichten oder einen Proxy zu konfigurieren.
Bridge- und Proxy-Setup
Wenn Sie diese Frage mit Ja beantworten, wird ein Bildschirm geöffnet, in dem Sie Bridges aktivieren können. Tor-Knoten werden veröffentlicht, sodass jeder, der den Tor-Zugriff in seinem Netzwerk blockieren möchte, nur Anforderungen blockieren muss, die für diese bekannten Knoten bestimmt sind. Eine Bridge ist einfach ein unveröffentlichter Tor-Knoten. Daher werden Verbindungen zu diesem Knoten wahrscheinlich nicht blockiert, da es sich nicht um einen bekannten Knoten handelt. Wenn Sie keine eigenen Bridges angeben müssen, aktivieren Sie die Option Mit bereitgestellten Bridges verbinden.
Sie werden dann zur Proxy-Konfigurationsseite weitergeleitet.
Wenn Sie diese Frage mit Nein beantworten, wird der Bildschirm für die Bridge-Konfiguration umgangen, und Sie gelangen direkt zum Bildschirm für die Proxy-Konfiguration.
Geben Sie Ihre spezifischen Proxy-Informationen ein und klicken Sie auf die Schaltfläche Verbinden. Sie werden mit dem Tor-Netzwerk verbunden und der Tor-Browser wird gestartet.
Klicken Sie auf den Link Test Tor Network Settings (Tor-Netzwerkeinstellungen testen), um zu bestätigen, dass Sie verbunden sind. Die angezeigte IP-Adresse sollte nicht Ihre eigene sein.
Wenn Sie an dem Exit-Knoten interessiert sind, dem Sie zugewiesen wurden, klicken Sie auf den Atlas-Link, um weitere Informationen zu erhalten.
Installation des Tor-Browsers für macOS / OSX
Um den Tor-Client unter macOS / OSX zu installieren, besuchen Sie die Download-Seite von Real Tor Project und wählen Sie die Option Tor-Browser für Mac.
Sie werden aufgefordert, die Bilddatei zu öffnen und in Ihren Anwendungsordner zu verschieben:
Anschließend finden Sie die Tor-Browser-Anwendung im Launchpad. Beim ersten Ausführen werden Sie durch denselben Bridge- und Proxy-Assistenten geführt, den auch die Windows-Version ausgeführt hat. Wenn Sie dies ordnungsgemäß abgeschlossen haben, klicken Sie auf die Schaltfläche “Verbinden”. Der Tor-Browser wird gestartet. Klicken Sie auf den Link Test Tor Network Settings (Tor-Netzwerkeinstellungen testen), um sicherzustellen, dass es ordnungsgemäß funktioniert und eine andere IP-Adresse anzeigt.
Installieren des Tor-Browsers für Linux
Der Linux-Tor-Browser ist eine einzelne ausführbare Binärdatei, die keinen Installationsprozess hat.
Extrahieren Sie die komprimierte tar-Datei und erstellen Sie ein tor-browser_en-US-Verzeichnis mit einer Datei namens start-tor-browser.desktop. Führen Sie diese Datei über die Shell aus oder doppelklicken Sie in Ihrem Dateimanager darauf, um den Tor-Browser zu starten. Dadurch wird der bereits bekannte erste Ausführungsprozess gestartet, mit dem Sie alle erforderlichen Bridges oder Proxys einrichten und dann eine Verbindung zu Tor herstellen können. Detaillierte Anweisungen zu diesem Setup finden Sie im Abschnitt Installieren des Tor-Browsers für Windows in diesem Artikel.
Wenn Sie auf das Zwiebelsymbol neben der Adressleiste des Browsers klicken, werden Informationen zu der für Sie eingerichteten Tor-Schaltung angezeigt. Die Strecke ist der Weg durch Tor, den Ihre Anfrage genommen hat. Um zum Beispiel die Comparitech-Website von Kanada aus aufzurufen, bin ich in Frankreich in das Tor-Netzwerk eingetreten, bin durch Deutschland gewechselt und habe mich in das klare Netz in den Niederlanden zurückgezogen.
Einrichten eines Tor-Dienstes
Tor-Dienste verwenden eine bestimmte URL-Struktur. Im übersichtlichen Netz sind wir es gewohnt, Top-Level-Domains (TLDs) wie .com, .net und eine Vielzahl anderer zu sehen. Eine TLD, die nicht im übersichtlichen Netz existiert, ist .onion und umgekehrt die einzige TLD, die im Tor-Netzwerk existiert. Wenn Sie versuchen, eine Verbindung zu einem Tor-Dienst wie der Tor-Website von Facebook unter https://www.facebookcorewwwi.onion herzustellen, ohne mit Tor verbunden zu sein, ist dies nicht möglich. Aufgrund dieser Namenskonvention bezeichnen einige Leute Tor-Dienste als Zwiebelseiten.
Sicherheitsaspekte beim Setup
Wir richten jetzt einen Tor-Dienst mit einem billigen Linux-VPS ein. Hier ist die erste Lektion in OpSec: Da ich mich nicht für das Silk Road-Modell interessiere, kaufe ich nur einen VPS von einem Cloud-Anbieter, der mich für immer mit diesem Server in Verbindung bringt. Sie sollten einen Server verwenden, der Ihre Bedenken hinsichtlich der Zuordnung widerspiegelt.
Eine weitere Überlegung ist, dass die Verbindung zu diesem Server mit Ihrer ISP-IP-Adresse Sie mit diesem Dienst verbindet. Wenn Ihnen das ein Anliegen ist, gibt es zwei Möglichkeiten, dies zu umgehen. Wenn Sie über eine andere geeignete Methode verfügen, um eine Verbindung zu diesem System herzustellen, ohne SSH zu verwenden, können Sie Ihre Tor-Dienste mit dieser Methode einrichten, ohne sich darum kümmern zu müssen. Wenn Sie jedoch keine andere Möglichkeit haben, eine Verbindung zu diesem Server als SSH herzustellen, können Sie den vom Tor-Browser bereitgestellten SOCKS5-Proxy verwenden, um Ihren SSH-Datenverkehr weiterzuleiten. Mit beiden Methoden sollte verhindert werden, dass Ihre ISP-IP-Adresse diesem Server zugeordnet wird.
SSH mit Tor-Proxy
Wenn Sie PuTTY verwenden, können Sie dies im Proxy-Bereich konfigurieren:
Unter Linux oder MacOS können Sie SSH mit dem ProxyCommand-Argument verwenden, indem Sie das richtige $ SERVERIP und $ USERNAME für Ihren Server verwenden. Die Verwendung einer IP-Adresse anstelle eines von Ihnen erstellten Hostnamens sollte DNS-Lecks verhindern:
$ ssh $ SERVERIP -l $ USERNAME -o ProxyCommand ="nc -X 5 -x localhost: 9150% h% p"
Ich sehe das in den Server Logs:
5. Februar 16:34:34 host-172-20-0-101 sshd [11269]: Akzeptiertes Passwort für $ USERNAME vom 65.19.167.131 Port 22323 ssh2
Und wir können den Tor-Atlas konsultieren, um zu bestätigen, dass 65.19.167.131 IP ein Tor-Exit-Knoten in den USA ist, sodass alles gut aussieht.
Sobald Tor auf dem Server installiert ist, können Sie auch entscheiden, einen SSH-Tor-Dienst einzurichten und eine Verbindung mit dem .onion-Namen für Ihren Dienst herzustellen. Dieser Befehl sieht folgendermaßen aus: Da Tor-Proxys Anforderungen stellen, wird die IP-Adresse des lokalen Hosts in den SSH-Protokollen angezeigt.
$ ssh $ YOURSERVICENAME.onion -l $ USERID -o ProxyCommand ="nc -X 5 -x localhost: 9150% h% p" $USERID@$YOURSERVICENAME.onions Passwort: Letzter Login: So 5. Februar 20:47:10 2023 von 127.0.0.1
Tor installieren
Fügen Sie das Tor-Repository zu Ihren Installationsquellen hinzu. Tor ist möglicherweise in Ihren Distributions-Repos verfügbar, kann jedoch veraltet sein. Es ist wahrscheinlich am besten, eine Repo-Datei wie /etc/yum.repos.d/tor.repo mit dem eigentlichen Tor-Projekt-Repo zu erstellen. Verwenden Sie dazu die folgenden Einträge:
[tor] name = Tor repo enabled = 1 baseurl = https: //deb.torproject.org/torproject.org/rpm/el/6/$basearch/ gpgcheck = 1 gpgkey = https: //deb.torproject.org/ torproject.org/rpm/RPM-GPG-KEY-torproject.org.asc
Dann installiere Tor:
sudo yum install tor
Sie finden Debian- und Ubuntu-Pakete im Verzeichnis https://deb.torproject.org/torproject.org/dists/; Aktualisieren Sie die oben angegebene Konfiguration nach Bedarf für Ihre Distribution.
Schauen Sie sich die Datei / etc / tor / torrc an. In dieser Datei muss mindestens Folgendes aktiviert sein:
RunAsDaemon 1 DataDirectory / var / lib / tor
Möglicherweise möchten Sie Ihre DNS-Abfragen auch über Tor weiterleiten. Dadurch wird Ihr gesamtes DNS durch Tor gezwungen, indem Sie dies zu Ihrer Torrc-Datei hinzufügen (verwenden Sie einen Wert für VirtualAddrNetworkIPv4, der auf Ihrem Server sinnvoll ist):
VirtualAddrNetworkIPv4 10.192.0.0/10 AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 127.0.0.1 DNSPort 53
Damit dies funktioniert, müssen Sie Ihren Server auch anweisen, DNS auf dem lokalen Host aufzulösen. Sie können dies tun, indem Sie die Datei /etc/resolv.conf ändern, um Ihrem System mitzuteilen, dass es die Auflösung mit dem localhost anstelle der jetzt konfigurierten Nameserver vornimmt.
Nameserver 127.0.0.1
Starten Sie dann Ihren Resolver neu:
Neustart des Sudo-Dienstnetzwerks
Weitere Informationen zu DNS und Proxying im Allgemeinen finden Sie auf der Seite Tor-Projekt hier.
Vorbereiten des eigentlichen Dienstes (Web, SSH)
Ein Tor-Dienst kann buchstäblich jede Art von Dienst sein, die im übersichtlichen Netz ausgeführt wird. Ich werde als Beispiel einen Webserver verwenden, der den schlanken Nginx-Webserver (ausgesprochen Engine X) verwendet. Tor wird alle Anfragen vor Nginx und Proxy ausführen. Ich verwende CentOS für diese Anweisungen, sodass die meisten dieser Befehle für jede Red Hat-basierte Distribution funktionieren. Auf Debian-basierten Systemen wie Ubuntu können Sie apt get anstelle von yum verwenden, und die Dateien, die ich erwähne, befinden sich möglicherweise an etwas anderen Orten.
Installieren Sie Nginx mit dem Paket-Manager Ihrer Distribution.
sudo yum installiere nginx
Denken Sie daran, dass Tor Proxy-Anfragen für den Webserver sendet. Dies bedeutet, dass Nginx nur die localhost-Ports überwachen sollte. Wenn Nginx auch die mit dem Internet verbundenen Netzwerkschnittstellen überwacht, besteht das Risiko, dass Ihr versteckter Dienst im übersichtlichen Netz verfügbar ist. Um Nginx nur an den localhost zu binden, suchen Sie die Datei default.conf und aktualisieren Sie die Standardserver-Zeilengruppe. In RPM-basierten Distributionen ist die Standardkonfigurationsdatei normalerweise hier:
sudo vi /etc/nginx/conf.d/default.conf
Fügen Sie localhost zur Standard-Listen-Direktive hinzu, damit es so aussieht:
listen localhost: 80 default_server; Servername _; root / usr / share / nginx / html;
Starten Sie Nginx neu:
sudo serice nginx neu starten
Testen Sie sowohl den localhost-Port 80 als auch den internetfähigen Port 80. Auf dem Server selbst:
# curl -IL localhost HTTP / 1.1 200 OK Server: nginx / 1.10.2 Datum: So, 05.02.2023 20:13:33 GMT Inhaltstyp: Text / HTML Inhaltslänge: 3698 Zuletzt geändert: Mo, 31.10 2016 12:37:31 GMT Verbindung: Keep-Alive ETag: "58173b0b-e72" Accept-Ranges: Bytes
Aus dem Server:
$ curl -IL 170.75.162.213 curl: (7) Verbindung zu 170.75.162.213 Port 80 konnte nicht hergestellt werden: Verbindung abgelehnt
Ungeachtet des möglichen Informationsverlusts in den Headern, die behoben werden sollten, sieht der Verbindungsaufbau gut aus. Mehr zu den Headern später im Abschnitt “OpSec”.
Der nächste Schritt besteht darin, Tor anzuweisen, auf den Datenverkehr auf der externen Netzwerkschnittstelle an Port 80 zu warten und diesen Datenverkehr dann an Ihre lokale Nginx-Installation weiterzuleiten.
sudo vim / etc / tor / torrc
Fügen Sie am Ende die folgenden Zeilen hinzu. Das Format der HiddenServicePort-Direktive ist der Port, an dem Tor Verbindungen annehmen soll, und dann der IP: PORT, an den die Anforderung als Proxy gesendet werden soll. In diesem Fall möchten wir, dass Tor den Standard-HTTP-Port 80 überwacht und dann den Proxy auf unsere Nginx-Instanz auf Port 80 auf dem lokalen Host zurücksendet. Daraus können Sie schließen, dass Sie mit Tor auch separate Backends und nicht nur lokale Dienste vertreten können.
HiddenServiceDir / var / lib / tor / http_hs / HiddenServicePort 80 127.0.0.1:80
Neustart für:
Sudo-Dienst zum Neustart
Um den Namen Ihres neuen HTTP-Tor-Dienstes herauszufinden, schauen Sie in die Hostnamensdatei des in der Torrc-Datei angegebenen HiddenServiceDir. Dies ist der tatsächliche HTTP-Dienstname, der für diesen Artikel generiert wurde, der zum Zeitpunkt der Veröffentlichung jedoch wahrscheinlich nicht mehr funktioniert:
cat / var / lib / tor / http_hs / hostname
zhsluuuvqvstkzey.onion
In ungefähr 10 Minuten funktioniert das auf Tor und Sie können es im Tor-Browser aufrufen.
Beachten Sie die unterschiedlichen Tor-Schaltkreise, die ein Zwiebelservice verwendet. Tor wird nicht wie im vorherigen Beispiel für die Verwendung von Tor zum Aufrufen der Comparitech-Site zum Internet beendet. Dies liegt daran, dass .onion-Sites nur in Tor gespeichert sind.
Sie können jetzt weitere Dienste hinzufügen, z. B. einen Tor-SSH-Dienst oder etwas anderes. Installieren Sie einfach den Dienst, den Sie verwenden möchten, und fügen Sie dann die beiden HiddenService-Direktiven zu Ihrem Torrc hinzu und starten Sie Tor neu.
sudo vim / etc / tor / torrc
HiddenServiceDir / var / lib / tor / ssh_hs / HiddenServicePort 22 127.0.0.1:22
Starten Sie Tor neu, um die Dienstschlüssel und den Namen zu generieren:
sudo-Dienst zum Neustarten von sudo cat / var / lib / tor / ssh_hs / hostname oxxcatqaha6axbcw.onion
SSH von einem anderen Computer mit Ihrem Zwiebelnamen ein:
ssh oxxcatqaha6axbcw.onion -l $ USERID -o ProxyCommand ="nc -X 5 -x localhost: 9150% h% p"
[email protected] Passwort: Letzter Login: So 5. Februar 20:53:20 2023 von 127.0.0.1
Sobald Sie bestätigt haben, dass Sie SSH unter Verwendung des Zwiebelnamens ausführen können, ist es ein guter Zeitpunkt, SSH aus dem klaren Netz auszuschalten. Kommentieren Sie diese Zeile in Ihrer Datei / etc / ssh / sshd_config aus:
#ListenAddress 0.0.0.0
Und ändern Sie es zu lesen:
ListenAddress 127.0.0.1
Und starten Sie SSH neu:
Sudo-Dienst ssh Neustart
Halte deinen versteckten Dienst versteckt (OpSec)
Operational Security (OpSec) ist das Konzept, bei dem durch das Sammeln von leicht verfügbaren und scheinbar nicht zusammenhängenden Informationen einige sehr spezifische Informationen generiert werden können. Tor selbst ist extrem gut darin, Verkehr zu anonymisieren, aber Menschen sind bei OpSec schrecklich. Aus diesem Grund wurden viele Menschen, die Tor für das Böse benutzt haben, erfolgreich identifiziert.
Der Tor-Fall mit dem höchsten Profil ist wahrscheinlich der Tor-Standort auf dem Schwarzmarkt in der Seidenstraße. Die Administratoren beider Generationen dieser Site wurden ebenso verhaftet wie einige Verkäufer. Während die feinen Details wahrscheinlich nie vollständig bekannt sein werden, wird in den meisten Fällen die Anonymität eher durch schlampiges OpSec gebrochen als durch eine Schwäche in Tor selbst. Es gibt jedoch Fälle, in denen das Tor-Netzwerk selbst kompromittiert wurde.
Es gibt Berichte, dass Gegner von Tor Tor-Knoten betreiben. Die Idee ist, dass, wenn ein Gegner genügend Relais- und Ausgangsknoten betreibt, eine umfassende Verkehrsanalyse durchgeführt werden könnte, um einzelne Benutzer zu identifizieren. Die FBI-Operation Onymous, die Silk Road 2.0 sowie 400 andere Standorte beseitigt hat, hat im Rahmen ihrer Ermittlungsdatensammlung wahrscheinlich Tor-Knoten ausgeführt. Eine Reihe von Tor-Relays, die geändert wurden, um die Header zu ändern und die Verkehrsflussinformationen anzuzeigen, wurden im Tor-Netzwerk angezeigt, das zu den Festnahmen geführt hat. Es wurde auch festgestellt, dass 129 der 400 Websites von einem einzigen Webhosting-Anbieter gehostet wurden. Dies kann bedeuten, dass der Hosting-Anbieter über eine schlechte OpSec verfügt, oder dass er mit den Strafverfolgungsbehörden zusammengearbeitet hat, indem er interne Serverinformationen zur Verfügung gestellt hat, die normalen Tor-Benutzern nicht zur Verfügung stehen.
Wie auch immer, wenn Sie von Ihrem versteckten Tor-Dienst getrennt bleiben möchten, haben Sie eine sehr große Aufgabe vor sich. Das Budget und die Entschlossenheit Ihres Gegners sind höchstwahrscheinlich der entscheidende Erfolgsfaktor und nicht die Schritte, die Sie persönlich unternehmen. Aber das ist kein Grund, schlampig zu sein. Ben Tasker hat ein nachdenkliches Stück über Tor OpSec geschrieben, das es zu lesen lohnt. Im Folgenden finden Sie einige Punkte, die Sie überprüfen sollten, um sicherzustellen, dass Sie keine Informationen verlieren, anhand derer Sie identifiziert werden können.
Technischer Betrieb
Sicherheit wird am besten in Schichten ausgeführt. Es gibt keine Silberkugel, die für alle Sicherheitsmodelle geeignet ist. Wir sehen dies in der Tor-Architektur darin, dass kein einzelner Knoten genug Informationen hat, um einen Benutzer zu gefährden. Ebenso sollten Sie beim Einrichten Ihres Tor-Servers und Ihrer Dienste nicht darauf vertrauen, dass sie für Ihren speziellen Anwendungsfall konfiguriert werden.
Firewall
Wir haben unsere beiden Beispiel-Tor-Dienste so konfiguriert, dass sie nur auf der localhost-Schnittstelle empfangsbereit sind. Dies sollte ausreichen, um zu verhindern, dass sie im klaren Netz verfügbar sind. Es kann jedoch vorkommen, dass Sie die Kontrolle verlieren. Daher ist es sinnvoll, auf allen Ports eine Sicherheits- und Firewall-Ebene für den gesamten Server einzurichten. Auf diese Weise wird verhindert, dass Ihre Dienste aufgrund eines fehlerhaften Upgrades oder eines menschlichen Fehlers plötzlich im Clear-Netz verfügbar werden.
Anwendungsheader
Es gibt zwei Gründe, um so viele Header wie möglich in all Ihren Diensten zu entfernen. Erstens können sie tatsächlich Informationen über Ihr System preisgeben, mit deren Hilfe Sie herausfinden können, wo sich das System befindet. Zweitens können alle Daten verwendet werden, um einen Fingerabdruck eines Servers zu erstellen und ihn später mit einem anderen, bekannten Server zu korrelieren, um ihn zu identifizieren, auch wenn sie keine bestimmten Informationen preisgeben.
Sie können die Nginx-Versionszeichenfolge mithilfe der Anweisung server_tokens in server, location oder http in Ihrer Nginx-Konfigurationsdatei entfernen.
sudo vim /etc/nginx/conf.d/default/com
Ich habe es in den Server-Bereich gestellt:
server {server_tokens off; listen localhost: 80 default_server; Servername _; …
Jetzt ist die Version weg:
Sie können mit Nginx noch weiter gehen, indem Sie das Modul Headers More verwenden. Mit dieser Option können Sie eine größere Auswahl an Kopfzeilen festlegen oder entfernen.
SSH
Ein besonderer Aspekt bei SSH ist der Fingerabdruck der Serveridentifikation. Wenn Sie zum ersten Mal eine Verbindung zu einem SSH-Server herstellen, werden Sie benachrichtigt, dass Ihr System die Identität des fernen Systems nicht bestätigen kann. Der Schlüsselfingerabdruck des Servers wird angezeigt, und Sie werden gefragt, was Sie tun möchten. Die meisten von uns akzeptieren es und dann wird der öffentliche Schlüssel des Servers in unserer Datei known_hosts gespeichert. Nachfolgende Versuche, eine Verbindung zu diesem Dienst herzustellen, führen zu keiner weiteren Aufforderung:
$ ssh oxxcatqaha6axbcw.onion -l $ USERID -o ProxyCommand ="nc -X 5 -x localhost: 9150% h% p" Die Authentizität des Hosts ‘oxxcatqaha6axbcw.onion ()’ kann nicht festgestellt werden. Der RSA-Schlüsselfingerabdruck lautet SHA256: FroAZ5QibIdWgYyCajY3BxMQjR5XGQFwS1alTOarmQc. Möchten Sie die Verbindung wirklich fortsetzen (Ja / Nein)? ja Warnung: ‘oxxcatqaha6axbcw.onion’ (RSA) dauerhaft zur Liste der bekannten Hosts hinzugefügt. Passwort von [email protected]:
Diese Zeile wurde meiner know_hosts-Datei hinzugefügt:
oxxcatqaha6axbcw.onion ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArIR0Jn5fhY7kQxb37jBC1 + hRFZlxjrs4YsWf4DVJjjY7dlVzhN5mEnmBZM
8ukJp9BysAp0GbPDYT2egCggHfX79806KSMBIuUiU + g6AsxsyZPjv8t2xRc7KBfqaDL2BVqOy1bnxUva1AsPHeRG / symeTA3
Zo + Qz0YVNMN + fPCS3YA7Bc7u1YbP6KLpwyFs + CEcJdH1mHiGTx2Z0l9q7atj8tAheO7livBpLacP0SPseQqkEfJ / GWVUB7cW
KB7S2N1dy1M9im883Lpgp9Xe2doy2vScNwb70tES4zZg08AjSsybLXzSdYTEUqSP6IS0YWBE1dqdlfw ==
Wenn ich mich das nächste Mal in diesem Schritt anmelde, wird Folgendes nicht ausgeführt:
$ ssh oxxcatqaha6axbcw.onion -l $ USERID -o ProxyCommand ="nc -X 5 -x localhost: 9150% h% p" [email protected] Passwort: Letzter Login: Mo 6 Feb 13:25:50 2023 von 127.0.0.1
Das Problem liegt in meiner known_hosts-Datei. Da ich früher mit der öffentlichen IP und meinem Tor-Proxy eine Verbindung zu meinem Server hergestellt habe, habe ich bereits einen Eintrag für diesen Zwiebelfingerabdruck unter einer anderen IP-Adresse:
170.75.162.213 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArIR0Jn5fhY7kQxb37jBC1 + hRFZlxjrs4YsWf4DVJjY7dlVzhN5mEnmBZMsNSLk9B
8ukJp9BysAp0GbPDYT2egCggHfX79806KSMBIuUiU + g6AsxsyZPjv8t2xRc7KBfqaDL2BVqOy1bnxUva1AsPHeRG / symeTA3
Zo + Qz0YVNMN + fPCS3YA7Bc7u1YbP6KLpwyFs + CEcJdH1mHiGTx2Z0l9q7atj8tAheO7livBpLacP0SPseQqkEfJ / GWVUB7cWK
B7S2N1dy1M9im883Lpgp9Xe2doy2vScNwb70tES4zZg08AjSsybLXzSdYTEUqSP6IS0YWBE1dqdlfw ==
Dies ist ein ziemlich mächtiger Korrelator. Es ist fast sicher, dass die IP-Adresse 170.75.162.213 meinen Torservice unter oxxcatqaha6axbcw.onion hostet, basierend auf diesen Informationen.
Dies sind nur zwei Beispiele dafür, wie Ihr Dienst zur späteren Identifizierung mit einem Fingerabdruck versehen werden kann. Es gibt wahrscheinlich keine Möglichkeit, jeden möglichen Weg aufzuzählen, wie Ihr Dienst identifiziert werden kann, aber Anwendungsheader und -verhalten sind gute übergeordnete Themen, die überprüft werden sollten.
Behavioral OpSec
Es gibt nicht-technische Möglichkeiten, wie Ihr Service auch an Sie gebunden sein kann.
Betriebszeit
Ihr Service kann auf Verfügbarkeit überwacht werden. Viele Tor-Dienste werden nicht in herkömmlichen Rechenzentren gehostet und stehen nur sporadisch zur Verfügung. Korrelierte Betriebszeiten können Hinweise auf die Zeitzone oder den Arbeitsplan des Bedieners geben.
Kontodaten
Es ist wenig sinnvoll, Tor aus Gründen der Anonymität zu verwenden, wenn Sie auf eine Website zugreifen und sich dann mit identifizierbaren Informationen anmelden. Ross Ulbricht, der als Dread Pirate Roberts der Seidenstraße (Version 1.0) verurteilt wurde, wurde vorübergehend von FBI-Agenten in einer Bibliothek abgelenkt, und ein anderer FBI-Agent griff nach seinem Laptop und rannte davon. Ulbricht war in seinem Silk Road DRP-Account eingeloggt. Offensichtlich war Ulbricht bereits identifiziert und eingerichtet worden, aber dieses kleine Stück Social Engineering ermöglichte es dem FBI, ihn auf das Konto der gesuchten Person einzuloggen.
Benutzername-Korrelation
Viele Leute benutzen Handles oder Pseudonyme im Internet, um ihre wahre Identität zu verbergen. In einigen Fällen wählen sie frühzeitig einen Griff aus und bleiben dabei oder verwenden ihn zumindest von Zeit zu Zeit wieder. Das ist schlechtes OpSec.
Dies hat zwar nichts spezielles mit Tor zu tun, ist jedoch ein gutes Beispiel dafür, wie historische Kontodaten zur Identifizierung von Personen verwendet werden können. Hillary Clintons E-Mail-Administrator Paul Combetta wurde von Reddit-Benutzern als Benutzer “stonetear” angesprochen, der um Informationen zum Ändern von E-Mail-Empfängern bat, als die Nachricht von Clintons privatem E-Mail-Server auftauchte. Es gibt eine lange und leicht nachvollziehbare Geschichte, in der Combetta diesen Griff verwendet, sodass fast keine Anonymität gewährleistet ist.
Wie bei der Technologie, die OpSec betrifft, gibt es wahrscheinlich keine Grenze für die Art des Verhaltens, das erfasst und korreliert werden kann, um den Betreiber eines Tor-Dienstes zu identifizieren. Dem Gegner werden einfach die Ideen und das Geld ausgehen, bevor Sie es tun.
Ich denke, dieser Artikel ist sehr informativ und hilfreich für diejenigen, die sich für den Schutz ihrer Privatsphäre im Internet interessieren. Es ist großartig zu sehen, dass das Tor-Projekt so hart daran arbeitet, die Installation und Verwendung des Tor-Clients so einfach wie möglich zu gestalten. Es ist auch interessant zu erfahren, dass es möglich ist, Dienste wie Websites innerhalb des Tor-Netzwerks selbst auszuführen. Ich denke, es ist wichtig, die Sicherheitsaspekte beim Setup zu berücksichtigen und OpSec zu praktizieren, um Ihre Website und Identität zu schützen. Insgesamt ein sehr nützlicher Artikel für diejenigen, die mehr über Tor erfahren möchten.