OffshoreVps
Datenschutz & Recht20 Okt. 20268 Min. LesezeitVon dem OffshoreVps-Team

Eine .onion-Seite hosten: Tor Hidden Service auf einem VPS

Eine Website als Tor-Onion-Dienst betreiben: Tor installieren, Nginx an localhost binden, die .onion-Adresse auslesen, Client-Autorisierung ergänzen und die Lecks vermeiden, die Sie verraten.

Mit einem Tor-Onion-Dienst erreichen Menschen Ihre Website über das Tor-Netzwerk, ohne dass eine Seite die IP-Adresse der anderen erfährt. Der Server baut die Verbindung zu Tor selbst auf und benötigt daher überhaupt keinen offenen eingehenden Port. Dieser Leitfaden richtet einen solchen Dienst auf einem Ubuntu-VPS ein, wobei Nginx eine kleine Website ausliefert.

Terminalfenster auf einem VPS mit den Befehlen zum Veröffentlichen eines Tor-Onion-Dienstes, beginnend mit „sudo apt update“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

Was ein Onion-Dienst Ihnen bietet

  • Eine .onion-Adresse, die aus einem Schlüssel abgeleitet wird, sich also selbst authentifiziert und keine Zertifizierungsstelle braucht.
  • Ende-zu-Ende-Verschlüsselung zwischen Besucher und Ihrem Server innerhalb von Tor.
  • Sie müssen die öffentliche IP-Adresse Ihres Servers nicht gegenüber Besuchern offenlegen.

Er macht die Inhalte Ihrer Website nicht legal und verbirgt keine Fehler, die Sie anderswo machen, etwa eine Clearweb-Domain, die auf dieselbe Maschine zeigt.

Schritt 1: Tor und Nginx installieren

sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor

Schritt 2: Nginx nur an localhost binden

Der Webserver darf nicht auf der öffentlichen Schnittstelle antworten, sonst lassen sich die Clearweb-IP und die Onion-Seite verknüpfen. Bearbeiten Sie Ihre Site-Konfiguration so, dass sie auf Loopback lauscht.

server {
    listen 127.0.0.1:8080;
    server_name _;
    root /var/www/onion;
    index index.html;
    server_tokens off;
}
sudo mkdir -p /var/www/onion
echo '<h1>Hello from onion space</h1>' | sudo tee /var/www/onion/index.html
sudo nginx -t && sudo systemctl reload nginx
Die Schritte dieser Anleitung in der Reihenfolge: 1. Was ein Onion-Dienst Ihnen bietet; 2. Tor und Nginx installieren; 3. Nginx nur an localhost binden; 4. Den Hidden Service deklarieren; 5. Optionale Client-Autorisierung; 6. Die häufigsten Lecks schließen
Die Schritte dieser Anleitung in der Reihenfolge.

Schritt 3: Den versteckten Dienst deklarieren

Fügen Sie diese Zeilen zu /etc/tor/torrc hinzu:

HiddenServiceDir /var/lib/tor/my_site/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
sudo systemctl restart tor
sudo cat /var/lib/tor/my_site/hostname

Der letzte Befehl gibt Ihre 56 Zeichen lange .onion-Adresse aus. Öffnen Sie sie zum Testen im Tor Browser. Sichern Sie den Ordner /var/lib/tor/my_site/: Der darin enthaltene Schlüssel ist Ihre Adresse, und sein Verlust bedeutet eine neue Adresse.

Schritt 4: Optionale Client-Autorisierung

Für einen privaten Dienst fügen Sie einen Schlüssel hinzu, den nur freigegebene Besucher besitzen. Erstellen Sie die Datei /var/lib/tor/my_site/authorized_clients/alice.auth mit einer Zeile der Form descriptor:x25519:PUBLIC_KEY und laden Sie Tor dann neu. Besucher ohne den passenden privaten Schlüssel können nicht einmal erkennen, dass der Dienst existiert.

Schritt 5: Die häufigsten Lecks schließen

  • Verweisen Sie auf Ihren Seiten niemals auf Clearweb-Assets, Schriftarten oder Analysedienste.
  • Gestalten Sie Fehlerseiten und Header neutral und behalten Sie server_tokens off bei.
  • Halten Sie die Serveruhr genau; Tor benötigt das.
  • Sperren Sie per Firewall alles außer SSH: sudo ufw default deny incoming, da Tor keinen eingehenden Port braucht.
  • Betreiben Sie auf demselben Host keine Clearweb-Website, es sei denn, Sie haben beide vollständig getrennt.

Lesen Sie OpSec-Gewohnheiten für Server, bevor Sie etwas veröffentlichen, und nutzen Sie die Härtungs-Checkliste auf einem neuen Server.