Wie man eine Website in Ubuntu mit Tor hostet

Das Tor-Netzwerk ist ein revolutionäres Softwarestück. Mit einem einzigen Programm ist es jetzt möglich, anonym im Web zu surfen und zu browsen. Dies macht Tor zu einem unverzichtbaren Werkzeug für Benutzer, die ihre Privatsphäre beim Browsen einer Website wahren möchten. Es ist auch möglich, Tor zu verwenden, um einen lokalen Webserver online zu hosten, was es unglaublich hilfreich für datenschutzbewusste Benutzer macht, die Informationen öffentlich teilen möchten, ohne sich selbst preiszugeben.
Hinweis: Finden Sie zuerst heraus, was Tor und Onion-Routing sind, bevor Sie fortfahren.
Inhaltsverzeichnis
- Warum Ihre Website über Tor hosten?
- Anforderungen
- Nginx und Tor installieren
- Firewall konfigurieren
- Einen Tor-Dienst für Ihre Website erstellen
- Eine einfache Website mit Nginx erstellen
- Zugriff auf Ihre Website über Tor
- Häufig gestellte Fragen
Warum Ihre Website über Tor hosten?
Einer der größten Vorteile des Hostings über Tor ist, dass die Verbindung auch über Zwischenknoten geht, ähnlich wie beim Tor-Browser. Ein Besucher, der Ihre Website besucht, kann nicht wissen, von wo aus Sie sie hosten.

Abgesehen davon müssen Sie auch keine Ports weiterleiten, um Ihre nur über Tor verfügbare Website zum Laufen zu bringen. Dies macht das Hosting einfach und zugänglich, selbst in stark eingeschränkten Netzwerken. Zum Beispiel kann ein Gerät unter einem Carrier-Grade NAT-Netzwerk immer noch eine Website direkt über Tor veröffentlichen.
Anforderungen
Bevor Sie sowohl Nginx als auch Tor installieren können, müssen Sie zunächst sicherstellen, dass Sie die folgenden Ressourcen bereit haben:
- Eine Internetverbindung, die Tor für eingehende und ausgehende Anfragen nicht einschränkt. Dies ermöglicht es Ihnen, Ihre Website über das Tor-Netzwerk zu verbreiten.
- Ein Gerät, das die Website, die Sie hosten, verarbeiten kann. In den meisten Fällen sollte ein Dual-Core-Desktop mit 4 GB RAM für eine grundlegende Website ausreichen.
- Root-Zugriff auf Ihr Hosting-Gerät, da die Konfiguration von Tor erfordert, dass Sie auf Systemdateien zugreifen.
Das folgende Bild zeigt, wie man eine Nginx-Tor-Website auf einem Ubuntu 22.04 LTS-Gerät hostet.

Nginx und Tor installieren
Öffnen Sie ein Terminal. Geben Sie den folgenden Befehl ein, um Nginx und Tor zu installieren:
sudo apt install nginx tor wget
Firewall konfigurieren
Sobald Sie beide Pakete in Ihrem System installiert haben, können Sie Ihren Server sichern, indem Sie Ihre Firewall so konfigurieren, dass sie nur eingehende Verbindungen aus dem Tor-Netzwerk akzeptiert, indem Sie die folgenden Befehle im Terminal eingeben:
sudo iptables -I INPUT -m state --state NEW -p tcp --dport80-j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport443-j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport9050-j ACCEPT
Die ersten beiden Befehle öffnen sowohl die HTTP- als auch die HTTPS-Ports in Ihrem System, während der letzte Befehl den SOCKS-Port für das Tor-Netzwerk explizit öffnet. Dieser Ansatz stellt sicher, dass Tor in der Lage ist, den gesamten Datenverkehr, der zu Ihrem Gerät geht, ordnungsgemäß umzuleiten.
Einen Tor-Dienst für Ihre Website erstellen
Als nächstes müssen Sie einen versteckten Diensteintrag für Ihren Webserver erstellen. Dies ist eine dienstspezifische Konfiguration, die es Ihnen ermöglicht, im Tor-Netzwerk zu senden.
Zuerst wechseln Sie zu Ihrem Root-Konto. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
sudo-i
Sobald Sie im Root sind, erstellen Sie Ihren versteckten Dienst, indem Sie die Datei “/etc/tor/torrc” bearbeiten. In meinem Fall öffne ich diese Datei über GNU Nano.
nano/etc/tor/torrc
Suchen Sie den Abschnitt „location-hidden services“, indem Sie Strg + W drücken und dann „location-hidden“ eingeben.

Sie werden ein paar Beispiele sehen, die zeigen, wie Sie Ihren eigenen Tor-versteckten Dienst erstellen können. Im Großen und Ganzen müssen Sie jedoch nur zwei Optionen festlegen: HiddenServiceDir und HiddenServicePort.
Die Option HiddenServiceDir sagt Tor, wo es die Konfigurationsdateien für Ihren versteckten Dienst speichern soll. Die Option HiddenServicePort sagt Tor, wie es Anfragen an Ihren versteckten Dienst umleiten soll.
Die folgenden Codezeilen erstellen einen neuen versteckten Dienst für Ihren Webserver:
HiddenServiceDir /var/lib/tor/nginx-tor-service/
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 443 127.0.0.1:443
Laden Sie den Tor-Daemon neu, um Ihre neuen Einstellungen anzuwenden, indem Sie die folgenden Befehle ausführen:
systemctl enable tor
systemctl restart torTipp: Lernen Sie, wie Sie Tor mit Ihrer VPN-Verbindung verwenden.
Eine einfache Website mit Nginx erstellen
Sobald ein Tor-versteckter Dienst läuft, beginnen Sie mit der Einrichtung Ihres Webservers. Erstellen Sie eine neue Konfigurationsdatei über den touch-Befehl:
sudotouch/etc/nginx/sites-available/nginx-tor-service
Bearbeiten Sie Ihre neue Nginx-Konfigurationsdatei als grundlegenden Webserver. Zum Beispiel wird der folgende Codeblock einen einfachen Webserver auf Port 80 bereitstellen:
server{
listen 80 default_server;
listen[::]:80 default_server;
root /var/www/html;
server_name 4tth4kzmipldb5elklravakdwlnte3ck6m5ahl73nfbe6ni67zmyvxyd.onion;
location / {
try_files$uri$uri/ =404;
}
}- Die beiden
listen-Variablen legen sowohl die Ports als auch den Host fest, auf den diese Serverkonfiguration hören soll. In diesem Fall hört Nginx auf Port 80 sowohl bei IPv4 als auch bei IPv6. - Die
root-Variable legt den Speicherort fest, an dem Nginx nach den Dateien auf Ihrem Webserver suchen wird. - Die
server_name-Variable enthält den Domainnamen Ihres Servers. Finden Sie ihn, indem Siesudo less /var/lib/tor/nginx-tor-service/hostnameausführen. - Die
location-Variable enthält Funktionen, wie Nginx mit den Dateien im Stammverzeichnis Ihrer Website umgeht. In diesem Beispiel wird nur der 404-Fehler für fehlende Dateien festgelegt.

Erstellen Sie einen symbolischen Link für Ihre neue Konfigurationsdatei zu “/etc/nginx/sites-enabled.”
sudoln-s/etc/nginx/sites-available/nginx-tor-service /etc/nginx/sites-enabled/Zuletzt aktivieren Sie Ihre neue Website, indem Sie Nginx neu starten:
sudo systemctl enable nginx
sudo systemctl restart nginx
Zugriff auf Ihre Website über Tor
Mit sowohl Tor als auch Nginx, die laufen, überprüfen Sie, ob Ihre Website über das Tor-Netzwerk zugänglich ist. (Müssen Sie mehr Websites im Dark Web finden? Schauen Sie sich diese Suchmaschinen an.) Zuerst laden Sie die neueste Tor-Browser-Binärdatei herunter:
wget https://www.torproject.org/dist/torbrowser/11.5.7/tor-browser-linux64-11.5.7_en-US.tar.xz
Entpacken Sie die Dateien des Browsers im aktuellen Verzeichnis, indem Sie den folgenden Befehl ausführen:
tar xvf ./tor-browser-linux64-11.5.7_en-US.tar.xz
cd ./tor-browser_en-US
Stellen Sie auch sicher, dass die Tor-Browser-Binärdatei die richtigen Ausführungsbits hat:
sudochmod +x ./start-tor-browser.desktopFühren Sie den Tor-Browser auf Ihrem Gerät aus, indem Sie den folgenden Befehl ausführen:
./start-tor-browser.desktop --register-app
Zuletzt browsen Sie zu Ihrer neuen Tor-Website, indem Sie ihren Domainnamen in die Adressleiste eingeben.

Häufig gestellte Fragen
Ist es möglich, einen Spieleserver mit Tor zu hosten?
Ja, aber das Betreiben eines Tor-Spieleservers wird zu einem sehr schlechten Spielerlebnis führen. Zum Beispiel wird das Betreiben eines Minetest-Servers über Tor eine Latenz zwischen 1000 und 5000 Millisekunden haben.
Obwohl es Möglichkeiten gibt, Ihre Tor-Verbindungen zu beschleunigen, wurde das Netzwerk von den Entwicklern von Tor nicht für Anwendungen mit niedriger Latenz konzipiert. Aus diesem Grund ist Tor hauptsächlich hilfreich beim Veröffentlichen von Webseiten und Anwendungen, die nicht von niedriger Latenz abhängen.
Ich versuche, eine FTP-Website zu hosten, kann aber nicht über Tor darauf zugreifen.
Dieses Problem ist höchstwahrscheinlich auf eine fehlende Konfiguration in der Datei “/etc/tor/torrc” zurückzuführen. Um einen neuen Dienst über Tor ordnungsgemäß zu hosten, stellen Sie sicher, dass die entsprechenden Ports sowohl in Ihrer Firewall als auch in der torrc geöffnet sind.
Fügen Sie beispielsweise HiddenServicePort 21 127.0.0.1:21 und HiddenServicePort 22 127.0.0.1:22 hinzu, um einen offenen FTP- und SFTP-Port auf Ihrem Gerät zu erstellen.
Ist es möglich, meine Website über SSL in Tor zu hosten?
Es ist wichtig zu beachten, dass SSL keine zwingende Voraussetzung für die Sicherung Ihrer Tor-Website ist. Standardmäßig verschlüsselt Tor bereits Ihre Verbindungen, sobald Sie den Tor-Browser laden, sodass jede Website, die Sie im Tor besuchen, Ende-zu-Ende verschlüsselt ist.
Wenn Sie möchten, können Sie ein SSL-Zertifikat für Ihre Tor-Website erwerben, obwohl der Prozess knifflig sein kann, da es nur eine Handvoll Zertifizierungsstellen gibt, die aktiv TLS für .onion-Domains ausstellen.
Bildnachweis: Unsplash. Alle Änderungen und Screenshots von Ramces Red.