Stand Ende 2018 & updated 2023
DNS - Übertragung
sicherer machen
DNS Datenschutzalptraum entschärfen - wie es einfach
geht
Problem
- Die DNS - Abfrage bei allen online Aktivitäten stellt einen
wunden Punkt dar.
Jeder DNS-Anbieter bekommt von seinem Kunden (also: Du!) eine
vollständig detaillierte, chronologische Aufstellung aller online
- Aktivitäten frei Haus.
- MX-Einträge (E-Mail-Domäne)
- SRV-Einträge (Dienste)
- OPENPGPKEY (E-Mail-Adressen)
...dies wird nur noch mehr werden....
Sara Dickinson, IETF 99 Prague, July
2017
Das ist der feuchte Traum jedes Datenkriminellen (a.k.a. Amazon,
NSA: ‘MORECOWBELL’, Google, BND, Facebook, GHCQ, GRU, FVEY, ... ).
Täglich frei Haus.
IETF: "DNS
Privacy is a real problem and more relevant than ever".
Siehe auch: DNS
Privacy project home page, the site is the home of a
collaborative open project to promote, implement and deploy DNS
Privacy.
Der Bundestrojaner
von „FINFISHER“ in Deutschland und Oesterreich
wird meistens installiert vermittels Webseitenzugriffe umleiten. Die
Umleitungen benutzen das Provider- DNS und auch verschiedene
andere Umleitungsmöglichkeiten im Netzwerk des Internetanbieters
(Basis: Layer 2; alle Provider: DTAG, VFD2, Unitymedia, o2
Telefonica, A1, T-Mobile, Drei, UPC, alle). Damit ist die
Wahrscheinlichkeit, dass dies bei einem Nutzer angewendet werden
kann und erfolgreich ist, mehr als 95%. Darum ist diese
Installationsmethode auch die am meisten verbreitete. (Quelle)
Thi
s site is the home of a collaborative open project to promote,
implement and deploy DNS Privacy.
Anmerkungen
- Deine anfragende Adresse (MAC, IP) ist ziemlich
konstant. Sie führt leicht auf Deine Person zurück.
- Deine angefragten Adressen (MAC & IP) kann jeder Server
loggen (und zusammenschreiben).
- Alle Typen, d.h. Browser und Email nebeneinander, ebenso alle
anderen Aktivitäten mit Zugriff auf Server-Namen (z.B. wget)
lieferst Du.
Das totale Kriegen der Metadaten!
Abhilfe
- TOR ist eine Alternative, die manchmal passt.
- VPN ist keine Lösung, nur eine räumliche Verlagerung,
womöglich in unsichere Rechtsräume. Die NSA hält sich vor Lachen
den Bauch.
- IP-Adressen (v4) direkt eingeben ist kein Weg, da
permanentem Wechsel unterworfen (und extrem aufwändig).
- DNS sicherer machen - davon soll hier etwas gezeigt
werden.
DNS muss kein Alptraum sein.
Idee
Meine Inhalte schuetzen:
- Lesbarkeit der DNS - Fragen und Antworten für Dritte
begrenzen.
Den Transportweg schuetzen:
- Übertragende authentifizieren.
Aktion
Anm: Basierend auf einem Ubuntu 19.10 System,
aktualisiert 2019, 2020, 2021, 2022.
Index
Lösungsansatz Teil
1
Wenn DNS-Server hoch sensible Daten protokollieren, kann man
- die Anfragen auf viele DNS-Server fein verteilen oder
- einen Server benutzen, dem man deutlich weniger misstraut.
DNS-Anfragen verteilen ist möglich, aber ziemlich aufwändig. Die
anfragende ID (IP, MAC) permanent wechseln, ist für die MAC einfach
und ratsam.
Simpel ist es, einen ziemlich vertrauensvollen DNS-Server zu
benutzen.
Auch für IPv6.
Weitere Suchwörter findest Du bei DNS Privacy org.
Aktion
- Eintragen der Digitalcourage - DNS-Server Adresse in den
"Network Manager" von Ubuntu (NICHT mehr in die resolv.conf).
- In jeden Heim-Router, im eigenen WLAN und Geräten wie
Internet-Radio usw., also überall vertrauenswürdige DNS Server
einsetzen.
- Automatischen
Wechsel der MAC Adresse einstellen.
Nun haben wir vertrauenswürdige DNS eingerichtet und die überwachen
uns nicht.
Gut so!?
Nee, gar nicht.
Der bekannte Man-in-the-middle-Anfgriff
beruht z.B. auf DNS Spoofing, d.h. eine andere DNS-Adresse wird
untergeschoben und ein "angepasster" DNS leitet den traffic durch
Schnüffelboxen zum Mitlesen "interessanter" Daten. Der
Man-in-the-middle-Anfgriff wurde pseudolegal in ein Geschäftsmodell
umgebaut:
Der Provider macht selbst eine DNS-Umleitung, das ahnt der Kunde
nicht.
Transparent
DNS proxies heißt die Schweinerei und baut ein schwer
erkennbares Problem auf.
Wie dagegen absichern?
Lösungsansatz Teil
2
DNS - Abfragen beim unzensierten, unprotokollierten Server
geringsten Misstrauens sollte man absichern!
Zwei eng verwandte Stufen stehen zur Verfügung:
- DNS-over-TLS (ja, es gibt auch andere Ansätze)
- DNS SEC
DNS-over-TLS
DNS-over-TLS
verschlüsselt die Abfrage ("DoT"; siehe RFC7858) .
Es ist also eine verschlüsselte Verbindung.
Vorteil: Dritte können nicht einfach mitlesen und darin
herumpfuschen und Phishing unterschieben.
DNS-over-TLS
ist 100% performant und 100% alltagstauglich!
Eine wünschenswerte Basis wie https gerade wurde.
Dazu wird der DNS-Verkehr mit DNS-over-TLS abgesichert. Das ist
nicht Standard bei DNS-Servern.
Der Digitalcourage
Server kann DNS-over-TLS.
Das Verfahren kann leicht und problemlos aktiviert werden!
In Lösungskonfiguration wird es gezeigt.
DNSSEC
prüft das DNS Zertifikat, es ist eine Prüfung, ob die erhaltenen DNS-Zonendaten auch tatsächlich identisch sind mit
denen, die der Ersteller der Zone autorisiert hat und sichert die
Übertragung von Resource Records durch digitale Signaturen ab. Der DNS
Server muss DNSSEC
unterstützen (prüfen!). Der Digitalcourage
Server kann DNSSEC.
Leider sind erstaunlich viele Server im Netz unzureichend
konfiguriert. Dafür gibt es einen Zwischenweg: Wie in DNS-over-TLS
ist bei "geht nicht" ein automatisches "Abschalten" möglich.
DNSSEC funktioniert im praktischen Leben meistens gut und
ausreichend performant. Weil viele Server unzureichend konfiguriert
sind, ist Sicherung mit DNSSEC momentan (2022) IMHO immerhin
begrenzt massentauglich.
Man kann es einfach mal probieren und ggf. abschalten.
Anleitungen
Es gibt für Ubuntu ab den 16er Versionen nur eine mir bekannte
Anleitung von TechRepublic
(ueber DNS over TLS) mittels Stubby im Internet - und die ist m.E.
viel zu kompliziert. Denn Ubuntu hat mehrere Paradigmenwechsel in
den Versionen 17, 18 und 19 untergebracht, die praktisch kaum
dokumentiert sind. Beispielsweise benutzt Ubuntu 18+
NetworkManager gesteuert durch Netplan, insbes. bei
Neuinstallationen. Faktisch kaum dokumentiert. Systemd-resolvd
ist exklusiv im Einsatz; man darf nicht mehr die
127.0.0.53
töten.
Siehe auch die grossartige Dokumentation bei Arch
über DNS over TLS unter systemd-resolved.
Wie es funktioniert, habe ich zuerst bei Askubuntu
beschrieben, einschl. dreckiger Lösung mittels fixierter
/etc/resolv.conf
Hier folgt eine verbesserte Version:
Lösungskonfiguration
Vorarbeit:
DNS eintragen
Zensurfreien
DNS im Networkmanager (/usr/bin/nm-connection-editor)
eintragen, DNS auf keinen Fall direkt in /etc/resolv.conf
eintragen.
Adresse:
46.182.19.48 bzw.
2a02:2970:1002::18
hier für v4:
Link resolv.conf
Darauf achten, dass unbedingt die /etc/resolv.conf
einen Link beschreibt auf /run/resolvconf/resolv.conf
!
Zielzustand:
lrwxrwxrwx 1 root root 39 Apr
28 14:16 /etc/resolv.conf -> /run/resolvconf/resolv.conf
Im Zweifel umbenennen und neu anlegen mit
sudo ln -s /run/resolvconf/resolv.conf
/etc/resolv.conf
Das ist zwingend erforderlich und wird sogar abgefragt.
Siehe auch Rel.-Notes
Ubuntu 14.04.6 LTS unter Networking.
# \|/ to be reviewed #
Einschalten
DNS-over-TLS ("DoT"):
Editiere /etc/systemd/resolved.conf
:
Ändere den Eintrag von DNSOverTLS zu
DNSOverTLS=opportunistic
Gutes Beispiel (aus U 20.04.2):
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
#DNSStubListener=yes
#ReadEtcHosts=yes
DNSSEC="allow-downgrade"
DNSOverTLS=opportunistic
Pruefen DNS-over-TLS
Adressen mit DNS-over-TLS (DoT) kann man mit einem tool des
kommerziellen Anbieters Verisignlabs verifizieren lassen, ob
sie korrekt implementiert sind.
Optional:
DNSSEC einschalten
DNSSEC ist komplett vorkonfiguriert, man braucht es nur einschalten.
Editiere /etc/systemd/resolved.conf,
ändere den Eintrag von
DNSSEC=
auf
DNSSEC=yes
Einschalten mit automatischem Zurücknehmen bei Bedarf:
DNSSEC="allow-downgrade"
Die sehr gute man page zu resolved.conf sagt: Defaults to
"allow-downgrade"
Deaktivieren total mit
DNSSEC=no
Externer
link: Anleitung DNSSEC zu überprüfen.
ACHTUNG! Vorsicht! Ubuntu überschreibt bei einem (Versions-) Upgrade die /etc/systemd/resolved.conf
und macht damit die ganze Sicherhheit zu nichte!
HINWEIS: Nach jedem grossen Update nachkontrollieren!
DNS im Router
Vor allem der Router zum Internet, nicht nur der PC, sollte
abgesichert werden.
Der Anbieter AVM mit seinen FRITZ!Box Produkten unterstützt das gut:
Andere
DNS-Server in FRITZ!Box einrichten umfasst auch DNS-over-TLS (DoT).
Mit Version 7.21 ist die Umsetzung konsequent geworden (Anmerkung:
2022 ist 7.29 aktuell, 2023 Firmware 7.50
Internet/Zugangsdaten/DNS-Server).
Unzureichende Einträge kann man evtl. mit nslookup
analysieren, um beispielsweise die korrekten FQDN
(Fully-Qualified-Domain-Name, Auflösungsnamen) der DNS-Server zu
finden.
Einträge, die 01/2021 funktionieren (updated 06/2023):
Digitalcourage
46.182.19.48 und 2a02:2970:1002::18
mit FQDN: dns2.digitalcourage.de
und neu :
IPv4: 5.9.164.112
IPv6: 2a01:4f8:251:554::2
Port: 853
FQDN: dns3.digitalcourage.de
SPKI pinset: 2WFzfO2/56HpeR+v/l25NPf5dacfxLrudH5yZbWCfdo=
tls_auth_name dns3.digitalcourage.de
Hinweis von Digitalcourage:
Aus technischen Gründen verwendet dieser Server eine andere IP im
Backend (für den Resolver)
Anzeige bei üblichen DNS-Leaktests: 168.119.141.43
UncensoredDNS
91.239.100.100 und 2001:67c:28a4:: mit FQDN:
anycast.uncensoreddns.org
"Genutzte DNS-Server" -Beispiel einer FritzBox:
mit den drei FQDN dns2.digitalcourage.de,
anycast.uncensoreddns.org, anycast.censurfridns.dk
2a02:2970:1002::18 (DoT verschlüsselt) ## Host: dns2.digitalcourage.de
46.182.19.48 (DoT verschlüsselt) ## Host: dns2.digitalcourage.de
2001:67c:28a4:: (aktuell genutzt für Standardanfragen - DoT verschlüsselt) ## anycast.censurfridns.dk
91.239.100.100 (DoT verschlüsselt) ## anycast.censurfridns.dk
Anbieter, Empfehlungen
Ganz ohne Zensur oder lieber mit Porno-Filter gegen aggressiv
schaedliche und spionierende Seiten? Es gibt unterschiedliche
Versprechen zur Lieferung.
Hier kommt es auf die Muendigkeit des Nutzers an, was zu bevorzugen
ist.
Anbieter für datenschutzkonforme DNS, die auch in Frage kommen:
UncensoredDNS Denmark
Digitale
Gesellschaft Switzerland
dns.watch
OpenNIC
Eine hervorragende Uebersicht mit Empfehlungen
bietet der Kuketz-Blog.
Bilanz
Alles gut jetzt?
Nein.
"DNSOverTLS=opportunistic"
bietet keine allzeit
verlässliche Sicherheit in allen Situationen.
Aber:
- DNS-over-TLS ist so mit geringstem Aufwand machbar
und
- Viel ist verbessert.
Einschränkung:
Da resolvd nur den opportunistic - mode kennt, schaltet das System
ggf. das DNSOverTLS ungefragt ab, um weiter DNS-Auflösung liefern zu
können.
Im Heimnetz kein Problem,
Laptops mit WLAN haben es schwerer: Eine Fahrt im ICE-WLAN zeigt das
Sicherheitsproblem voll auf (zwangsweise unsicheres DNS / siehe Dnsleaktest.com).
Ratsam ist dann die Nutzung eines eigenen Internet-Modems oder eine
full-blow Lösung mit z.B. Stubby.
Die DNS - Angaben zur Konfiguration seines Servers in Stubby liefert
Digitalcourage
vollständig und zutreffend.
Die in WLANs zunehmend automatisierte Netzwerkkonfiguration fragt
DNS vom besuchten Provider ab, was natürlich zu unerwünschten
Schmiereffekten führt. Der Service-Anbieter möchte als Gegenleistung
Deine persönlichen Daten haben (das dominierende Internet -
Geschaeftsmodell).
Gegenmittel: "To configure the resolver, add the IP addresses of the
nameservers that are appropriate for your network to the netplan
configuration file."; quote:
https://help.ubuntu.com/lts/serverguide/network-configuration.html"
Wie das geht, steht in Netplan
configuration.
Man sollte sich allerdings den Gefallen tun, "renderer:
NetworkManager" zu setzen (und darunter strikt gar nichts!)!
It is the consumer who is consumed.
You are the product.
You are delivered to the advertiser who is the customer.
Richard Serra and Carlota Fay Schoolman 1973
Nachprüfung
DNS Server
Test
Server vom DNS Privacy project.
Test Server eines privaten
Anbieters ("bash.ws").
Welcher DNS von systemd-resolved benutzt wird:
resolvectl status
Ob resolvectl mit dem DNS eine bekannte Adresse auflöst:
resolvectl query archlinux.org
Nachprüfbar ist die Nutzung des zensurfreien Servers hier:
https://dnsleaktest.com/
Das heisst, protokolliere mich nicht, das heisst aber nicht, dass
auch DNS-over-TLS eingeschaltet ist.
Tatsächlich
benutzter DNS
durch den systemd-resolved:
resolvectl status
DNS-over-TLS
prüfen
Die Nutzung des DNSOverTLS lässt sich einfach mit Wireshark prüfen:
Es darf nichts Wesentliches von der Schnittstelle (WLAN, Ethernet)
mehr über Port 53 gehen, aller Internet-traffic muss über Port
853 gehen.
Vorschlag Vorgehen: Im InfoSec
Handbook
Anmerkung zu Geschichte und Name
DNS werden gerne Resolver genannt. Hier die Herkunft dieser
Bezeichnung, zitiert aus dem NAG
(Network Administrators Guide by Olaf Kirch and Terry Dawson):
"When an application needs to find the IP address of a given
host, it relies on the library functions gethostbyname(3) and
gethostbyaddr(3). Traditionally, these and a number of related
procedures were grouped in a separate library called the
resolverlibrary ; on Linux, these functions are part of the
standard libc. Colloquially, this collection of functions is
therefore referred to as “the resolver.”"
DNS Privacy Reference Material
siehe DNS
Privacy Reference Material
Relevant
Internet Drafts and RFCs
Selection
of Presentations
Technical
reports
Eine
Seite mit ganz aehnlichem Fokus und vielen Referenzen fuer
DNS-Server ist bei
Lizenz fuer dieses Dokument: CC BY 4.0