Veröffentlichung von PowerDNS Recursor 4.2 und Initiative zum DNS Flag Day 2020

Nach anderthalb Jahren Entwicklungszeit eingereicht Freigabe des Caching-DNS-Servers PowerDNS-Ressource 4.2, verantwortlich für die rekursive Namenskonvertierung. PowerDNS Recursor basiert auf derselben Codebasis wie PowerDNS Authoritative Server, aber rekursive und autorisierende DNS-Server von PowerDNS werden in unterschiedlichen Entwicklungszyklen entwickelt und als separate Produkte veröffentlicht. Projektnummer vertrieben von lizenziert unter GPLv2.

Die neue Version beseitigt alle Probleme im Zusammenhang mit der Verarbeitung von DNS-Paketen mit EDNS-Flags. Ältere Versionen von PowerDNS Recursor vor 2016 hatten die Praxis, Pakete mit nicht unterstützten EDNS-Flags zu ignorieren, ohne eine Antwort im alten Format zu senden, und die EDNS-Flags entsprechend der Spezifikation zu verwerfen. Zuvor wurde dieses nicht standardmäßige Verhalten in BIND in Form einer Problemumgehung unterstützt, jedoch im Rahmen von ausgetragen im Februar Initiativen Tag der DNS-Flagge, beschlossen die Entwickler von DNS-Servern, diesen Hack aufzugeben.

Bei PowerDNS wurden die Hauptprobleme bei der Verarbeitung von Paketen mit EDNS bereits 2017 in Release 4.1 behoben, und im 2016 veröffentlichten 4.0-Zweig traten einzelne Inkompatibilitäten auf, die unter bestimmten Umständen auftreten und den Normalbetrieb im Allgemeinen nicht beeinträchtigen Betrieb. In PowerDNS Recursor 4.2, wie in BINDEN 9.14, Problemumgehungen zur Unterstützung autoritativer Server entfernt, die fälschlicherweise auf Anfragen mit EDNS-Flags antworten. Wenn nach dem Senden einer Anfrage mit EDNS-Flags nach einer bestimmten Zeit keine Antwort erfolgte, ging der DNS-Server bisher davon aus, dass erweiterte Flags nicht unterstützt wurden, und schickte eine zweite Anfrage ohne EDNS-Flags. Dieses Verhalten wurde jetzt deaktiviert, da dieser Code zu einer erhöhten Latenz aufgrund von Paketneuübertragungen, erhöhter Netzwerklast und Mehrdeutigkeit führte, wenn aufgrund von Netzwerkausfällen nicht reagiert wurde, und die Implementierung von EDNS-basierten Funktionen wie DNS-Cookies zum Schutz vor DDoS-Angriffen verhinderte.

Es wurde beschlossen, die Veranstaltung im nächsten Jahr durchzuführen DNS-Flaggentag 2020entworfen, um die Aufmerksamkeit auf sich zu lenken die Entscheidung проблем mit IP-Fragmentierung bei der Verarbeitung großer DNS-Nachrichten. Im Rahmen der Initiative ist geplant die empfohlenen Puffergrößen für EDNS auf 1200 Bytes festlegen und übersetzen Die Verarbeitung von Anfragen über TCP ist eine unverzichtbare Funktion auf Servern. Jetzt ist Unterstützung für die Verarbeitung von Anfragen über UDP erforderlich, und TCP ist wünschenswert, aber für den Betrieb nicht erforderlich (der Standard erfordert die Möglichkeit, TCP zu deaktivieren). Es wird vorgeschlagen, die Option zum Deaktivieren von TCP aus dem Standard zu entfernen und den Übergang vom Senden von Anforderungen über UDP zur Verwendung von TCP in Fällen zu standardisieren, in denen die festgelegte EDNS-Puffergröße nicht ausreicht.

Die im Rahmen der Initiative vorgeschlagenen Änderungen beseitigen Verwirrung bei der Wahl der EDNS-Puffergröße und lösen das Problem der Fragmentierung großer UDP-Nachrichten, deren Verarbeitung häufig zu Paketverlusten und Zeitüberschreitungen auf der Clientseite führt. Auf der Clientseite bleibt die EDNS-Puffergröße konstant und große Antworten werden sofort über TCP an den Client gesendet. Wenn Sie vermeiden, große Nachrichten über UDP zu senden, können Sie auch blockieren Angriffe zur Vergiftung des DNS-Cache, basierend auf der Manipulation fragmentierter UDP-Pakete (bei der Aufteilung in Fragmente enthält das zweite Fragment keinen Header mit einer Kennung, sodass es gefälscht werden kann, wofür nur die Übereinstimmung der Prüfsumme ausreicht) .

PowerDNS Recursor 4.2 berücksichtigt Probleme mit großen UDP-Paketen und stellt auf die Verwendung der EDNS-Puffergröße (edns-outgoing-bufsize) von 1232 Byte statt der bisher verwendeten Grenze von 1680 Byte um, was die Wahrscheinlichkeit des Verlusts von UDP-Paketen deutlich reduzieren soll . Der Wert 1232 wurde gewählt, da dies das Maximum ist, bei dem die Größe der DNS-Antwort unter Berücksichtigung von IPv6 in den minimalen MTU-Wert (1280) passt. Der Wert des Truncation-Threshold-Parameters, der für das Kürzen der Antworten an den Client verantwortlich ist, wurde ebenfalls auf 1232 reduziert.

Weitere Änderungen in PowerDNS Recursor 4.2:

  • Mechanismusunterstützung hinzugefügt XPF (X-Proxied-For), das DNS-Äquivalent des HTTP-Headers . Um XPF zu aktivieren, gibt es Optionen „xpf-allow-from"Und"xpf-rr-code„;
  • Verbesserte Unterstützung für die EDNS-Erweiterung Client-Subnetz (ECS), das es Ihnen ermöglicht, in DNS-Abfragen an einen autorisierenden DNS-Server Informationen über das Subnetz zu übertragen, von dem aus die ursprüngliche entlang der Kette übertragene Anfrage vergiftet wurde (Daten über das Quellsubnetz des Clients sind für den effektiven Betrieb von Content-Delivery-Netzwerken erforderlich). . Die neue Version fügt Einstellungen für die selektive Kontrolle über die Verwendung des EDNS-Client-Subnetzes hinzu: „ecs-add-for» mit einer Liste der Netzwerkmasken, für die die IP in ECS bei ausgehenden Anfragen verwendet wird. Für Adressen, die nicht in die angegebenen Masken fallen, wird die in der Direktive angegebene allgemeine Adresse verwendet.ecs-scope-zero-address". Durch die Richtlinie „use-incoming-edns-subnet» Sie können Subnetze definieren, aus denen eingehende Anfragen mit gefüllten ECS-Werten nicht ersetzt werden.
  • Für Server, die eine große Anzahl von Anfragen pro Sekunde verarbeiten (mehr als 100), gilt die Richtlinie „Verteiler-Threads", der die Anzahl der Threads für den Empfang eingehender Anfragen und deren Verteilung auf Worker-Threads bestimmt (nur sinnvoll bei Verwendung von "pdns-distributes-queries=yes').
  • Einstellung hinzugefügt öffentliche Suffixlistendatei um Ihre eigene Datei zu definieren Liste der öffentlichen Suffixe Domänen, in denen Benutzer ihre Subdomänen registrieren können, anstelle der in PowerDNS Recursor integrierten Liste.

Das PowerDNS-Projekt kündigte außerdem die Umstellung auf einen sechsmonatigen Entwicklungszyklus an, wobei die nächste große Veröffentlichung von PowerDNS Recursor 4.3 im Januar 2020 erwartet wird. Updates für wichtige Releases werden im Laufe des Jahres entwickelt, danach werden Schwachstellenkorrekturen für weitere sechs Monate veröffentlicht. Daher wird die Unterstützung für den PowerDNS Recursor 4.2-Zweig bis Januar 2021 andauern. Ähnliche Änderungen im Entwicklungszyklus wurden für PowerDNS Authoritative Server vorgenommen, dessen Veröffentlichung 4.2 in naher Zukunft erwartet wird.

Hauptmerkmale von PowerDNS Recursor:

  • Tools für die Remote-Statistikerfassung;
  • Sofortiger Neustart;
  • Eingebaute Engine zum Verbinden von Handlern in der Lua-Sprache;
  • Vollständige DNSSEC-Unterstützung und DNS64;
  • Unterstützung für RPZ (Response Policy Zones) und die Möglichkeit, Blacklists zu definieren;
  • Anti-Spoofing-Mechanismen;
  • Möglichkeit, Auflösungsergebnisse als BIND-Zonendateien aufzuzeichnen.
  • Um eine hohe Leistung zu gewährleisten, werden in FreeBSD, Linux und Solaris moderne Verbindungsmultiplexmechanismen (kqueue, epoll, /dev/poll) sowie ein leistungsstarker DNS-Paketparser verwendet, der Zehntausende paralleler Anfragen verarbeiten kann.

Source: opennet.ru

Kommentar hinzufügen