Blog What We Do Support Community
Developers
Login Sign up

Der DNS Resolver für Tor stellt sich vor

Falls Sie es noch nicht gehört haben, Cloudflare hat am 1. April einen DNS Resolver-Dienst gestartet, bei dem die Privatsphäre an erster Stelle steht. Das war kein Aprilscherz! Dieser Dienst, bei dem es sich um unseren ersten verbraucherorientierten Dienst handelt, unterstützt neue DNS-Standards wie DNS über HTTPS:443 und TLS:853, neben traditionellen Protokollen über UDP:53 und TCP:53, alles in einer einzigen, leicht zu merkenden Adresse: 1.1.1.1.

Wie bereits im ursprünglichen Blogbeitrag erwähnt, ist unser Grundsatz, garantiert niemals Client-IP-Adressen auf Festplatten zu speichern und alle Protokolle innerhalb von 24 Stunden zu löschen. Dennoch wollen ganz besonders auf ihre Privatsphäre bedachte Leute ihre IP-Adresse vielleicht nicht einmal dem Resolver mitteilen, was wir respektieren. Aus diesem Grund starten wir unter dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion einen Tor Onion Service für unseren Resolver, der über tor.cloudflare-dns.com erreichbar ist.

HINWEIS: Der versteckte Resolver ist noch ein experimenteller Dienst und sollte erst dann in der Produktion oder für andere kritische Anwendungen verwendet werden, wenn er ausgiebiger getestet wurde.

Crashkurs in Sachen Tor

Was ist Tor?

Stellen Sie sich ein alternatives Internet vor, in dem Sie, um eine Verbindung zu www.cloudflare.com herzustellen, die Aufgabe, einen Weg zu unseren Servern zu finden, nicht an Ihren Internetanbieter delegieren würden, sondern die folgenden Schritte durchführen müssten, um Cloudflare zu erreichen:

  1. Sie berechnen einen Weg zu Ihrem Ziel, so wie hier:
    Sie -> Ihr ISP -> X -> Y -> Z -> www.cloudflare.com.
  2. Sie verschlüsseln Ihr Paket mit dem öffentlichen Schlüssel von Z, dann mit dem von Y und schließlich mit dem von X.
  3. Sie senden das Ergebnis an X, der es mit seinem privaten Schlüssel entschlüsselt;
  4. X sendet das Ergebnis an Y, der es mit seinem privaten Schlüssel entschlüsselt;
  5. Y sendet das Ergebnis an Z, der es mit seinem privaten Schlüssel entschlüsselt, um das Originalpaket zu erhalten;
  6. Z sendet das Paket an www.cloudflare.com.

Wenn jeder seine Rolle richtig spielt, kann man sicherstellen, dass nur der Eintrittsserver X Ihre IP-Adresse kennt und nur der Austrittsserver Z die Website kennt, mit der Sie eine Verbindung herstellen, wodurch Ihre Privatsphäre und Anonymität gewahrt bleiben. Das ist eine vereinfachte Version von Tor: eine Reihe von Computern und Servern von Freiwilligen auf der ganzen Welt, die als Knoten für ein riesiges Netzwerk fungieren, das auf das Internet draufgesattelt ist und bei dem bei jeder Etappe von einem Knoten zum nächsten eine Verschlüsselungsschicht abgezogen wird. Daher der Name: The Onion Router (englisch onion für Zwiebel).

Was sind Tor Onion Services?

Die Anonymität von Internetnutzern zu wahren, ist nicht die einzige Funktion des Tor-Netzwerks. Ein Vorbehalt gegen das oben beschriebene Verfahren besteht insbesondere darin, dass sowohl der Austrittsserver als auch jeder, der zwischen ihm und dem Ziel sitzt (einschließlich der Netzbetreiber), weiterhin auf die Verbindung zugreifen kann. Um dieses Problem zu lösen und auch um die Anonymität für Anbieter von Informationen zu gewährleisten, ermöglicht Tor versteckte Dienste, sog. Onion Services. Onion Services sind Tor-Knoten, die ihren öffentlichen Schlüssel, der als Adresse mit der TLD .onion kodiert ist, anbieten und Verbindungen vollständig innerhalb des Tor-Netzwerks herstellen:

Wie löst man eine Domain auf, während man Tor benutzt?

Der Prozess der Ausgabe einer IP-Adresse für einen Domainnamen wird als DNS-Auflösung bezeichnet. Da Tor immer noch IP-Adressen verwendet, muss man noch immer eine DNS-Auflösung durchführen, um über Tor im Internet zu surfen. Es gibt zwei gängige Methoden, um einen Domainnamen aufzulösen, wenn man Tor verwendet:

  1. Den Namen direkt auflösen und dann über Tor mit der IP-Adresse sprechen;
  2. Einen Tor-Austrittsserver bitten, den Namen öffentlich aufzulösen und sich mit der IP zu verbinden.

Offensichtlich wird bei der ersten Option Ihre IP an Ihren DNS Resolver weitergegeben, und wenn Ihr Client nicht DNS-over-HTTPS oder DNS-over-TLS verwendet, wird auch der Name Ihres Ziels an Ihren ISP weitergegeben. Weniger offensichtlich ist, dass Sie durch die zweite Option für manipulative Angriffe wie DNS-Poisoning oder sslstrip durch schlechte Server anfällig sein können. Hier setzt unser neuer Dienst an:

3.  Lassen Sie das einen .onion-basierten Resolver-Dienst machen!

Wie funktioniert der versteckte Resolver von Cloudflare?

In wenigen Worten: Unser .onion-basierter Resolver-Dienst ist ein Tor Onion Service, der die gesamte Kommunikation über DNS-Ports an die entsprechenden Ports auf 1.1.1.1 weiterleitet, sodass die scheinbare Client-IP eine interne IP anstatt Ihrer ist. Es steckt jedoch mehr dahinter, als man auf den ersten Blick sieht.

Ist der versteckte Resolver sicher?

Ein eklatanter Unterschied zwischen der Verwendung von 1.1.1.1 und diesem Dienst ist, dass die .onion-Adresse aus „dns4tor“ plus 49 scheinbar zufälligen alphanumerischen Zeichen besteht. Diese 56 Zeichen lange Zeichenkette enthält tatsächlich einen vollständigen öffentlichen Ed25519-Schlüssel, der zur sicheren Kommunikation mit dem Onion Service verwendet wird. Dies birgt eine Reihe von Herausforderungen hinsichtlich nutzbarer Sicherheit:

  1. Wie können die Nutzer sicherstellen, dass die Adresse korrekt ist?

Wir haben einfach ein Zertifikat mit tor.cloudflare-dns.com als Name des Antragstellers und der .onion-Adresse als Alternativnamen gekauft. Auf diese Weise sollten Sie Folgendes sehen, wenn Sie am richtigen Ort sind:

 2.  Wie können sich die Nutzer diese Adresse merken?

Wir denken nicht, dass man sich an diese Adresse erinnern muss. Im Idealfall müssen Sie lediglich auf https://tor.cloudflare-dns.com gehen und den Browser Ihre Anfrage an die .onion-Adresse weiterleiten lassen. Dies ist mit dem HTTP-Header „Alt-Svc“ möglich, der als optionaler Header den Browser darüber informiert, dass auf die Ressourcen von einem anderen Netzwerkstandort aus zugegriffen werden kann, möglicherweise mit einem anderen Protokoll. Dank Mozilla ist die Verwendung von .onion-Adressen für alternative Dienste nun in Firefox Nightly möglich.

Stellen Sie sich diese Funktion wie opportunistische Verschlüsselung vor: Sobald Ihr Browser einen Alt-Svc-Header erhält, der angibt, dass eine .onion-Adresse für tor.cloudflare-dns.com verfügbar ist, und er weiß, dass auf .onion-Adressen zugegriffen werden kann (z.B. über einen SOCKS-Proxy), versucht er zu überprüfen, ob der alternative Dienst das gleiche oder ein höheres Sicherheitsniveau hat. Dazu gehört auch, sicherzustellen, dass man sich mit dem gleichen Zertifikat und Servernamen mit dem Onion Service verbinden kann. Wenn das der Fall ist, verwendet der Browser den alternativen Dienst und stellt so sicher, dass Ihre zukünftigen Anfragen das Tor-Netzwerk nicht verlassen.

Ist der versteckte Resolver schnell?

Hier ist ein Gedankenexperiment: Angenommen, zwischen jeweils zwei Punkten auf der Erde befindet sich ein Glasfaserkabel, das Pakete mit Lichtgeschwindigkeit verlustfrei übertragen kann.

Mithilfe einer Überschlagsrechnung lässt sich leicht erkennen, dass jedes Paket im Durchschnitt eine Entfernung, die einem Viertel des Erdumfangs entspricht, in etwa 33 ms zurücklegt, während jedes Tor-Paket etwa 200 ms benötigt, um anderthalbmal die Erde zu umrunden, bevor es einen Onion Service erreicht; das sind drei Umrundungen für einen Hin- und Rückweg, der die Anonymität beider Parteien gewährleistet.

Cloudflare benötigt jedoch keine Anonymität für seine Server, weshalb wir die Anzahl der Knoten auf nur drei reduzieren können. Dazu aktivieren wir eine optionale Einstellung für Onion Services, die einer geringeren Latenzzeit Vorrang vor der Standortanonymität des Dienstes einräumt. Wir möchten betonen, dass dies keinerlei Auswirkungen auf die Privatsphäre oder Anonymität des Clients hat. Wie Sie vielleicht bemerkt haben, liegt der Ursprung im ersten Bild des Onion Services drei Etappen vom Rendezvous-Punkt entfernt, während unser Onion Service nur eine Etappe entfernt ist.

Wir arbeiten intensiv daran, diesen Dienst schneller zu machen und sicherzustellen, dass er so wenig Ausfallzeiten wie möglich hat.

Warum sollte ich Cloudflares versteckten Resolver nutzen?

Zunächst einmal garantiert die Auflösung von DNS-Anfragen über das Tor-Netzwerk, z. B. durch die Verbindung mit dem 8.8.8.8-Resolver von Google, ein deutlich höheres Maß an Anonymität als die direkte Ausführung der Anfragen. Dadurch wird nicht nur verhindert, dass der Resolver jemals Ihre IP-Adresse sieht, auch Ihr ISP wird nicht erfahren, dass Sie versucht haben, einen Domainnamen aufzulösen.

Dennoch, solange das Ziel kein Onion Service ist, können passive Angreifer Pakete erfassen, die das Tor-Netzwerk verlassen, und böswillige Austrittsknoten können DNS-Abfragen verfälschen oder die Verschlüsselung durch SSL-Stripping herabsetzen. Selbst wenn Sie Ihr Surfen auf HTTPS-Seiten beschränken, können passive Angreifer herausfinden, welche Adressen Sie aufgerufen haben. Noch schwerwiegender ist, dass Akteure, die den Datenverkehr sowohl vor dem Eintritt in das Tor-Netzwerk als auch nach dem Verlassen des Netzwerks vergleichen können, den Client potenziell mithilfe der Metadaten (Größe, Zeit usw.) de-anonymisieren könnten. Die einzige Lösung besteht also darin, Austrittsknoten überflüssig zu machen, indem man stattdessen Onion Services verwendet. Das ist es, was unser .onion-basierter Resolver bietet.

Wenn Ihr Client keine verschlüsselten DNS-Abfragen unterstützt, kann die Verwendung eines .onion-basierten Resolvers die Verbindung außerdem vor On-Path-Angriffen, einschließlich BGP-Hijacking-Angriffen, schützen. Das bedeutet, dass die Sicherheit für DNS-over-UDP und DNS-over-TCP die gleiche ist wie für DNS-over-HTTPS und DNS-over-TLS.

Ihre persönliche Anonymität ist jedoch nicht der einzige Grund, warum Sie diesen Dienst nutzen sollten. Die Stärke von Tor, die Anonymität aller Beteiligten sicherzustellen, hängt von der Anzahl der Personen ab, die es nutzen. Wenn beispielsweise nur Whistleblower das Tor-Netzwerk nutzen würden, dann würde jeder, der sich mit dem Tor-Netzwerk verbindet, automatisch als Whistleblower verdächtigt werden. Je mehr Menschen Tor nutzen, um im Internet Meme anzusehen oder Katzenvideos zu schauen, desto einfacher wird es für diejenigen, die wirklich Anonymität brauchen, sich unter den Datenverkehr zu mischen.

Eine Sache, die viele Nutzer von der Verwendung von Tor abhält, ist, dass es einfach langsam ist, und ich kann nachvollziehen, dass es Menschen gibt, die nicht auf schnelle Ladezeiten verzichten würden, um mitzuhelfen, dass Aktivisten und Dissidenten anonym bleiben. Allerdings sind DNS-Anfragen klein und da die meisten Browser und Betriebssysteme DNS-Ergebnisse zwischenspeichern, ist der gesamte Datenverkehr nicht signifikant. Infolgedessen verlangsamt die Verwendung des .onion-basierten Resolvers Ihre erste DNS-Anfrage nur geringfügig, ohne dabei etwas anderes zu verlangsamen, während Sie gleichzeitig zur allgemeinen Anonymität des Tor-Netzwerks und seiner Nutzer beitragen.

Warum sollte ich Cloudflares verstecktem Resolver trauen?

Die Verwendung eines .onion-basierten Resolvers stellt sicher, dass Ihr ISP nie herausfindet, dass Sie eine Domain auflösen, die Austrittsknoten keine Chance haben, DNS-Antworten zu manipulieren, und der Resolver nie Ihre IP-Adresse herausfindet. Der einzigartige Vorteil der Verwendung des .onion-basierten Resolvers von Cloudflare besteht jedoch darin, dass er die Leistung von Tor mit allen die Privatsphäre schützenden Funktionen des 1.1.1.1-Resolvers kombiniert, wie z. B. Minimierung von Abfragenamen, sowie auf ein Team von Entwicklern bauen kann, die daran arbeiten, ihn auf allen Ebenen zu verbessern, einschließlich Standards wie DNS-over-HTTPS und DNS-over-TLS.

Wie unser CEO Matthew Prince vor etwa zwei Jahren schrieb, ist Anonymität im Internet eine Sache, die wir bei Cloudflare schätzen. Darüber hinaus haben wir uns bei der Ankündigung des 1.1.1.1-Resolvers verpflichtet, alle technischen Maßnahmen zu ergreifen, um sicherzustellen, dass wir nicht wissen können, was Sie im Internet tun. Eine Möglichkeit zu bieten, den Resolver über das Tor-Netzwerk zu nutzen, und ihn so schnell wie möglich zu machen, ist ein großer Schritt in diese Richtung.

Wie richtet man ihn ein?

Der .onion-basierte Resolver unterstützt alle DNS-Protokolle, die 1.1.1.1 unterstützen, nur eben über das Tor-Netzwerk. Da sich jedoch nicht jeder DNS-Client mit dem Tor-Netzwerk verbinden kann, ist ein bisschen Feinarbeit erforderlich, damit es funktioniert. Hier erklären wir, wie man DNS-over-HTTPS einrichtet, das vom .onion-basierten Resolver bereitgestellt wird. Für alle anderen Szenarien besuchen Sie bitte unsere Entwicklerseite. Dort erfahren Sie die Details zur Verwendung des .onion-basierten Resolvers.

Erinnern Sie sich an cloudflared?

So richten Sie cloudflared ein, um einen DNS-Client zu starten, der DNS-over-HTTPS verwendet und über das Tor-Netzwerk geleitet wird:

  1. Laden Sie zunächst cloudflared herunter. Dazu folgen Sie einfach der regulären Anleitung zum Ausführen eines DNS-over-HTTPS-Client.
  2. Starten Sie einen Tor-SOCKS-Proxy und verwenden Sie socat, um den Port TCP:443 an localhost weiterzuleiten:
socat TCP4-LISTEN:443,reuseaddr,fork SOCKS4A:127.0.0.1:dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:443,socksport=9150

3. Weisen Sie Ihren Computer an, die .onion-Adresse als localhost zu behandeln:

cat << EOF >> /etc/hosts 
127.0.0.1 dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion 
128.EOF

4. Starten Sie zu guter Letzt einen lokalen DNS-over-UDP-Daemon:

cloudflared proxy-dns --upstream "https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/dns-query"
INFO[0000] Adding DNS upstream                           url="https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/dns-query"
INFO[0000] Starting DNS over HTTPS proxy server          addr="dns://localhost:53"
INFO[0000] Starting metrics server                       addr="127.0.0.1:35659"

5. Profitieren Sie!

comments powered by Disqus