Huch, mein DNS ist verschwunden …

Carsten Strotmann, dnsworkshop.de

Created: 2018-08-26 Sun 16:00

Agenda

  • Grundlagen der (Un-)Sicherheit von DNS im Überblick
  • Privacy trotz DNS - wie geht das?
  • Zusammenfassung und Ausblick

Wer sprich hier?

Carsten Strotmann

dnsworkshop.de

blog.defaultroutes.de

DNS(SEC)/DANE/DHCP/IPv6 Trainer und Helfer

RIPE/IETF

Grundlagen der (Un-)Sicherheit von DNS im Überblick

DNS Sicherheit - Grundlagen

dns-dangers01.png

DNS Sicherheit - Grundlagen

dns-dangers02.png

DNS Sicherheit - Grundlagen

dns-dangers03.png

DNS Sicherheit - Grundlagen

dns-dangers04.png

DNS-Sicherheit - Angriffe

  • das ursprüngliche DNS Protokoll war nicht für sichere Kommunikation ausgelegt
  • es gibt eine Reihe Angriffe auf die DNS-Daten und -Infrastruktur

DNS Sicherheit - Angriffe

dns-dangers05.png

DNS Sicherheit - Angriffe

dns-dangers06.png

DNS Sicherheit - Angriffe

dns-dangers07.png

DNS Sicherheit - Angriffe

dns-dangers08.png

Privacy trotz DNS - wie geht das?

  • die IETF hat in den letzten Jahren das DNS-Protokoll um Sicherheitsfunktionen erweitert
    • DNS-over-HTTPS (Verstecken von DNS Anfragen im Web-Kommunikation)
    • DNS-over-TLS (Transportverschlüsselung zwischen Client und DNS-Server)
    • QNAME Minimization (Reduktion von Metadaten)
    • EDNS-Padding (verstecken von DNS-Daten in verschlüsselten Verbindungen)
    • NSEC[3] "agressive use" - DDoS Angriffe im DNS per DNSSEC abwehren

DOH - DNS over HTTP(S)

DNS-over-HTTPS

dns-over-https.png

Vorteile

  • HTTPS wird wenig gefiltert (Firewall)
  • einfache Benutzbarkeit innerhalb von Web-Anwendungen und Web-Diensten
  • HTTPS-APIs in vielen Programmiersprachen verfügbar

Entwicklungen

  • IETF 100 - November 2017 - DNS over HTTP(S) (DoH) working group established: https://datatracker.ietf.org/wg/doh/about/
  • IETF 101 - März 2018 - Arbeit an DNS Queries over HTTPS abgeschlossen, Start des working group last call (WGLC) im April 2018
  • RFC kann jeden Tag erscheinen
  • Implementierungen u.a. von Google, Facebook
  • Clients im Browser, Debian, Ubuntu …

DNS-over-HTTPS und IDS/Netzwerk-Filter

  1. Operational Considerations

[…] Filtering or inspection systems that rely on unsecured transport of DNS will not function in a DNS over HTTPS environment.

https://www.ietf.org/id/draft-ietf-doh-dns-over-https

DoH Client Implementierungen (1/2)

Firefox-61-TRR-Lookups.png

DoH Client Implementierungen (2/2)

DoH Resolver/Server

  • jDNSProxy Simple fast and lightweight DNS proxy and cache, implementing DNS-over-TLS, DNS-over-HTTPS, and Serve-Stale
  • m13253/DNS-over-HTTPS High performance DNS over HTTPS client & server
  • rust-doh A DNS-over-HTTP server proxy
  • doh-proxy A set of python 3 scripts that supports proxying DNS over HTTPS
  • dnss a daemon for using DNS over HTTPS (Client + Server)

DoH Anbieter (Auswahl)

ähnliche Entwicklungen

DoT - DNS-over-TLS

DNS-over-TLS (1/3)

dns-over-tls01.png

DNS-over-TLS (2/3)

dns-over-tls02.png

DNS-over-TLS (3/3)

dns-over-tls03.png

Geschwindigkeit von DNS-over-TLS

  • DNS-over-TLS Geschwindigkeit/Latenz bei der Benutzung von TLS 1.3 ist sehr gut
  • bei bestehenden TLS-Verbindungen vergleichbare Geschwindigkeit zu DNS-over-UDP
    • Pipelining
    • TCP fast open
    • 0-RTT resume
  • derzeit sind die verfügbaren Implementationen noch nicht vollständig optimiert

DNS-over-TLS Betriebsmodi

  • DNS-over-TLS kann in zwei Modi betrieben werden
    • opportunistic - versuche TLS, benutze den Server auch wenn die TLS-Authentisierung fehlschlägt
    • strict - Verbindung wird nur benutzt, wenn es beim TLS-Verbindungsaufbau keine Fehler gab (Authentisierung etc.)

DNS-over-TLS Client Implementierungen

DNS-over-TLS Server Implementierungen

  • DoT Server Implementierungen
    • CoreDNS
    • TentaDNS
    • jeder DNS-Server via stunnel, ha-proxy, nginx, relayd (OpenBSD)

DNS-over-TLS Anbieter

DoQ - DNS over QUIC

was ist QUIC

  • moderner TCP-Ersatz von Google, wird derzeit in der IETF standardisiert
    • benutzt UDP, implementiert TCP Funktionen
    • ist Bestandteil von Anwendungen, nicht im Betriebssystem-Kern
    • beinhaltet TLS 1.3
    • 0-RTT
  • Geschwindigkeit vergleichbar mit klassischem DNS-over-UDP
  • QUIC Dokumente https://tools.ietf.org/wg/quic/

DNS over QUIC

dns-over-quic01.png

DNS over QUIC im Vergleich

QNAME-Minimization

  • klassische Implementierungen sind sehr gesprächig
    • es werden Daten gefragt/geliefert, welche (heute) vom DNS-Protokoll nicht unbedingt benötigt werden

QNAME-Minimization

  • RFC 7816 DNS Query Name Minimisation to Improve Privacy spezifiziert DNS-Namensauflösung mit minimalen Metadaten
    • nur DNS-Resolver müssen angepasst werden.
    • DNS-Clients, DNS-Authoritative-Server, Firewalls etc. brauchen keine Anpassung
    • QNAME-Minimization ist keine Änderung des DNS-Protokolls, nur eine Implementierungs-Empfehlung!

Traditionelle DNS Namensauflösung (1/6)

dns-wo-qname-min01.png

Traditionelle DNS Namensauflösung (2/6)

dns-wo-qname-min02.png

Traditionelle DNS Namensauflösung (3/6)

dns-wo-qname-min03.png

Traditionelle DNS Namensauflösung (4/6)

dns-wo-qname-min04.png

Traditionelle DNS Namensauflösung (5/6)

dns-wo-qname-min05.png

Traditionelle DNS Namensauflösung (6/6)

dns-wo-qname-min06.png

DNS Namensauflösung mit QNAME Minimization

  • bei einem DNS-Resolver mit QNAME Minimization kennt der DNS-Server die Struktur des DNS im Internet (Root -> TLD -> SLD …)
  • der DNS-Resolver fragt für jede Ebene nach dem notwendigen Domain-Namen (Delegation/Ziel-Name)
  • in den meisten Fällen ist DNS-Auflösung mit QNAME-Minimization gleich schnell oder sogar schneller verglichen mit traditioneller DNS Auflösung

DNS Namensauflösung mit QNAME Minimization

dns-with-qname-min06.png

QNAME-Minimization Implementierungen

  • Unbound
  • Knot-Resolver
  • BIND 9.13 (in Entwicklung)

QNAME Minimization Test

Einfacher Test per dig, ob der benutzte DNS-Resolver QNAME-Minimization anbietet

shell$ dig txt qnamemintest.internet.nl +short
a.b.qnamemin-test.internet.nl.
"HOORAY - QNAME minimisation is enabled on your resolver :)!"

Zusammenfassung und Ausblick (1/3)

Zusammenfassung und Ausblick (2/3)

  • neue DNS-Protokollerweiterungen …
    • … schützen die Privatsphähre von DNS-Nutzern
    • … erhöhen die Sicherheit der DNS-Kommunikation
    • … verringern die Nutzbarkeit von DNS-IDS/Passive-DNS
  • Sicherheitstechniken, basierend auf der Auswerung von DNS-Daten, sind in Zukunft weniger effektiv

Zusammenfassung und Ausblick (3/3)

  • was kann heute getan werden?
    • DNSSEC Validierung auf DNS-Resolvern einschalten
    • Absicherung der eigenen Zonen per DNSSEC-Signaturen (DNSSEC-Signing)
    • bei Forwarding zum ISP-Resolver: DNS-over-TLS einsetzen (Provider motivieren, DoT anzubieten)
    • Authoritative-DNS-Server und DNS-Resolver Funktionen im Unternehmensnetzwerk trennen
    • QNAME-Minimization einschalten
    • eigene DNS-Resolver überwachen (Monitoring)

Vielen Dank!

Fragen ?













Kontakt: cstrotm@dnsworkshop.de

Dank an sys4 AG, Men & Mice, Heise Verlag und Linuxhotel

Präsentation mit Hilfe von Emacs 26, Org-Mode und Reveal.js

KSK-Roll nicht vergessen

keyroll.jpg

https://twitter.com/hashtag/keyroll