Viele von uns haben es mehrmals täglich am Arbeitsplatz. In den meisten Büros findet es statt: Ungeschützter Verkehr am Arbeitsplatz. Wer aber jetzt einen anzüglichen Text erwartet, wird enttäuscht. Es geht nämlich um ein ernstes Thema, welches leider nicht so sexy ist: Den letzten ungeschützten Verkehr im Internet 😉

Zwar sind mittlerweile über 78%1 aller Verbindungen zwischen Client und Server mit https verschlüsselt (auch diese hier), aber der DNS-Verkehr ist es Großteils nicht.

Was macht ein DNS und warum ist das wichtig?

Ohne das DNS (Domain Name System) würde das Internet in der heutigen Form vermutlich nicht funktionieren. Es übersetzt die Domainnamen der Webseiten in IP-Adressen, mit denen die Netzwerkkommunikation erst ermöglicht wird. Würde es diese Funktion nicht geben, so müssten wir uns IP-Adressen merken und keine Namen.

google.de   →   DNS   →  142.250.186.99
philipp.bike →   DNS   →   95.143.172.216

Über die genaue Technik lasse ich mich hier nicht aus, aber wer mehr zu Begriffen wie “DNS Recursor” oder “Authorative Nameserver” erfahren will findet hier eine gute Beschreibung.

Wer die IP-Adresse einer Seite herausfinden will kann einfach im Terminal Fenster eingeben:

nslookup philipp.bike

Ergibt:

Server: 9.9.9.9
Address: 9.9.9.9#53

Non-authoritative answer:
Name:	philipp.bike
Address: 95.143.172.216

In diesem Fall kam die Antwort vom DNS-Server von Quad9 (9.9.9.9)

DNS und Privatsphäre

Ich möchte hier nicht weiter auf Sicherheit eingehen und wie durch korrumpierten DNS Verkehr beispielsweise der Nutzer auf andere Seiten geleitet werden kann (DNS Spoofing), sondern mehr über Privatsphäre sprechen. Selbst wenn die korrekte DNS Antwort beim Nutzer ankommt kann das Probleme bezüglich Privatsphäre bedeuten.

Einer der bekanntesten DNS-Server ist der von Google. Dieser ist unter der Nummer 8.8.8.8 erreichbar und wird von vielen Aufgrund seiner Schnelligkeit und Zuverlässigkeit genutzt. Das Problem hierbei ist aber, dass Google dann all eure besuchten Webseiten kennt. Jegliche Anfrage einer Internetverbindung läuft über den Google DNS-Server. Selbst wenn man gar keine Google Dienste nutzt weiß der genutzte DNS-Server alles.

Ein Bild beschreibt dieses Problem ziemlich passend:

Google is focussing on its core service © xkcd

Auch mir war lange Zeit nicht bewusst, dass DNS nicht nur eine Rolle spielt wenn man im Browser eine Webseite eintippt, sondern auch beim Nutzen von Apps. Die meisten von uns nutzen intensiv ihr Smartphone mit installierten Apps ohne über Tage hinweg auch nur eine Internetadresse einzugeben. Dennoch werden auch bei den Apps die benötigten Seiten nicht als die IP-Adressen gespeichert sondern die Klarnamen der Webseiten. Wenn man bei Spotify Musik streamt, auf Instagram Bilder anschaut oder per App Nachdichten liest, jede Anfange geht an den DNS-Server.

Ein paar Beispiele von mir:

DNS Anfragen

Was kann man aus diesen paar wenigen Minuten sehen:

  • Gegen 19:30 sendet mein Handy Anfragen an die Server von Signal und WhatsApp
  • Anschließend such das Betriebsystem nach Updates (releases.grapheneos.org)
  • Kur vor 20 Uhr höre ich Musik hören und es werden ein paar Anfragen an Soundcloud gesendet
  • Um 20:01 ruft die Wetter App den Kartenserver (mapbox) und die Wetter API (api.openweathermap) auf
  • Zuletzt fragt der Podcastplayer jeden einzelnen Feed ab und in diesem Feed ist die Adresse gut ersichtlich. Beispielsweise höre ich “This Week in Virology”, “Security Insider” oder “Tatort Berlin”

All dies ohne einen Suche durchgeführt oder sonst ein Google Produkt genutzt zu haben. Nur Apps werden geöffnet. Selbst mein Handybetriebssystem ist nicht Android sondern GrapheneOS und dennoch wüsste Google all diese Details, wenn ich den DNS Server 8.8.8.8 eingestellt hätte.

DNS Server des Internetproviders

Die meisten Menschen werden wahrscheinlich nie den DNS-Server in ihrem Router oder Smartphone umstellen und so ist höchstwahrscheinlich der DNS-Server des Mobilfunk- und Internetproviders (ISP) eingestellt. Da der ISP sowieso jegliche Verbindungen sieht (zwar nicht die Inhalte von verschlüsselten Verbindungen, aber den Server der Anfrage) könnte man eigentlich direkt den DNS-Servers des IPS unverändert nutzen.

Leider zeigt sich aktuell, dass aber auch das keine gute Alternative ist:

Vor kurzem ist eine Sperrverfügung der Kommission für Jugendmedienschutz an die großen ISPs zur Sperrung des Pornoportals xHamster ausgestellt worden. Diese sollen Zugang zur deutschen Seite des Portals verhindern. Diese Blockade wird so gelöst, indem die zugehörige DNS-Anfrage nicht aufgelöst wird und der Nutzer daher eine Fehlermeldung erhält, als würde die Seite nicht existieren. Natürlich gibt es diese Seite weiterhin noch, schließlich ist sie nicht vom Netz genommen worden. Jeder DNS-Server außer denen, die sie Sperrverfügung umsetzen, wird weiterhin die korrekte IP-Adresse liefern und so Zugang ermöglichen.

Selbst aktiv werden

Die Antwort auf diese Probleme ist jedenfalls ziemlich einfach und auch leicht umzusetzen: Einen privaten vertrauenswürdigen DNS-Server mit verschlüsselter Übertragung nutzen.

So wie verschlüsseltet Webseiten das https-Protokoll nutzen, so gibt es für DNS-Verkehr das tls-Protokoll (DNS-over-TLS oder DoT). Zwar könnte man auch für DNS-Verkehr die https Verschlüsselung nutzen (DNS-over-https oder DoH) nutzen, aber dazu wird abgeraten.

Eine sehr ausführliche Liste führt über geeignete DNS Server findet man beim privacy-handbuch.

Ich nutze bei mir folgende upstream DNS-Server:

DienstAdresse
Quad9tls://dns.quad9.net
Digitalcouragetls://dns3.digitalcourage.de
Digitale Gesellschafttls://dns.digitale-gesellschaft.ch
Dismailtls://fdns2.dismail.de

💡 Tipp: Wenn einmal wieder “das Internet nicht funktioniert” liegt es in den allermeisten Fällen an der WLAN Verbindung oder an der Leitung vom Router ins Internet. Aber manchmal kann es auch der DNS-Server sein, der nicht erreichbar ist oder keine Antwort sendet.

Sollte also das “Internet nicht funktionieren”, obwohl alles korrekt eingestellt ist, dann einfach einen Ping absetzen. Im Terminal eingeben ping 8.8.8.8. Es sollte dann hoffentlich so etwas angezeigt werden

PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=29.085 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=28.894 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=29.975 ms
...

Das ist das Zeichen, dass eine Verbindung ins Internet steht. Bei einem fehlerhaften DNS-Server sollte dann bei ping google.de diese Zeilen nicht erscheinen, da die Adresse nicht aufgelöst werden kann und daher auch der google Server nicht erreicht werden kann.


Heimrouter

Nicht jeder Heimrouter kann DoT. Die in Deutschland verbreiteten Fritzboxen bieten dies in den aktuellen Ausführungen allerdings an. Im Internet finden sich leicht verständliche Anleitungen wie z.B diese hier.
Achtung: Hier werden die DNS-Server von Cloudflare oder Google eingetragen. Aus Datenschutzgründen ist davon abzuraten, sonder privatsphärefreundliche Server zu nutzen

Android

Android Nutzer können DoT leicht einrichten. Die Option heißt “Privates DNS” und ist unter Einstellungen → Netzwerk und Internet → “Privates DNS” zu finden.

iPhone

iPhones unterstützen seit seit iOS 14 DoT, allerdings ist die Einrichtung etwas komplizierter als bei Android Telefonen und benötig eine Konfigurationsdatei. Eine gute Erklärung liefert der Kuketz-Blog

Werbeblocker und weiterer Schutz

Im Heimnetzwerk

Wenn die oben beschriebenen Einstellungen in Router und Handy umgesetzt wurden, hat man bereits einen großen Sicherheits- Datenschutz- und Netzneutralitätsgewinn.

Mit etwas mehr Aufwand kann man zusätzlich noch Werbung- und Tracker blockieren. Hierbei macht man macht sich sozusagen die oben beschriebenen Netzsperren auf privater Ebene zu nutze, indem bei einer Anfrage nach der Seite ich_bin_werbung.de der DNS-Server keine IP-Adresse ausgibt und so die Werbung nicht nachgeladen werden kann.

Dies lässt sich im gesamten Heimnetz am besten mit AdGuard oder pi-Hole realisieren. Ich empfehle aufgrund der einfacheren Einrichtung und weitaus übersichtlicheren User-Interface AdGuard Home. Eine gut verständliche Videoanleitungen gibt es hier auf YouTube

Wenn dann noch eine Stufe weiter gehen will und selbst die von mir oben genannten upstream DNS-Server nicht nutzen will, kann direkt unbound unbound als noch sichereren rekursiven DNS-Server nutzen, aber das lassen ich an dieser Stelle 😊.

Auf dem Handy

Für Android Telefone gibt es die sehr einfach zu konfigurierbaren Apps von NetGuard oder Tracker Control, die man sich leider nur per github oder dem F-Droid Store und nicht über den Play Store herunterladen kann. Bei github unter Releases die letzte Version der *.apk Datei herunterladen und auf dem Telefon installieren. Selbstverständlich verbietet der Werberiese Google, dass in seinem Play-Store Apps angeboten werden, die Werbung blockieren.

Auf dem iPhone ist dies etwas schwieriger und hier muss man die kostenpflichtige App AdGuard Pro nutzen.

Einen auf beiden Handybetriebssystemen einfacheren Weg ohne zusätzliche Programme zu installieren bietet die Möglichkeit direkt einen DNS Server einzutragen (siehe oben), der Werbung und Tracker blockiert. Auch hier bietet der Kuketz-Blog eine gute Anleitung.

Zu guter Letzt: Testen ob es funktioniert

Wenn nun alles eingerichtet ist muss man nun noch einmal prüfen ob auch tatsächlich der eingestellte DNS Server genutzt wird. Unter dnsleaktest.com den Standard Test durchführen und der aktuell eingestellt Server wird angezeigt.


  1. W3Techs usage statistcis. Abfrage am 18.2.2022 ↩︎