Kurzanleitung: Hidden Service mit Tor aufsetzen

Es ist verblüffend einfach, einen Hidden Service mit Tor aufzusetzen. Ich beschreibe hier das Vorgehen, das weniger als fünf Minuten Lebenszeit in Anspruch nimmt, für Linux. Für alle Aktionen an der Kommandozeile setze ich root-Rechte voraus.

Schritt 1: Einen Webserver besorgen und installieren.

Ob es sich um apache handelt, der inzwischen ziemlich »moppelig« geworden ist, oder um nginx, ist dabei eine Geschmacksfrage. Für einfache Aufgaben ist nginx wesentlich einfacher zu konfigurieren und außerdem deutlich performanter, während apache doch eine Menge Lesen verlangt. Und nein, das bedeutet nicht, dass man mit nginx nichts »komplexeres« machen kann…

Wer ein debianoides Linux (Debian, Ubuntu, Raspbian, Mint, Trisquel und viele mehr) verwendet, tippt einfach als Admin in der Konsole…

# apt-get install apache2

…oder…

# apt-get install nginx

…und hat hinterher einen laufenden Webserver, der beim Systemstart automatisch gestartet wird. Über die Konfiguration kann ich mich hier nicht in der gebotenen Ausführlichkeit auslassen, aber dafür gibt es im Web jede Menge Dokumentation.

Andere Distributionen mit rpm-Paketmanagement (insbesondere RedHat, Fedora oder SuSE) gehen natürlich anders vor, und wer Slackware benutzt, hat hoffentlich schon gelernt, wie man sich in einer Distribution ohne Paketmanagement behilft (es ist auch nicht so schwierig). Freunde von Arch Linux und Gentoo wissen sich sowieso zu helfen. 😉

Schritt 2: Die eigene IP-Adresse herausbekommen

# ifconfig | grep inet | grep -v '127.0.0.1'
inet addr:192.168.13.199  Bcast:192.168.13.255  Mask:255.255.255.0
# _

Diese IP-Adresse wird später, in Schritt 4, für die Konfiguration von Tor benötigt.

Schritt 3: Tor besorgen und installieren

Hier wieder der Teil für die debianoiden Linuxe:

# apt-get install tor

Das wars.

Schritt 4: Hidden Service in Tor konfigurieren

Hierfür muss die Konfigurationsdatei torrc im Editor bearbeitet werden – und tatsächlich sind nur zwei Zeilen einzufügen, die folgendermaßen aussehen (die IP-Adresse muss natürlich durch die richtige aus Schritt 2 ersetzt werden):

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 192.168.13.199:80

Unter unixoiden Betriebssystem, die sich an den Dateisystemstandard halten, liegt diese Datei im Verzeichnis /etc/tor, für andere Betriebssysteme kann ich nichts sagen.

Nachdem die beiden Zeilen eingefügt wurden, steht noch die kleine Arbeit an, das Verzeichnis hidden_service an der konfigurierten Stelle anzulegen und die Rechte entsprechend zu setzen – dabei wird der im Folgenden verwendete technische User, unter dem der Tor-Dienst läuft, in nicht-debianoiden Distributionen aus naheliegenden Fiesheitsgründen völlig anders heißen.

Es ist aber nicht so viel Arbeit.

# cd /var/lib/tor
# mkdir hidden_service
# chown debian-tor:debian-tor hidden_service
# chmod 0700 hidden_service
# _

Nun gilt es nur noch zwei Dinge zu tun: Als erstes wird der Tor-Dienst neu gestartet, damit er die neue Konfiguration verwendet.

Wenn es sich um ein Linux mit systemd handelt, geht das so:

# systemctl restart tor
# _

Und wenn es sich um ein Linux mit sysvinit handelt, geht es so:

# /etc/init.d/tor restart
# _

Danach sollten im Verzeichnis hidden_service zwei Dateien liegen:

# ls -l
-rw------- 1 debian-tor debian-tor  23 Jan 29 22:10 hostname
-rw------- 1 debian-tor debian-tor 887 Jan 29 21:42 private_key
# _

In der Datei hostname steht der Onion-Domainname, unter dem der Hidden Service erreichbar ist – der wird natürlich anders sein als hier:

# cat hostname
z6bacnlvodyije26.onion

Wenn das nicht geklappt hat, noch einmal die Bearbeitung der torrc überprüfen und auch einen Blick auf die Rechte des Verzeichnisses hidden_service werfen.

Schritt 5: Hidden Service testen

Hierfür muss der Browser für die Benutzung von Tor konfiguiert werden. Beim Firefox ist hierzu in den Einstellungen der Punkt »Erweitert« auszuwählen, dort der Unterpunkt »Netzwerk«, wo dann unter »Verbindung« auf »Einstellungen« zu klicken ist. (Ja, ich weiß, im Gegensatz zu den einfachen Dingen an der Kommandozeile hirnt das alles ein bisschen…) Es ist »Manuelle Proxy-Konfiguration« auszuwählen und unter SOCKS-Host 127.0.0.1, Port 9050 einzutragen. Darunter ist SOCKS v5 zu aktivieren. Das Firefox-Projekt hat sich nicht gerade Mühe gegeben, diese Einstellungen leicht auffindbar oder leicht bedienbar zu machen. Für andere Browser kann ich keine Aussagen machen, aber das Internet ist voller Dokumentation.

Nach abschließendem Klick auf »OK« kann man hier schnell überprüfen, ob der Browser Tor verwendet. Dies sollte immer der Fall sein.

Ich empfehle übrigens, sich gut zu merken, wie man diese Einstellung wieder rückgängig macht – sonst bekommt man bei eventuellen Problemen nicht einmal mit seinem Webbrowser mehr eine Verbindung zum Internet. Die Einstellung »Kein Proxy verwenden« dürfte bei fast jedem richtig sein.

Aber warum hat der Proxy jetzt die IP-Adresse 127.0.0.1, also die Loopback-Adresse des Rechners, an dem man gerade arbeitet? Nun, es läuft ja ein in Schritt 2 installierter Tor-Dienst auf dem lokalen Rechner, den wir natürlich benutzen. Port 9050 ist der Standardport; um einen anderen Port zu verwenden, müsste man SocksPort in der Datei torrc verändern. Dies wird wohl niemals nötig sein.

Schritt 6: Endlich! Ein laufender Hidden Service!

So, und damit zum Spaß an der Sache: In die Adresszeile des Browsers den Rechnernamen aus der Datei hostname eingeben – gut, dass es eine Zwischenablage gibt – und nach einer gewissen Wartezeit (es können beim ersten Aufruf schon zehn bis zwanzig Sekunden werden) erscheint die Startseite des in Schritt 1 lokal installierten Webservers. Diese kann unter dieser Adresse aus dem gesamten Internet heraus aufgerufen werden, und das recht anonym und schwierig überwachbar. Einzige Voraussetzung dafür ists, dass Tor benutzt wird. Die in diesem Webserver zur Verfügung gestellten Inhalte sind nicht öffentlich sichtbar, was ja auch die Bedeutung des Wortes Hidden Service ist – um jemanden Zugriff darauf zu geben, muss man ihm (oder ihr) also die Adresse zukommen lassen. Wenn es um empfindliche, private Dinge geht, aber besser nicht in einer unverschlüsselten E-Mail, die offen wie eine Postkarte durch das Internet befördert wird, denn sonst kann man sich die Mühe mit dem Hidden Service gleich sparen.

Wer so etwas ständig laufen lassen möchte, ist vermutlich gut mit einem Raspberry Pi beraten, der deutlich weniger Energie verbraucht als ein PC.

Ach ja: Wer ab jetzt nicht ständig mit Tor surfen möchte, sollte hinterher die Proxy-Einstellungen im Browser zurücksetzen. Und wer es vielleicht doch manchmal möchte, ist gut beraten, sich ein Browser-Addon für das schnelle Umschalten zwischen verschiedenen Proxy-Konfigurationen zu besorgen.

Dieser Beitrag wurde unter Technisches abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

13 Antworten zu Kurzanleitung: Hidden Service mit Tor aufsetzen

  1. Bio sagt:

    Tails – Privatsphäre für jeden, überall

    Tails ist ein Live-Betriebssystem, das Sie auf vielen Computern von einer DVD, einem USB-Stick oder einer SD-Karte aus starten können. Es zielt darauf ab, Ihre Privatsphäre und Anonymität zu bewahren und hilft Ihnen:

    - das Internet anonym zu nutzen und Zensur zu umgehen;
    - alle Verbindungen zum Internet werden zwingend durch das Tor Netzwerk geleitet;
    - auf dem verwendeten Computer keine Spuren zu hinterlassen, sofern Sie es nicht ausdrücklich wünschen;
    - kryptographische Werkzeuge auf dem aktuellen Stand der Technik zu benutzen, um Ihre Dateien, E-Mails und Instant-Messaging-Nachrichten zu verschlüsseln.

    Erfahren Sie mehr über Tails.
    […]

    http://www.crypto-fuer-alle.de/

    Weiter sagen! 😀

  2. LUCiDdev sagt:

    [..]zum aufsetzen von Hidden Service mit Tor eine Kurzanleitung geschrieben.
    Wer ihn etwas verfolgt oder kennt, der weiß dass er gerne an der Kommandozeile arbeitet. Etwas Erfahrung in der Richtung sollte man schon mitbringen[…]

  3. Bio sagt:

    […]Wer auf seinem Server Tor Hidden Services anbieten will, sollte derzeit nicht auf Apache-Server setzen – wenn er die Standardkonfiguration verwendet. Denn wenn die Option mod_status aktiviert ist, können auf einer Statusseite des Servers auch die HTTP-Anfragen von Nutzern eingesehen werden.[…]

    http://www.golem.de/news/tor-hidden-services-falsche-konfiguration-von-apache-servern-verraet-nutzerdaten-1602-118895.html

  4. Der Hulle sagt:

    sudo a2dismod status

    …damit die Apache Lösung zur Schließung der Lücke auch gleich hier steht.
    »Administratoren müssen nur das Kommando sudo a2dismod status ausführen, um die Statusseite zu deaktivieren. «

    (wobei der Artikel recht lustig ist…
    … »GET /chat/?q=How+to+get+rid+of+2+body%27s+%3F+ HTTP/1.1″ ho-ho-ho)

    ps: Danke für die schöne Anleitung!
    … fürs i2p habe ich leider keine so schöne gefunden – vom Prinzip her dürfte es aber gleich sein. (die gewünschten Inhalte eben nur über nen i2p »Tunnel« zugänglich machen – und vom Rest des Internets abkapseln)
    https://geti2p.net/ar/misc/i2ptunnel-services

  5. Pingback: (#8442) Make sure you definitely go through this just before something awful may happen 16.01.2019 05:25:21 « Unser täglich Spam

  6. Daniel Beck sagt:

    Und wie richte ich dann meine Website ein,sprich aussehen, Thema usw????

  7. jim sagt:

    Durch den apache oder auch nginx ist der Server auch weiterhin über den port 80 erreichbar, dort wo sich dann nun das Projekt liegt, wie hier beschrieben…

    Somit ist durch einen leichten abgleich bei google der Server mit desssen richtiger IP schnell ausfindig zu machen!
    Also keine gut Idee!

  8. Erni sagt:

    Moin,
    etwas anderes: benutze diverse hidden services.
    Zwei mit Cpanel und MySql.
    Wie richte ich Roundcube, Horde oder Squirrel Mail ein?
    Bei de oder com Domains habe ich keine Probleme.
    Bei Name.onion versagt meine Logik.

  9. Pingback: BLANK ATM CARD « Unser täglich Spam

  10. Pingback: S/M des tages | Schwerdtfegr (beta)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert