Diese Anleitung zeigt Ihnen, wie Sie einen Onion-Dienst für Ihre Website einrichten. Für die technischen Details, wie das Onion-Dienst-Protokoll funktioniert, lesen Sie unsere Seite zum Onion-Dienst-Protokoll.

Schritt 0: Besorge dir ein funktionierendes Tor

Im Rahmen dieser Anleitung gehen wir davon aus, dass du ein funktionierendes Tor auf deinem Rechner hast. Um Tor einzurichten, folgen Sie bitte der Tor-Installationsanleitung. Damit diese Anleitung funktioniert, sollte Tor korrekt eingerichtet sein und laufen. Du solltest auch wissen, wo sich die Konfigurationsdateien von Tor befinden.

Schritt 1: Einen Webserver zum Laufen bringen

Als ersten Schritt solltest du einen Webserver lokal einrichten, wie Nginx, Apache oder deinen Lieblings-Webserver. Das Einrichten eines Webservers kann sehr komplex sein. Wenn Sie nicht weiterkommen oder mehr tun wollen, suchen Sie sich einen Freund, der Ihnen helfen kann oder treten Sie unserer tor-onions-Mailingliste bei, um mit anderen Betreibern zu sprechen.

Als Beispiel werden wir behandeln, wie man eine Onion-Site mit Nginx und Apache auf Debian einrichtet. Wir empfehlen Ihnen, einen neuen, separaten Webserver für Ihren Onion-Dienst zu installieren, denn selbst wenn Sie bereits einen installiert haben, werden Sie ihn vielleicht für eine reguläre Website verwenden (oder später verwenden wollen).

Die Befehle auf dieser Seite zur Verwaltung des Webservers basieren auf Debian-ähnlichen Betriebssystemen und können sich von anderen Systemen unterscheiden. Prüfen Sie die Dokumentation Ihres Webservers und Ihres Betriebssystems.

Apache

Apache ist im Haupt-Repository mehrerer Linux- und *BSD-Distributionen verfügbar. So installieren Sie das apache2-Paket:

$ sudo apt install apache2

Nginx

Nginx ist im Haupt-Repository mehrerer Linux- und *BSD-Distributionen verfügbar. So installieren Sie das nginx-Paket:

$ sudo apt install nginx

Standardmäßig wird der Webserver am Ende der Installation auf localhost:80 laufen. Wenn Sie eine Fehlermeldung erhalten, ist etwas schief gelaufen und Sie können nicht fortfahren, bis Sie herausgefunden haben, warum es nicht funktioniert hat.

Sobald Ihr Webserver eingerichtet ist, stellen Sie sicher, dass er funktioniert: Öffnen Sie Ihren Browser und gehen Sie zu http://localhost/. Versuchen Sie dann, eine Datei in das Haupt-HTML-Verzeichnis zu legen, und stellen Sie sicher, dass sie angezeigt wird, wenn Sie die Seite aufrufen.

TOR Onion Dienste

Schritt 2: Konfiguriere deinen Tor-Onion-Dienst

Der nächste Schritt ist, die Konfigurationsdatei von Tor (torrc) zu öffnen und die entsprechenden Konfigurationen vorzunehmen, um einen Onion-Dienst einzurichten. Abhängig von deinem Betriebssystem und deiner Einrichtung kann sich deine Tor-Konfigurationsdatei an einem anderen Ort befinden oder anders aussehen.

Sie müssen die folgenden zwei Zeilen in Ihre torrc-Datei einfügen:

HiddenServiceDir /var/lib/tor/my_website/
HiddenServicePort 80 127.0.0.1:80

Die Zeile HiddenServiceDir gibt das Verzeichnis an, das Informationen und kryptografische Schlüssel für Ihren Oniondienst enthalten soll. Du wirst die HiddenServiceDir-Zeile ändern wollen, so dass sie auf ein tatsächliches Verzeichnis zeigt, das von dem Benutzer, der Tor betreibt, gelesen/geschrieben werden kann.

Die HiddenServicePort-Zeile gibt einen virtuellen Port an (d.h. den Port, den Leute, die deinen Onion-Dienst besuchen, benutzen werden), und im obigen Fall besagt sie, dass jeglicher Verkehr, der auf Port 80 deines Onion-Dienstes eingeht, auf 127.0.0.1:80 umgeleitet werden soll (das ist der Port, auf dem der Webserver aus Schritt 1 hört).

Tipp: Eine gute Praxis, um zu vermeiden, dass ein Onion-Dienst in ein lokales Netzwerk durchsickert, ist es, Onion-Dienste über Unix-Sockets statt über einen TCP-Socket laufen zu lassen. Sie müssen die folgenden beiden Zeilen bearbeiten und in Ihre torrc-Datei einfügen:

HiddenServiceDir /var/lib/tor/meine-website/
HiddenServicePort 80 unix:/var/run/tor-meine-website.sock

Schritt 3: Starte Tor neu und prüfe, ob es funktioniert hat

Speichere nun deine torrc und starte Tor neu.

$ sudo systemctl restart tor

Wenn Tor wieder startet, großartig. Ansonsten ist etwas falsch. Schaue zuerst in deinen Logfiles nach Hinweisen. Es wird einige Warnungen oder Fehlermeldungen ausgeben. Das sollte dir eine Idee davon geben, was schief gelaufen ist. Typischerweise sind es Tippfehler in der torrc oder falsche Verzeichnisberechtigungen (Siehe den Eintrag in der Logging-FAQ, wenn du nicht weißt, wie du deine Logdatei aktivieren oder finden kannst).

Wenn Tor startet, wird es automatisch das HiddenServiceDir erstellen, das Sie angegeben haben (falls nötig). Stellen Sie sicher, dass dies der Fall ist.

Schritt 4: Teste, ob dein Onion-Dienst funktioniert

Um nun die Adresse deines Onion-Dienstes zu bekommen, gehe in dein HiddenServiceDir-Verzeichnis und suche eine Datei namens hostname. Die Datei hostname in Ihrem Onion-Dienst-Konfigurationsverzeichnis enthält den Hostnamen für Ihren neuen Onion v3-Dienst. Die anderen Dateien sind Ihre Onion-Dienst-Schlüssel, die unbedingt geheim gehalten werden müssen. Wenn Ihre Schlüssel durchsickern, können sich andere Leute als Ihr Onion-Dienst ausgeben und ihn für kompromittiert, nutzlos und gefährlich halten.

Jetzt kannst du dich mit dem Tor-Browser mit deinem Onion-Dienst verbinden und du solltest die HTML-Seite bekommen, die du in Schritt 1 eingerichtet hast. Wenn es nicht funktioniert, schaue in deinen Logs nach Hinweisen und spiele so lange damit, bis es funktioniert.

Es ist wichtig zu beachten, dass ein so konfigurierter Onion-Dienst von jedem gelesen werden kann, der die Adresse kennt oder herausfindet. Sie können dafür sorgen, dass Onion-Dienste eine Authentifizierung erfordern, und nur Benutzer mit einem privaten Schlüssel werden auf den Dienst zugreifen. Lesen Sie mehr über die Dokumentation zur Client-Autorisierung.

(Optional) Schritt 5: Mehrere Onion-Dienste betreiben

Wenn du mehrere virtuelle Ports für einen einzelnen Onion-Dienst weiterleiten willst, füge einfach weitere HiddenServicePort-Zeilen hinzu. Wenn du mehrere Onion-Dienste vom selben Tor-Client aus betreiben willst, füge einfach eine weitere HiddenServiceDir-Zeile hinzu. Alle folgenden HiddenServicePort-Zeilen beziehen sich auf diese HiddenServiceDir-Zeile, bis Sie eine weitere HiddenServiceDir-Zeile hinzufügen:

HiddenServiceDir /var/lib/tor/onion_service/
HiddenServicePort 80 127.0.0.1:80

 

HiddenServiceDir /var/lib/tor/other_onion_service/
VersteckterServicePort 6667 127.0.0.1:6667
VersteckterServicePort 22 127.0.0.1:22

Wenn Sie mehrere Onion-Sites auf demselben Webserver betreiben, denken Sie daran, Ihre virtuelle Hostdatei des Webservers zu bearbeiten und die Onion-Adresse für jede Website hinzuzufügen. Bei Nginx und der Verwendung von Tor mit Unix-Sockets würde die Konfiguration zum Beispiel so aussehen:

server {
listen unix:/var/run/tor-meine-website.sock;
server_name <Deine-Onion-Adresse>.onion;
access_log /var/log/nginx/meine-website.log;
index index.html;
root /path/to/htdocs;
}

Oder im Apache mit dem Tor-Dienst, der auf Port 80 lauscht:

<VirtualHost *:80>
ServerName <Ihre-Onion-Adresse.onion>
DocumentRoot /pfad/zu/htdocs
ErrorLog ${APACHE_LOG_DIR}/meine-website.log
</VirtualHost>

Jetzt, wo Sie eine funktionierende Onion-Site haben, möchten Sie vielleicht Onion-Location einsetzen oder Tools wie Docker, Heroku, Terraform, Ansible oder stem verwenden, um die Verwaltung Ihrer Onion-Dienste zu automatisieren. Wenn Sie eine statische Website haben, aber nie Nginx oder Apache installiert haben, ist ein weiteres Projekt, das Sie ausprobieren sollten, OnionShare, wo das Betreiben einer Onion-Site einfacher sein wird: geführt mit einer grafischen Oberfläche und mit minimaler Konfiguration.