Wie man eine Website in Ubuntu mit Tor hostet

Host Tor Website Linux 00 Featured Image

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.

Host Tor Website Linux 02 Intermediary Nodes

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.

Host Tor Website Linux 03 Neofetch Ubuntu Machine

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

Host Tor Website Linux 05 Download Packages

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

Host Tor Website Linux 06 Create Firewall Rules

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

Host Tor Website Linux 07 Switch To Root

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

Host Tor Website Linux 08 Torrc File

Suchen Sie den Abschnitt „location-hidden services“, indem Sie Strg + W drücken und dann „location-hidden“ eingeben.

Host Tor Website Linux 09 Torrc Hidden Services

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

Host Tor Website Linux 10 Torrc Create New Hidden Service

Laden Sie den Tor-Daemon neu, um Ihre neuen Einstellungen anzuwenden, indem Sie die folgenden Befehle ausführen:

systemctl enable tor  
systemctl restart tor

Tipp: 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

Host Tor Website Linux 11 Create New Nginx Server

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 Sie sudo less /var/lib/tor/nginx-tor-service/hostname ausfü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.

Host Tor Website Linux 12 Sample Server Configuration

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

Host Tor Website Linux 13 Nginx Running

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

Host Tor Website Linux 14 Download Tor Browser

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

Host Tor Website Linux 15 Extract Tor Browser

Stellen Sie auch sicher, dass die Tor-Browser-Binärdatei die richtigen Ausführungsbits hat:

sudochmod +x ./start-tor-browser.desktop

Führen Sie den Tor-Browser auf Ihrem Gerät aus, indem Sie den folgenden Befehl ausführen:

./start-tor-browser.desktop --register-app

Host Tor Website Linux 16 Tor Browser Running

Zuletzt browsen Sie zu Ihrer neuen Tor-Website, indem Sie ihren Domainnamen in die Adressleiste eingeben.

Host Tor Website Linux 17 Tor Website Running

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.