Kontrolle von DNS over https (DoH) am Proxy

DNS over https (DoH) bringt Vorteile. Gerade aber auch im Firmenumfeld birgt DoH gewisse Risiken, welche wir im Folgenden anschauen wollen.

DNS, das Domain Name System, ist nach wie vor ein sehr wichtiger Bestandteil des Internets: Ohne die Übersetzung von Namen in IP-Adressen läuft auch heute im Internet nicht viel. DNS hat sich bewährt, ist robust und dezentral aufgebaut. DNS hat aber auch gravierende Nachteile: Die DNS Anfragen und Antworten werden im Klartext übertragen. Neuere Spielarten von DNS lösen dieses Problem durch Verschlüsselung. Mein Kollege Point hat in einem anderen Blog Artikel bereits darüber geschrieben.

Heute wollen wir uns mit DNS over https (DoH) beschäftigen.

Die Verschlüsselung von DoH birgt im Firmenumfeld Gefahren, über die man sich als Admin oder Security Verantwortlicher bewusst sein sollte.

    • DNS Resolver Konfiguration pro Applikation
    • Der zentrale DNS Server wird umgangen
    • Tunnelung durch https / Verschlüsselung

DNS Resolver Konfiguration pro Applikation

Klassischerweise wird der zu verwendende DNS Server auf Betriebssystemebene konfiguriert, z.B. per DHCP. Wenn eine Anwendung einen Namen in eine IP-Adresse übersetzt haben will, so fragt sie das Betriebssystem, welches sich um die Auflösung kümmert. DoH wird aber (bisher) pro Applikation konfiguriert. So kann beispielsweise in Firefox eingestellt werden, welcher DoH Resolver verwendet werden soll.

Proxy Connection Settings

Firefox: Options -> General -> Network Settings

Zum einen muss der Client-Admin sich nun also darum kümmern, wie dieses Setting in allen verwendeten Anwendungen zentral gesteuert werden kann.


Der zentrale DNS Server wird umgangen

Andererseits kann ein Applikationsprogrammierer oder User nun plötzlich einen anderen DNS Server konfigurieren, als jener, welcher eigentlich durch das Betriebssystem vorgegeben wird. Dadurch ist es auf dem firmeneigenen DNS Server nicht mehr möglich, gewisse DNS Anfragen zu blockieren oder aufzuzeichnen. Eine nachträgliche Log-Auswertung zum Hunting nach neuen IOCs ist so nicht mehr möglich.

Während die meisten Firmen eigene DNS Server betreiben oder jene des Internet Providers verwenden, es weltweit also Unmengen von dezentralen Resolvern gibt, werden die grössten DoH Server von Google, Cloudflare oder Quad9 betrieben. Die Informationen, welche DNS Abfragen von der Firma aus gemacht wurden, können nun plötzlich von einem Cloud Anbieter ausgewertet werden, mit dem man keine expliziten Verträge bezüglich Datenschutz abgeschlossen hat.


Tunneling durch https / Verschlüsselung

Bei DoH wird der DNS Traffic verschlüsselt und durch https getunnelt. Er ist dann von normalem https Traffic nicht mehr unterscheidbar. Ohne Proxy, welcher DoH Traffic erkennen, steuern und loggen kann, ist ein SOC Team blind für DNS Traffic.


Kontrolle von DoH auf dem Proxy

Mit einem Web-Proxy, welcher auch mit DoH umgehen kann, lassen sich diese Probleme aber leicht lösen. Am Beispiel eines Symantec ProxySG wollen wir nun DoH steuern, loggen und kontrollieren.


Voraussetzungen

    • SGOS 7.2 oder neuer
    • TLS Inspection aktiv

Konvertierung von DoH in klassisches DNS und Protokollierung

Damit der Proxy DoH kontrollieren kann, muss natürlich TLS Inspection aktiv sein, damit der verschlüsselte https Traffic sichtbar wird. Ansonsten ist aber keinerlei Konfiguration nötig:

    1. Der verschlüsselte https Traffic wird durch TLS Inspection aufgebrochen.
    2. Innerhalb von https wird ein DoH Request sichtbar.
    3. Der darin enthaltene DNS Request wird durch den Proxy abgefangen.
    4. Der Proxy fragt den konfigurierten DNS Server per „normalem“ DNS.
    5. Der Proxy beantwortet die DoH Anfrage und protokolliert den DNS Request in DNS Log.

Somit werden also DoH Requests abgefangen, auf normales DNS umgebogen und so über die bisherige DNS Infrastruktur geleitet. Zusätzlich logt der Proxy die DNS Requests.


Klassischer DNS Proxy

Der ProxySG kann schon seit Jahren die Rolle eines DNS Servers übernehmen. Dazu ist folgende Konfiguration nötig:

    1. Proxy Service für DNS aktivieren:Proxy Service Aktivieren
    2. Firewall entsprechend öffnen: Source: Clients, Destination: Proxy, Port: udp und tcp 53

Schon beantwortet der Proxy klassische DNS Anfragen und protokolliert diese im DNS Log.


DNS Kontrolle

Der ProxySG kann aber auch DNS Anfragen und Antworten filtern und modifizieren. Doch anstatt manuell DNS Anfragen zu blockieren, empfiehlt es sich hier, die Informationen der URL Filter und Risk Levels hinzuzuziehen. So kann der Proxy automatisch alle DNS Requests (egal ob „klassisch“ oder DoH) zu bekannten Malware Sites blockieren, oder jene, deren Risiko ein gewisses Mass überschreitet. Eine Policy könnte z.B. so aussehen:

Mit dem ProxySG kann man also nicht bloss http Requests filtern, sondern auch allgemein DNS Anfragen. So kann man sich sehr einfach seinen eigenen DNS Filter-Dienst aufbauen, ähnlich wie dies z.B. Cisco Umbrella als Cloud Dienst anbietet.


Zusammenfassung

DoH hat den Vorteil, dass der DNS Traffic verschlüsselt wird. Dafür ist dieser innerhalb der Firma auch nicht mehr auswertbar, ohne dass man dazu eine Proxy Lösung mit TLS Inspection verwendet.

Mit ProxySG ab SGOS Version 7.2 kann man

    • einen eigenen DoH Server betreiben
    • DoH Requests auf seine eigene normale DNS Infrastruktur umbiegen
    • DNS Loggen
    • DNS Filtern basierend auf Kategorien und Risiko

Der Beitrag Kontrolle von DNS over https (DoH) am Proxy erschien zuerst auf Tec-Bite.