Was passiert, wenn Ihre TTL in Ihrem DNS-Eintrag versaut wird?

13

Was passiert, wenn jemand Zugriff auf Ihre DNS-Steuerung erhält und eine TTL von 100 Jahren für Ihre Domain festlegt, während die IP-Adresse auf eine undurchsichtige Website verweist?

(und du entdeckst es natürlich zu spät)

Dirk Boer
quelle
10
Der Verantwortliche wird gefeuert.
Xavier Lucas
5
Nur eine kurze Anmerkung: Der maximale TTL-Wert ist 2 ^ 31-1, was nur etwas mehr als 68 Jahre ist :) Siehe RFC 2181 .
Sven

Antworten:

21

Ryan hat eine ausgezeichnete Antwort auf eine Interpretation Ihrer Frage geliefert. Angesichts unserer Zielgruppe und der Situation der Menschen, die am ehesten über diese Frage stolpern, werde ich eine andere beantworten.

Was macht ein Unternehmen, wenn eine schlechte TTL es in die Wildnis schafft?

Hier haben Sie einige Möglichkeiten. In erster Linie müssen Sie jedoch den Problemvektor identifizieren und beseitigen. Der Versuch, den Schaden einzudämmen, ist sinnlos, wenn Sie keine Kontrolle über das Problem haben, das sich wiederholt.

  1. Warten. Wenn es sich nicht um eine wichtige Aufzeichnung handelt, können Sie sie wahrscheinlich abwarten. Laut Ryan liegt der "maximale Schaden" nicht bei 68 Jahren, sondern in der Praxis höchstwahrscheinlich bei 7 Tagen. Dies ist die häufigste Standardeinstellung für die maximale Lebensdauer eines positiven Cache-Eintrags (BIND, JunOS usw.). Selbst in Fällen, in denen dies nicht korrekt ist, würde man hoffen, dass der Server routinemäßige Sicherheitsupdates erhält, die einen Neustart des Prozesses erzwingen. Als Betreiber mehrerer großer Cluster halte ich es nicht für wahrscheinlich, dass ein MSO dies absichtlich auf einen höheren Wert setzen würde: Es dient nur dazu, mehr externe Anfragen zu generieren (die wir hassen). Möglicherweise müssen Sie mit den nächsten Schritten fortfahren, wenn Unternehmen weniger beliebte Software oder Betreiber einsetzen, die sich selbst hassen.
  2. Verärgern Sie DNS-Cache-Betreiber. Wenn Sie den Datensatz so schnell wie möglich aus dem Cache löschen müssen, müssen Sie sich nur an die größten Anbieter von rekursivem DNS wenden, an die Sie denken und die Sie arbeiten können. Einige dieser Unternehmen ignorieren Sie wahrscheinlich: Entweder sind sie der Meinung, dass Ihr Unternehmen für ihre Kunden zu klein ist, um sich darum zu kümmern, oder sie richten eigene Cache-Löschrichtlinien ein, um die Anzahl der Support-Anfragen zu minimieren, mit denen sie sich befassen müssen. In letzterem Fall werden sie wahrscheinlich mit den Schultern zucken und das Problem sich zum geplanten Zeitpunkt selbst überlassen. Schließlich hat Ihr Unternehmen dieses Problem für sich selbst geschaffen.
  3. Lassen Sie ISP-Kunden ihren ISP für Sie nerven. Wenn einige Tage vergangen sind und ein großer ISP den zwischengespeicherten Datensatz ignoriert, versuchen Sie, einen seiner Kunden zur Beschwerde zu bewegen und ein internes Ticket für dieses Unternehmen zu erstellen. Es ist schwieriger für sie, dies zu ignorieren, aber es wird Ihnen keinen Gefallen tun, da Sie dies aus ihrer Sicht selbst getan haben. Wenn dies wiederholt vorkommt, werden sie wahrscheinlich anfangen, diese Tickets zu stornieren, nur um Sie zu ärgern.
  4. Empfehlen Sie Ihren Partnern, den DNS-Eintrag zu umgehen. Wenn es sich um einen unternehmenskritischen DNS-Eintrag handelt, der von Ihren Partnern verwendet wird, und keine der oben genannten Optionen akzeptabel ist (dh, Sie verlieren pro Minute Umsatz), hat Ihr Unternehmen keine andere Wahl, als mit seinen Partnern zusammenzuarbeiten, um das Problem zu umgehen. Wenn sie ihren lokalen Cache nicht kontrollieren, geschieht dies normalerweise durch Einfügen von Einträgen in die Hosts-Tabelle der betroffenen Systeme, da die Programme, die den DNS-Eintrag verwenden, nicht geändert werden müssen. Dies ist nur dann sinnvoll, wenn der Umsatzverlust an einige wenige Unternehmen gebunden ist, die die Daten verbrauchen. In allen anderen Fällen bleiben Sie bei den ersten drei Optionen.
Andrew B
quelle
3
Als Beispiel für Option 2 verfügt Google Public DNS über diese Seite , um den Cache zu leeren.
Bardi Harborow
16

Nun, zuallererst besuche ich im Bind-Konfigurationshandbuch, dass TTL eine vorzeichenbehaftete 32-Bit-Ganzzahl ist, die in Sekunden ausgedrückt wird und ein theoretisches Maximum von 2 ^ 31 ergibt. Es sagt

Gültige TTLs liegen im Bereich von 0-2147483647 Sekunden.

Oder ungefähr 68 Jahre. Sie können es also wahrscheinlich gar nicht erst auf 100 Jahre einstellen.

Nehmen wir also an, Sie setzen den Wert auf 68 Jahre. Es ist ziemlich klar, was passieren würde. DNS-Resolver, die die extrem lange TTL in Ihren DNS-Einträgen respektieren, würden sie so lange wie möglich zwischenspeichern. Einige DNS-Resolver respektieren TTLs überhaupt nicht und implementieren nur ihre eigene Caching-Richtlinie, wie sie es wünschen.

Der Grund, warum wir nicht eine einzige feste Zahl für die Maximalwerte angeben können, ist, dass viele verschiedene Implementierungen von DNS von vielen verschiedenen Anbietern erstellt wurden und alle leicht unterschiedliche Variablen verwenden. Ein DNS-Server, der unter Juniper JunOS ausgeführt wird, kann beispielsweise nur bis zu 604800 Sekunden oder 7 Tage in der TTL ausgeführt werden.

Ryan Ries
quelle
Das heißt also, wenn jemand die DNS-Kontrolle von Firma X auf 68 Jahre hackt und die IP an Pornhub weiterleitet, hat er tatsächlich den Domainnamen "für immer" zerstört? : X
Dirk Boer
11
Angenommen, Sie haben das Problem behoben, ist es unwahrscheinlich, dass Downstream-DNS-Server 68 Jahre lang nicht gelöscht werden, beispielsweise durch einen Neustart. Es ist auch wahrscheinlich, dass Downstream-DNS-Resolver ihre eigene Idee von "MAXTTL" implementieren, die empfangenen TTLs eine vernünftigere Obergrenze gibt, z. B. 3 Tage anstelle von 68 Jahren. Lesen Sie RFC 2308 als Beispiel für das, worüber ich spreche.
Ryan Ries
4
In Bezug auf BIND gibt es ein Standardlimit von 7 Tagen. max-cache-ttl: "Legt die maximale Zeit fest, für die der Server normale (positive) Antworten zwischenspeichert. Die Standardeinstellung ist eine Woche (7 Tage)."
Håkan Lindqvist