Jump to: navigation, search

Dienste mit verschleiertem Ursprung

This page is a translated version of the page Hidden Services and the translation is 100% complete.

Other languages:
Deutsch • ‎English

Tor Hidden Services - Einfach

Einführung

Bitte lies und verstehe Tor: Hidden Service Protokoll (Allgemeine Informationen) sowie Konfiguration eines Hidden Service (Standard Einrichtung, kein isolierter proxy) vorher. Bitte behalte im Kopf, dass Hidden Service nur über Tor oder Tunnel Service wie tor2web (sei vorsichtig) erreicht werden können.

SSL ist nicht notwendig [1], da Verbindungen zu Tor Hidden Services standardmäßig "End-zu-End-Verschlüsselt" sind [2]. [3] Dies ist in so fern praktisch, da du dich nicht mit selbst signierten Zertifikaten oder Zertifikatsausstellern herumschlagen musst.

Ein Gegner kann allerdings auch erkennen, ob der Hidden Service (und daher auch Tor) aktuell eingeschalten ist, oder nicht.

Irgendeinen Hidden Service bereitstellen

Jedweder Service, welcher auf dem Übertragungssteuerungsprotokoll (kurz TCP) basiert, wie beispielsweise Webserver, IRC Server, Chat Server oder ähnliche, lässt sich als Hidden Service bereitstellen. UDP und auch IPv6 sind aktuell vom Tor-Netzwerk nicht unterstützt.

Auf dieser Seite findet ihr ein Beispiel, wie man einen Webserver als Hidden Service anbieten kann. Auf der Voip Seite gibt es eine Anleitung für einen Hidden Voip Sevice, basierend auf Mumble.

Selbst wenn jemand es schafft, die Software des Servers deines Hidden Services (lighttpd, thttpd, apache, etc.) zu hacken, so kann er dennoch nicht auf den Hidden Service Schlüssel zugreifen, oder Tor umgehen, siehe: Attacken gegen Whonix. Der Schlüssel befindett sich auf der Whonix-Gateway. Sobald die Whonix-Workstation vom Angriff gesäubert worden ist, ist es niemandem mehr möglich, deinen Hidden Service nachzuahmen.

Wir sind uns zwar sehr sicher, dass es bei der Nutzung von Whonix zu keinen IP/DNS Leaks kommen kann, dennoch liegen erweiterte Schutzmaßnahmen in der Hand des Nutzers. Im Security Guide und im Advanced Security Guide sind einige praktische Tipps um die Sicherheit zu verbessern.

Behalte Leaks auf Programmbasis im Kopf. Siehe Protocol-Leak-Protection and Fingerprinting-Protection für genaueres. Zum Beispiel,

  • Nutzt du den Apache Web Server, so ist es empfohlen, libapache-mod-removeip[4] zu insallieren. Eine Kombination von Apache und Mediawiki ohne libapache-mod-removeip, wäre alles andere als optimal, da Mediawiki per Standard die IPs anonymer Schreiber zu speichern. Die IP wäre dann 10.152.152.10. Dies wäre zwar nicht zum identifizieren geeignet, da dies nicht deine echte IP Addresse ist, aber es würde den Server als Hidden Service hinter einem Whonix-Gateway identifizieren.[5]

Daher sollte jedwede Möglichkeit, die IP deiner Server Software zu verschleiern, genutzt werden. Weitere Schutzmaßnahmen werden ebenfalls empfohlen, z.B.:

  • Nutzt du den Apache Web Server, so sieh dir bitte die folgenden Fußnoten an. [6]

Webserver als Hidden Service

Einrichtung

Auf der Whonix-Gateway:

Öffne /etc/tor/torrc.

sudo nano /etc/tor/torrc

Lies den gesammten Text, welcher in der Datei steht. Er erklärt dir, wo die .onion URL zu finden ist und wie der Hidden Service Key gesichert werden kann. Schreibe am Ende der Datei die folgenden zwei Textzeilen.

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

Starte Tor mit dem nächsten Befehl neu.

sudo service tor reload

Tippe nun das Folgende um dir den Hidden Service URL zu holen.

sudo cat /var/lib/tor/hidden_service/hostname

Erinnerung: Sichere deinen Hidden Service Key, um deinen Hidden Service zu wiederherstellen oder auf eine neuere Version von Whonix, bzw. neuere Hardware zu wechseln. Mit dem folgenden Kommando kannst du es finden. Root-rechte sind hierfür notwendig.

/var/lib/tor/hidden_service/private_key

Das Folgende ist auf der Whonix-Workstation zu tun:

Installiere lighttpd (einen Webserver) mit dem folgenden Kommando.

sudo apt-get update
sudo apt-get install lighttpd

Das wars.

Bedenke, dass es bis zu 30.Minuten dauern kann, bis eine neue .onion Domain erreichbar ist.

Note, accessing 127.0.0.1 is no longer possible due to a change in Tor Browser by The Tor Project. Check Tor Browser, Local Connections for more information and a workaround..

Fehlersuche

Überprüfe Berechtigungen.

ls -la /var/lib/tor/hidden_service/

Solltest du deinen Hidden Service Key von Hand als Root wiederhergestellt haben, so wird Tor nicht mehr starten. Der Ordner muss von debian-tor besessen werden. Ist dies der Fall, so repariere bitte die Berechtigungen.

sudo chown debian-tor:debian-tor /var/lib/tor/hidden_service/

Bedenke: Der Tor Browser erlaubt Verbindungen zu 127.0.0.1:80 aber nicht zu 10.152.152.11:80.

Überprüfe in der Whonix-Workstation ob der Service unter 127.0.0.1:80 verfügbar ist.

## Circumventing Whonix uwt wget stream isolation wrapper.
/usr/bin/curl.anondist-orig 127.0.0.1:80

Überprüfe über die Whonix-Workstation ob der Service unter 10.152.152.11:80 erreichbar ist.

## Circumventing Whonix curl wget stream isolation wrapper.
/usr/bin/curl.anondist-orig 10.152.152.11:80

Tipps für jeden Hidden Service

Versuch dich bitte am Hidden Webserver welcher oben erklärt wurde, da es hilft, das Prinzip von Hidden Services im generellen zu verstehen und es ein suchen nach Fehlern vereinfacht.

Zitat vom Tor Manual[7]:

HiddenServiceDir DIRECTORY

Speicher Daten für den Hidden Service in VERZEICHNIS. JEDER Hidden Service braucht ein eigenes Verzeichnis. Dies kann genutzt werden, um mehrere Hidden Services bereitzustellen. Das Verzeichnis muss eines sein, welches existiert.

Zitat aus dem Tor Manual[8]:

HiddenServicePort VIRTPORT [TARGET]

Stelle einen virtuellen Port (VIRTPORT) für den Hidden Service bereit. Eventuell muss dies mehrfach getan werden; jedes mal wird es auf den Service angewendet,welcher den letzten hiddenservicedir genutzt hat. An sich wird hierbei der virtuelle Port über TCP mit dem für 127.0.0.1 verbunden. Du könntes den Zielport, die Adresse, oder beides überschreiben, wenn du ein Ziel für addr, port, oder addr:port definierst. Du könntest auch mehrere Zeilen mit dem selben VIRTPORT haben: verbindet sich dann ein User mit diesem VIRTPORT, so
wird einer der VIRTPORTS aus den Zeilen per Zufall gewählt.

Lies hierfür das Security Guide.

Erhebliche Upstream Bugs

Verbindungsbugs:

Skalierbarkeit

Tor Hidden Services - Erweitert

Die Sicherheit von Hidden Services

Das folgende gilt nicht nur für Whonix! Hier geht es um Tor im generellen.

Wie sicher sind Tor Hidden Services?

Dies ist bis auf weiteres eine schwere Frage. Hier sind einige Fakten zu dem Thema.

Hidden Services Authentifizierung

Standardmäßig sind die Namen von Hidden Service der Allgemeinheit bekannt, da diese zum Hidden Service Directory übertragen werden. Diese Information wird von Web Crawlern zusammengetragen, wodurch jeder, egal ob du dies möchtest oder nicht, sich mit dem Hidden Service verbinden kann.

Es gibt ein nicht allzu bekanntes Feature in Tor, welches es erlaubt, einen Hidden Service im "Privaten Modus" zu nutzen, wodurch nur du, oder andere, vertraute Personen auf diesen zugreifen können.

Eine praktische Funktion von Tor nennt sich "Hidden Service Authentifizierung". [10][11]

Laut Tor Guide, gibt es zwei Einstellungsmöglichkeiten (also Dinge, welche man in torrc eintragen kann):

HiddenServiceAuthorizeClient ist eine Server seitige Einstellung welche sich in der torrc Datei befindet. Dies generiert einen einzigartigen geheimen Code, welcher zusammen mit der .onion Adresse nötig ist, um sich mit deinem Service zu verbinden. Ohne diesen ist es unmöglich die Eintrittspunkte zu deinem Server zu finden, was im Umkehrschluss dazu führt, dass sich niemand mit deinem Server verbinden kann. Dies gilt auch für "Hidden Service Directories".

Editiere torrc
sudo nano edit /etc/tor/torrc

und füge das Folgende hinzu:

HiddenServiceAuthorizeClient auth-type client-name,client-name,…


So eingerichtet, ist der Hidden Service nur für autorisierte Clients erreichbar. Die Art der Authentifikation kann einfach sein, für Standardprotokolle oder "stealth" für schlecht skalierbare Protokolle, welche auch Aktivitäten von unautorisierten Clienten verschleiern kann. Nur Clienten, welche hier aufgelistet sind, sind autorisiert, sich mit dem Hidden Service zu verbinden. Die Namen dieser Clienten können zwischen einem und sechzehn Zeichen lang und nur aus den Zeichen A-Za-z0-9+-_ (keine Leerzeichen) bestehen. Ist diese Einstellung aktiviert, so kann der Hidden Service von unautorisierten Clienten nicht mehr erreicht werden. In der Hostdatei kann hierfür die generierte authentifizierungs Information gefunden werden. Clienten müssen diese Information in ihre Konfigurationsdatei mit HidServAuth eintragen, um sich verbinden zu können.


HidServAuth ist eine torrc Einstellung welche von Tor im Client Modus genutzt werden kann. Um sich zu verbinden muss der Authentikationscookie welcher im vorherigen Schritt erschaffen wurde angegeben werden. Dieser sollte nur über ein sicheres Medium (am besten persönlich oder per verschlüsseltem OTR Chat über Tor) verbreitet werden.

HidServAuth <onion-address> <auth-cookie>


Für jeden, welchem du Zugang erteilst, lässt sich ein individuelles Cookie erstellen. Hierdurch lässt sich Zugang, so nötig, einfach entziehen. Die Regeln für da limitieren von Zugang bei Hidden Services sind ganz oder gar nicht. Möchtest du nur eine Subdomain limitieren, so empfiehlt es sich daher, den Hidden Service über mehrere Workstations aufzuteilen.

Informationen über End-zu-End Verschlüsselung bei Hidden Services

Hidden Services sind eigentlich nicht direkt "End-Zu-End" verschlüsselt, sondern nur "Tor-Zu-End" (bzw. "Tor-Zu-Tor"). Die Kommunikation zwischen Browser und Server findet im Klartext statt. Dies birgt allerdings KEINEN Sicherheitsnachteil, da Localhost (oder Workstation zu Gateway im Falle eines isolierten Netzwerks), an sich sicher sein soll. Dies hat jedoch dennoch einige sicherheitsbedingte Konsequenzen:

Ein Hidden Service, ohne TLS aktiviert, erlaubt es einem Angreifer, durch kompromittieren des Whonix-Gateways die Identität/Lage oder den Inhalt einer Verbindung herauszufinden. Um den Inhalt zu kompromittieren, reicht es, das Gateway oder die Workstation zu kompromittieren.

Wird ein Hidden Service mit TLS genutzt, so müsste ein Angreifer die Whonix -Workstation kompromittieren, um etwas über den Inhalt der Verbindung herauszufinden. Des Weiteren müsste er das Whonix-Gateway kompromittieren, um die Identität/die Lage des Clients herauszufinden.

Man kann gleichzeitig Hidden Service und TLS nutzen, siehe: https://****************.onion. Nur wenige Hidden Service sind über TLS erreichbar. https://pad.riseup.net/ kann z.B.: über https://5jp7xtmox6jyoqd5.onion/ erreicht werden. Da dies aber nur Nutzern von Whonix (und anderen Implementierungen von Tor Gateways) nutzt, gibt es hierfür keine Nachfrage. Es würde aber weiteren Schutz bieten, da es einen Angriffspunkt eliminiert.

Hier stellt sich nun die Frage, wie die Identität des Zertifikatsstellers verifiziert werden könnte.

Für private Seiten ist dies einfach, da der Server, wie der Client sich kennen. Diese könnten sich einfach über einen vorher vereinbarten, sicheren Kanal, verifizieren.

Und was ist mit öffentlichen Hidden Services? Aktuell ist es unwahrscheinlich, dass Zertifizierungsstellen Zertifikate für .onion Seiten vergeben. Stratssl.com hat dies z.B.: verweigert, da es sich bei .onion um keine "generic top-level domain (gTLD)" handelt, siehe: Bug #6116: Antrag für .onion gTLD bei IANA. Andere Zertifizierungsstellen könnten natürlich gefragt werden, ob sie SSL-Zertifikate für Menschen bereitstellen, welche beweisen können, dass sie die .onion Domain besitzen. Dies kann z.B.: durch editieren der Seite nach Absprache mit der Zertifizierungsstelle geschehen.

Auf Zertifizierungsstelle sollte man sich generell nicht verlassen. Siehe SSL.

Hidden Services über Whonix sind sicherer als das Nutzen von Tor und der Server Software auf dem selben Host, da, selbst wenn falsch eingerichtet, IP oder DNS-Leaks per Design nicht möglich sind.

Siehe

Einzelnachweise

  1. https://en.wikipedia.org/wiki/Secure_Sockets_Layer
  2. http://www.quora.com/Is-there-an-SSL-equivalent-for-Tor-Hidden-Services
  3. To be exact, only tor-to-tor, see Notiz über Tor End-zu-End-Verschlüsselung.
  4. sudo apt-get install libapache-mod-removeip
  5. Da es einfach ist, herauszufinden, dass 10.152.152.10 die IP ist, welche standardmäßig von Whonix-Gateway für das interne LAN genutzt wird.
  6. (Quelle: old forum) Stoppe Apache. In ports.conf:
    NameVirtualHost 127.0.0.1:80
    Listen 127.0.0.1:80
    ServerName localhost
    

    In sites-available/default:

    
    

    Starte Apache.

    Nun lauscht Apache nicht mehr unter 10.152.152.10, sondern nur noch 127.0.0.1. Daher müssen wir nun 10.152.152.10:80 auf 127.0.0.1:80 umleiten.

    Dies ist mit einer Firewall Regel oder Netcat möglich:

    sudo ncat -l 10.152.152.10 80 -c 'ncat 127.0.0.1 80'
    
  7. https://www.torproject.org/docs/tor-manual.html.en
  8. https://www.torproject.org/docs/tor-manual.html.en
  9. https://www.torproject.org/about/corepeople.html.en
  10. http://tor.stackexchange.com/questions/219/how-to-use-hidden-service-authentication Wie nutze ich die Hidden Service Authentifizierung?
  11. https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/121-hidden-service-authentication.txt

Random News:

Want to get involved with Whonix? Check out our Contribute page.


Impressum | Datenschutz | Haftungsausschluss

https | (forcing) onion
Share: Twitter | Facebook | Google+
This is a wiki. Want to improve this page? Help welcome, volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation. Whonix (g+) is a licensee of the Open Invention Network. Unless otherwise noted above, content of this page is copyrighted and licensed under the same Free (as in speech) license as Whonix itself.