Sie sind hier: HomeDatacenter

DNS-Cookies und DNS over TLS: Das Domain Name System wird sicherer

Das Domain Name System (DNS) gehört zu den Erfolgsgeschichten unter den Internetprotokollen und ist heute einer der wichtigsten Dienste in IP-basierten Netzwerken, ohne die das Internet in seiner heutigen Form nicht möglich wäre.

Internet Bildquelle: © Iuliia Kvasha - 123RF

Die Technologie speichert die Zuordnung von IP und Domainnamen und ermöglicht es den Nutzern, menschenlesbare, leicht zu merkende Internetadressen zu verwenden, während die Maschinen auf IP-Adressen angewiesen sind. Seit das DNS entwickelt und eingeführt wurde, gab es immer wieder kleinere Anpassungen und Ergänzungen, aber im Wesentlichen besteht es noch heute überwiegend in seiner ursprünglichen Form.

Die Funktionen im DNS wurden allerdings immer wieder für schädliche Cyberangriffe wie DDoS-Attacken oder zum Sammeln von Daten ausgenutzt, weshalb Erweiterungen des Systems notwendig wurden. Mit diesen Anpassungen sollen der Datenschutz und die Sicherheit der Nutzer steigen. Zwei bemerkenswerte Erweiterungen der letzten Jahre sind DNS-Cookies und DNS over TLS (DoT).

DNS Cookies wurde entwickelt, um die Identität von Clients und Servern nachzuweisen sowie die Authentizität und Integrität der übertragenen Daten sicherzustellen. An dieser Aufgabe ist zuvor die DNSSEC-Technologie gescheitert, die sich nie durchsetzen konnte. Die Gründe dafür waren Sicherheitslücken im Konzept und die umständliche Implementierung. Die zweite Ergänzung, DoT, soll das Datenschutzproblem lösen, das darin besteht, dass die Anbieter eines DNS-Servers Daten über die Nutzer sammeln und Hacker die Anfragen ausspionieren können.

DNS-Cookies validieren Server und Clients

DNS-Cookies sollen viele der Herausforderungen wie DNS Spoofing oder DNS Amplification Attacks meistern, die durch die DNSSEC in manchen Fällen sogar verschlimmert wurde. Gleichzeitig sind sie deutlich einfacher zu implementieren als die Vorgängertechnologie. Ein Client, der DNS-Cookies unterstützt, hängt bei einer DNS-Anfrage ein Cookie an, der ein Hash aus Client-IP, Server-IP und einem Geheimnis ist, sodass der Server von jedem Client konsistente Cookies erhält. Dabei spielen die Details des Geheimnisses keine Rolle, solange sie mindestens 64 Bits lang sind und die Server-Client-Kombination übereinstimmt.

Wenn der Client die Cookies nutzt, sendet er sie bei all seinen Anfragen an einen Server, der sie – wenn er sie nicht unterstützt – einfach ignoriert. Die zu erwartende Fehlerrate bei nicht konformen DNS-Servern war bereits vor zwei Jahren sehr gering und hat seitdem weiter abgenommen. Sofern der Server die Technologie unterstützt und der Client in der Vergangenheit bereits mit dem Server kommuniziert hat, enthält der Client einen Server-Cookie. Wenn der Server eine Anfrage mit einem Client-Cookie erhält, dann tritt einer von drei Fällen ein:

  1. Wenn der Server die Cookies nicht unterstützt, reagiert er wie gewohnt und ignoriert das Cookie.
  2. Wenn der Server sie hingegen unterstützt und der Client seine Anfrage nur mit einem Client-Cookie versehen hat, wird der Server ausschließlich mit einem Server-Cookie antworten. Nun kann der Client die Anfrage mit dem Server-Cookie erneut senden. Je nach Konfiguration könnte der Server allerdings auch eine vollständige Antwort zurückgeben und unterschiedliche Beschränkungen für Server-Cookie-lose Anfragen anwenden.
  3. Zuletzt wird der Server eine Antwort senden, wenn der Client ein Server-Cookie enthält und das Cookie echt ist.

Wenn das Cookie einen Fehler enthält, dann wird eine Fehlermeldung zurückgegeben und Anfragen, die ein ungültiges Server-Cookie enthalten, werden wie Anfragen behandelt, die überhaupt kein Server-Cookie enthalten. Durch diese Funktionsweise können beispielsweise Clients wiederhergestellt werden, wenn sich ihre IP-Adressen geändert haben oder wenn der Server neu gestartet und ein neues Geheimnis ausgewählt wurde.