DNS Flag day - Aufräumen im DNS - am 01 02 2019 sollen Ausnahmen bei der fehlerhaften Antwort auf EDNS abgeschaltet werden

28.01.2019 22:46:35, Jürgen Auer, keine Kommentare

Das DNS, das Domain Name System, ist ein Rückgrat des Internets. Es sorgt dafür, daß ein Klartextname wie blog.server-daten.de aufgelöst wird in die unverständliche und schlecht zu merkende IPv4-Adresse 85.215.2.228 bzw. in die noch unverständlichere IPv6-Adresse 2a01:238:301b::1228.

Für eine breite Nutzung ist diese Namesauflösung also zwingend notwendig. Rechner können sich über IP-Adressen gegenseitig finden. Aber Nutzer benötigen Namen, die aus der jeweiligen Sprache stammen und sich hinreichend leicht merken lassen. Hinzu kommt, daß heutzutage viele Websites auf einer IP-Adresse laufen, so daß der Aufruf der IP-Adresse alleine unverständlich wäre. Der Server muß wissen, welche der gehosteten Websites er anzeigen soll.

Dementsprechend alt ist das System. Der erste RFC mit der Nummer 882 war von 1983, der wurde ersetzt durch den im wesentlichen noch heute gültigen RFC 1035 vom November 1987.

Nach so langer Zeit stellte sich irgendwann einmal die Frage, wie man dieses System so konsistent erweitern kann, daß neue Techniken genutzt werden, ohne daß die bisherigen Lösungen nicht mehr funktionieren.

Die Lösung 1999 war: EDNS, Extension Mechanisms for DNS (EDNS0). Ein kleines Regelwerk, das beschreibt, wie man bestehenden Anfragen und Antworten neue Informationen beifügen kann.

Und eigentlich ist die Regel einfach: Wenn ein Nameserver EDNS0 nicht versteht, dann möge er es ignorieren. Wenn er das Grundkonzept versteht, aber Erweiterungen nicht kennt, dann möge er auf eine bestimmte Art und Weise antworten. Und er möge bsp. bitte nicht "nicht antworten". Denn dann weiß der Anfrager erst recht nicht, was los ist.

Nur: Obwohl es EDNS bereits seit 1999 gibt, gibt es bis heute Nameserver, die diese Regeln nicht konsistent implementiert haben.

Die Konsequenz: In diversen Versionen von DNS-Software wurden immer wieder Ausnahmen eingestrickt, um mit diesen sehr alten Nameservern umgehen zu können.

Damit soll nun Schluß sein. Genauer gesagt: Ab dem 01.02.2019 soll damit Schluß sein. Deshalb gibt es an diesem Tag den DNS Flag Day.
.

DNS Flag day

https://dnsflagday.net/

.
Mit einer deutlichen Ansage:

> What is happening?
>
> The current DNS is unnecessarily slow and inefficient because of efforts to accommodate a few DNS systems that are not in compliance with DNS standards established two decades ago.

Das vorhandene DNS ist überflüssigerweise langsam und ineffizient, weil es sich an einige DNS-Systeme anpaßt, die bis heute nicht einige Standards einhalten, die bereits 20 Jahre alt sind.

Das soll sich ändern. Deshalb:

> To ensure further sustainability of the system it is time to end these accommodations and remediate the non-compliant systems. This change will make most DNS operations slightly more efficient, and also allow operators to deploy new functionality, including new mechanisms to protect against DDoS attacks.

Mit diesen eigentlich längst überflüssigen Ausnahmen soll ab dem 01.02.2019 Schluß sein. Diverse Anbieter von DNS-Software werden koordiniert die Unterstützung für Ausnahmen an diesem Datum entfernen. Die Wirkung:

> This change will affect only sites operating non-compliant software.

Das wird nur jene betreffen, die immer noch veraltete oder nicht angepaßte DNS-Software einsetzen.

Theoretisch kann es dann passieren, daß Domains unerreichbar sind.

Es gibt eine Testseite

https://ednscomp.isc.org/

mit der sich schon seit langem diese Sachen testen lassen. Ferner hatte ich am letzten Wochenende meine eigene Site

https://check-your-website.server-daten.de/

so angepaßt, daß die wichtigen sieben Tests (einen gab es schon davor, den EDNS0-Test, der Voraussetzung für alle anderen Tests ist, habe ich mir gespart) ebenfalls überprüft werden.

Die minimale Konfiguration:

> Minimal working configuration
>
> The minimal working setup which will allow your domain to survive 2019 DNS flag day must not have a timeout result in any of the plain DNS and EDNS version 0 tests implemented in the ednscomp tool. Failures of the EDNS(1) tests will not cause any immediate problem.

Es sollte bei keinem der Tests ein Timeout geben. Das ist ein Verfahren, wo Nameserver einfach nicht reagieren, so daß der Absender nicht weiß: Nochmals schicken oder was? Das bremst jeden Code aus.

Ein fehlschlagender EDNSV1-Test heißt, daß eine Testanfrage mit der (nicht definierten) EDNS-Version 1 geschickt wird. Da soll (i) kein Abfrageergebnis (stattdessen eine Antwort, bei der das Abfrageergebnis nicht gesetzt ist) zurückgeschickt werden und (2) BADVERS als Status zurückgegeben werden. Da senden manche Nameserver bsp. trotzdem einfach das Abfrageergebnis zurück oder bewerten die Anfrage als erfolgreich.

Das ist in etwa so, wie wenn jemand auf die englische Frage, ob er englisch versteht, zwar auf englisch antwortet. Aber die Antwort völlig unsinnig ist, so falsch, daß sie sich beim besten Willen nicht als Antwort interpretieren läßt.

Mal sehen, ob es ab dem 01.02 Mitteilungen über größere Probleme geben wird.

*
* (wird nicht angezeigt)
Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.