Welche Auswirkungen hat die jetzt von DURZ veröffentlichte Veröffentlichung des L-Root-Servers?

Welche Auswirkungen hat die jetzt von DURZ veröffentlichte Veröffentlichung des L-Root-Servers?

Ich bin gespannt, welche tatsächlichen Auswirkungen der L-Root-Server hatDURZ heute veröffentlichenwird sein. Auf der nanog-Mailingliste,jemand sagteEs ist wichtig, die systemischen Auswirkungen von Root-Nameservern zu bewerten, die signierte Zonen veröffentlichen, selbst wenn DNSSEC nicht verwendet wird. In der Zwischenzeit besagen die von RIPE selbst veröffentlichten Informationen zu ihren Änderungen am K-Root-Server, dass eskein Problem, wenn Ihre Resolver kein DNSSEC verwenden. Kann das bitte jemand aufklären? DNSSEC scheint ein chaotisches, verworrenes Netz zu sein.

Wenn ich DNSSEC auf meinen Resolvern nicht aktiviere, muss ich mir dann wegen der bevorstehenden Änderungen an den Root-Servern Sorgen machen?

Antwort1

DuMaietwas sehen, aber das hängt bis zu einem gewissen Grad davon ab, welche DNS-Software Sie ausführen.

Insbesondere setzt BIND das „DNSSEC OK“ DO-Bit (auch bekannt als ) bei Upstream-Abfragen, selbst wenn nicht ausdrücklich nach DNSSEC-Einträgen gefragt oder eine DNSSEC-Validierung durchgeführt wird.

Unter diesen Umständen können die Root-Server zusätzliche DNSSEC-Einträge zurücksenden, dieMaiverursachen Probleme im unwahrscheinlichen Fall, dass Ihre Netzwerkausrüstung defekt ist und/oder die Firewall falsch konfiguriert ist.

Diese Probleme hängen hauptsächlich mit der Paketgröße zusammen. Einige Kits mögen keine DNS-UDP-Pakete, die länger als 512 Byte sind, entweder aufgrund fehlerhafter Firmware oder fehlerhafter empfohlener Konfigurationen des Herstellers. Siehe meineRFC 5625für weitere Einzelheiten. Beachten Sie jedoch, dass die meisten DNSSEC-bezogenen Probleme, über die ich in diesem RFC berichte, sich auf Geräte der Verbraucherklasse beziehen und nur in ungewöhnlichen Konfigurationen auftreten.

Beachten Sie, dass, wenn Ihr Kit Probleme mit großen UDP-Paketen hat, die Fallback-Option TCP ist. Einige (fehlgeleitete) Sicherheitsleute konfigurieren ihre Firewalls jedoch so, dass ausgehende DNS über TCP deaktiviert werden, was die Fallback-Option unterbricht. SieheDasIETF-Entwurf für weitere Informationen zu DNS über TCP.

Um die Konfiguration Ihres Netzwerks auf mögliche DNS-Macken zu testen, empfehle ich Ihnen übrigensexzellent NetalyzrWebsite von ICSI an der UC Berkeley.

Um es klar zu sagen: Die meisten DNS-Experten sindnichtIch erwarte erhebliche Probleme durch die Einführung von DNSSEC. Mehrere TLDs (einschließlich .org und .se) wurden bereits signiert und das Internet ist deswegen nicht zusammengebrochen.

Die DURZ ist ein gezielter Versuch, die größeren Reaktionen, die DNSSEC zwangsläufig produziert, schrittweise einzuführen, so dass die wenigen Standorte mit Netzwerkproblemen diese beheben können, bevor im Sommer die gesamte Root-Zone auf DNSSEC umgestellt wird.

Antwort2

Eine Erklärung, was bei Pseudocode schiefgehen kann, für diejenigen, die imperative Programmiersprachen bevorzugen :-)

-- Pseudocode (Syntax mehr oder weniger Ada-ähnlich), um zu zeigen, was passiert mit
-- ein DNS-Resolver, wenn die Root signiert ist und die Antworten
-- größer.

-- Hintergrundinformation:
-- https://www.dns-oarc.net/oarc/services/replysizetest
- RFC 5625
-- SSAC-Bericht Nr. 35 http://www.icann.org/committees/security/sac035.pdf

-- Stephane Bortzmeyer

-- Verwendete Variablen:
-- EDNS0: Boolesch, gibt an, ob der Resolver EDNS0-Anfragen sendet
-- EDNS0_Size: positive Ganzzahl, die von EDNS0 angegebene Puffergröße
-- DO_DNSSEC: Boolesch, das DO-Flag, das die DNSSEC-Unterstützung durch den Resolver anzeigt
-- Min_Response_Size: Integer, das Minimum (nach dem Löschen
-- unnötige RR) Größe der DNS-Antwort, die von der autoritativen
-- Server
- Clean_path_for_fragments: Boolesch, zeigt an, dass UDP-Fragmente
- kann vom autoritativen Nameserver zum Resolver gelangen
-- Clean_Path_For_EDNS0: Boolesch, gibt an, dass EDNS0 antwortet
-- (die größer als 512 Bytes sein können) können von der
-- autoritativer Nameserver für den Resolver
-- Can_TCP: Boolesch, gibt an, dass der Resolver über TCP fragen kann
-- (was einen sauberen TCP-Patch und einen autoritativen Nameserver voraussetzt)
-- die TCP akzeptieren)

-- Der Code kann für eine Anfrage mehrmals ausgeführt werden, z.
-- Beispiel, weil ein Resolver es zuerst mit UDP versucht und es dann erneut versucht
-- mit TCP.

wenn UDP dann -- Gebräuchlichstes Transportprotokoll für DNS
   wenn EDNS0 dann
      wenn EDNS0_Size > MTU dann
         -- BIND-Standard, EDNS0_size = 4096 Bytes
         wenn DO_DNSSEC dann
            -- BIND-Standard, auch wenn nicht für die Validierung konfiguriert
            if Min_Response_Size > MTU then -- Nicht der Fall heute mit dem root
               wenn Clean_Path_for_fragments dann
                  OK;
               anders
                  -- Nach einer Weile wechselt BIND zu no-EDNS0, starten Sie von vorne
                  Retry("Nicht empfangene Antworten können an EDNS0 liegen");
               Ende wenn;
            elsif Min_Response_Size > 512 dann
               -- Es kommt zu keiner Fragmentierung
               wenn Clean_Path_For_EDNS0 dann
                  OK; -- Das ist der normale und typische Fall für ein BIND
                      -- Resolver heute, mit der signierten Wurzel
               anders
                  Retry("Nicht empfangene Antworten können an EDNS0 liegen");
               Ende wenn;
            sonst -- Wird heute nicht vorkommen, Antworten von der Wurzel sind bereits > 512
               OK;
            Ende wenn;
         anders
            -- Ohne DNSSEC werden die Antworten kürzer sein, aber einige
            -- Antworten von der Wurzel sind bereits > 512
            wenn Min_Response_Size > MTU dann
               -- Unwahrscheinlich, ohne DNSSEC
               wenn Clean_Path_for_fragments dann
                  OK;
               anders
                  Retry("Nicht empfangene Antworten können an EDNS0 liegen");
               Ende wenn;
            elsif Min_Response_Size > 512 dann
               wenn Clean_Path_For_EDNS0 dann
                  OK;
               anders
                  Retry("Nicht empfangene Antworten können an EDNS0 liegen");
               Ende wenn;
            else -- Der heute häufigste Fall, der typische unsignierte
                 -- Die Antwort ist 100-200 Bytes lang
               OK;
            Ende wenn;
         Ende wenn;
      elsif EDNS0_Size >= 512 dann -- Aber niedriger als die MTU
         wenn DO_DNSSEC dann
            wenn Min_Response_Size > EDNS0_Size dann
               -- Dies setzt voraus, dass DNS-Pakete mit gesetztem TC-Bit ankommen
               -- sicher, nicht immer wahr
               Wiederholen("Abschneiden");
            elsif Min_Response_Size >= 512 dann
               wenn Clean_Path_for_EDNS0 dann
                  OK;
               anders
                  Retry("Nicht empfangene Antworten können an EDNS0 liegen");
               Ende wenn;
            sonst -- Kommt heute nicht mehr oft vor, einige Antworten von der Wurzel sind bereits > 512
               OK; -- Nicht immer, einige Middleboxes blockieren möglicherweise EDNS0
                   -- Antworten, auch mit Größe 512 dann
               wenn Clean_Path_For_EDNS0 dann
                  OK;
               anders
                  Retry("Nicht empfangene Antworten können an EDNS0 liegen");
               Ende wenn;
            anders
               OK;
            Ende wenn;
         Ende wenn;
      sonst -- EDNS0 mit Größe 512 dann
         Wiederholen("Abschneiden");
      anders
         OK;
      Ende wenn;
   Ende wenn;
sonst - TCP
   wenn Can_TCP dann
      OK; -- Aber höhere Latenz und höhere Belastung der autoritativen Nameserver
   anders
      Error("Fallback auf TCP fehlgeschlagen"); -- Vollständiger und totaler Fehler
   Ende wenn;
Ende wenn;

Antwort3

Eine weitere Lösung zum Testen Ihres Setups, die ich viel einfacher finde als Netalyzr, istOARC-Antwortgrößentest.

verwandte Informationen