DNS (Domain Name Service) ist das Telefonbuch des Internet. Es übersetzt lesbare URLs wie www.privacy-handbuch.de in die IP-Adresse des Servers, der diese Webseite zur Verfügung stellt. Eine ausführliche Anleitung dazu findet man im Kapitel DNS und DNSSEC.
Firefox und Thunderbird können DNS-over-HTTPS nutzen, um die DNS Daten beim Sufen zu verschlüsseln und eine Zensur durch DNS-Server der Provider zu umgehen. Das Feature heißt TRR (Trusted Recursive Resolver). Die Konfiguration ist einfacher, als einen DNS Daemon mit DNS-over-TLS Support oder DNSCrypt zu installieren. Es schützt allerdings nur den DNS Datenverkehr beim Surfen mit Firefox und alle andere Anwendungen nicht.
Da DNS ein zentraler Dienst für alle Internet Anwendungen ist, ist eine zentrale Konfiguration vertrauenswürdiger DNS Server sinnvoller als die Konfiguration einzelner Webbrowser.
Browserfingerprinting mittels DNS Server
Eine Trackingdienst könnte ermittlen, welcher DNS-Server vom Browser verwendet wird, und diese Information als Parameter für das Fingerprinting des Browser verwenden:
- Der Webserver sendet im HTML Code ein kleines, überflüssiges Element, dass von einer zufällig generierten Subdomain des Trackingservice geladen werden soll.
- Der Browser versucht die IP-Adresse für diese Subdomain zu ermitteln. Der konfigurierte Upstream DNS-Server hat die Information nicht im Cache und muss deshalb den authorativen Server des Trackingdienstes anfragen.
- Der authorative DNS-Server des Trackingdienstes registriert die DNS Anfrage und die IP-Adresse des anfragenden DNS-Servers und sendet beides an den Trackingservice, wo die Information mit dem Aufruf der Webseite korrelliert werden kann.
Es gibt bisher noch keine empirischen Studien, die untersucht haben, ob dieses Verfahren "in the wild" genutzt wird. Aber es ist prinzipiell möglich. Deshalb sollte man kurz nachdenken, ob es Gründe gibt, einen selbst ausgewählten DNS-Server zu nutzen, ob der Vorteil an Sicherheit und Schutz gegen Zensur evtl. unerwünschte Nebeneffekte kompensiert.
(Trackigdienste, die via uBlock Origin o.ä. blockiert werden, können auch nicht den DNS Server auswerten.)
Konfiguration von DNS-over-HTTPS in den Netzwerk Einstellungen
In den Einstellungen für die Netzwerkverbindung kann man DNS-over-HTTPS aktivieren und die URL für den DNS-Server eintragen, wenn man die Option
"Custom" wählt:
Einige DoH-Server, die man als Alternative zu Cloudflare oder NetDNS verwende könnte:
Wenn man eine von unseren
user.js Konfiguration installiert hat, dann kann man einen privacy-freundlichen Provider direkt auswählen, der HTPPS-over-DNS anbietet:
Dabei wird der TRR-Mode 2 aktiviert. Es wird der TRR Server verwendet und nur wenn dieser nicht funktioniert, wird der DNS-Server vom System genutzt. Die IP-Adresse des DNS-over-HTTPS Servers (network.trr.bootstrapAddress) wird vom DNS-Server des Systems ermittelt.
Konfiguration von DNS-over-HTTPS für "Experten"
Mit folgende Werten könnte man DNS-over-HTTPS unter
"about:config" konfigurieren:
- Mit dem TRR-Mode kann man auswählen, wie DNS-over-HTTPS verwendet wird:
network.trr.mode = 0 (Abgeschaltet aufgrund der Default Einstellung.)
network.trr.mode = 1 (Frage System DNS + TRR und verwende erstes Ergebnis.)
network.trr.mode = 2 (Verwende TRR und System DNS nur als Fallback.)
network.trr.mode = 3 (Verwende nur TRR, wenn IP des DoH-Server gefunden wurde.)
network.trr.mode = 4 (nicht verwendet)
network.trr.mode = 5 (Abgeschaltet aufgrund der Auswahl des Nutzers.)
Firefox für Windows deaktiviert DNS-over-HTTPS unabhängig von den Einstellungen für network.trr.mode, wenn ein VPN genutzt wird, wenn ein Proxy in den Windows Systemeinstellungen konfiguriert wurde oder wenn NRPT konfiguriert wurde.
Wenn man mit Firefox für Windows trotz VPN, Proxy oder NRPT einen DNS-over-HTTPS Server verwenden möchte, muss man folgende Einstellungen aktivieren:
network.trr.enable_when_vpn_detected = true
network.trr.enable_when_proxy_detected = true
network.trr.enable_when_nrpt_detected = true
Wenn man TRR-Mode 1-3 verwenden möchte, dann darf man die Validierung von SSL-Zertifikaten via OCSP-Server nicht erzwingen. Ansonsten beißt sich die Katze in den Schwanz. Firefox will das SSL-Zertifikat des DNS-over-HTTPS Server prüfen und braucht dafür die IP-Adresse des OCSP Servers vom DNS-over-HTTPS Server...
Entweder: OCSP komplett abschalten:
security.OCSP.enabled = 0
Oder: Fehler bei OCSP-Anfragen tolerieren (Firefox default):
security.OCSP.require = false
Die Adresse (URL) des DoH-Server wird mit dem Parameter "network.trr.uri" angegeben:
- Die Digitale Gesellschaft (CH) stellt zwei DoH-Server zur Verfügung:
network.trr.uri = https://dns.digitale-gesellschaft.ch/dns-query
- Freifunk München stellt zwei DoH-Server zur Verfügung:
network.trr.uri = https://doh.ffmuc.net/dns-query
- dnsforge.de stellt einen DoH-Server mit Tracking- und Malware-Filter:
network.trr.uri = https://dnsforge.de/dns-query
- BlahDNS.com stellt drei DoH-Server mit Tracking- und Malware-Filter, hier aufgelistet werden der deutsche (DE) und finnische (FI) Server:
network.trr.uri = https://doh-de.blahdns.com/dns-query
network.trr.uri = https://doh-fi.blahdns.com/dns-query
- Konfiguration für Quad9 DNS-over-HTTPS Server:
network.trr.uri = https://dns.quad9.net/dns-query
- Konfiguration für Standard Cloudflare DNS-over-HTTPS Server:
network.trr.uri = https://cloudflare-dns.com/dns-query
- Für Googles DNS-over-HTTPS Server gilt die Datensch(m)utz Policy von Google:
network.trr.uri = https://dns.google.com/resolve
Die IP-Adresse des DoH-Servers wird beim Start zuerst mit dem System Resolver ermittelt. Danach wird der DoH-Server für die weiteren DNS Anfragen verwendet.
Wenn keine IP-Adresse für den konfigurierten DoH-Server gefunden wird, würde Firefox den System-DNS weiter verwenden, ohne das der Nutzer im TRR-Mode 2 etwas davon bemerkt (grafische Konfiguration). Zensierende DNS-Server könnten dieses Verhalten ausnutzen und die DNS Namen der populären DoH-Server blockieren (zensieren), um eine Umgehung der Zensur mittels DNS-over-HTTPS zu blockieren. Um dieses Angriff zu verhindern, könnte man die IP-Adressen der DoH-Server in die "hosts" Datei eintragen(für Linuxer: /etc/hosts):
5.1.66.255 doh.ffmuc.net
185.95.218.42 dns.digitale-gesellschaft.ch
176.9.1.117 dnsforge.de
159.69.198.101 doh-de.blahdns.com
9.9.9.9 dns.quad9.net
- Unter der Adresse "about:networking" kann man sich auf dem Reiter "DNS" anschauen, ob der DoH-Server funktioniert und für welche Anfragen er verwendet wurde (TRR=true).
- Road-Warrior, die häufig an Wi-Fi Hotspots unterwegs sind, können nach dem Login im Portal des Hotspot automatisch auf DNS-over-HTTPS umschalten:
network.trr.wait-for-portal = true
network.captive-portal-service.enabled = true
(Die Wi-Fi Hotspot Portalerkennung ist in unserer Firefox Config deaktiviert.)