web-dev-qa-db-ja.com

TTLがDNSレコードに台無しになるとどうなりますか?

誰かがあなたのDNSコントロールにアクセスし、そのIPをいくつかのあいまいなWebサイトにポイントしているときに、ドメインに100年のTTL)を設定するとどうなりますか?

(そしてもちろんあなたはそれを発見するのが遅すぎます)

13
Dirk Boer

ライアンはあなたの質問の1つの解釈に優れた答えを提供しました。しかし、私たちのターゲットオーディエンスと、質問に遭遇する可能性が最も高い人々の状況を考慮して、私は別の質問に答えるつもりです。

悪いTTLが世に出たとき、会社は何をしますか?

ここにはいくつかのオプションがあります。ただし、何よりもまず、問題のベクトルを特定して排除する必要があります。繰り返される問題を制御できない場合、ダメージを封じ込めようとしても意味がありません。

  1. 待ってください。重要なレコードでない場合は、おそらく待つことができます。ライアンがカバーしたように、「最大の被害」は68年ではありませんが、実際には7日である可能性が最も高いです。これは、ポジティブキャッシュエントリ(BIND、JunOSなど)の最大寿命の最も一般的なデフォルトです。これが正確でない場合でも、サーバーがプロセスの再起動を強制する定期的なセキュリティ更新を受信して​​いることを期待します。いくつかの大きなクラスターのオペレーターとして言えば、MSOが意図的にこれをより大きな値に設定する可能性は低いと思います。それはより多くの外部からの問い合わせを生成するのに役立つだけです(私たちは嫌いです)。あまり人気のないソフトウェアを使用している企業や、自分自身を嫌うオペレーターの場合は、次のステップに進む必要があるかもしれません。
  2. DNSキャッシュオペレーターを煩わせる。キャッシュからレコードをできるだけ早くクリアする必要がある場合、唯一の本当の選択は、考えられる再帰DNSの最大のプロバイダーに連絡を取り始めて作業を進めることです。これらの会社の中には、あなたを無視する可能性があります。あなたの会社は顧客が気にかけるには小さすぎると考えているか、独自のキャッシュパージポリシーを設定して、対処しなければならないサポートコールの数を最小限に抑えています。後者の場合、彼らはおそらく肩をすくめて、予定された時間に問題を解決させます。結局のところ、あなたの会社はそれ自体でこの問題を引き起こしました。
  3. ISPの顧客にISPを悩ませてもらいます。数日経ち、大規模なISPがキャッシュされたレコードを無視している場合は、顧客の1人に不満を言わせ、その会社の内部でチケットを生成してみてください。 。これは彼らが無視するのは難しいですが、彼らの観点からあなたがあなた自身にこれをしたので、それは彼らのopsチームであなたにどんな恩恵も勝ちません。これが繰り返し発生する場合、彼らはおそらくあなたをいじめるためにこれらのチケットをキャンセルし始めるでしょう。
  4. DNSレコードをバイパスするようにパートナーにアドバイスします。それがパートナーによって消費されるミッションクリティカルなDNSレコードであり、上記のオプションのいずれも受け入れられない場合(つまり、分単位で収益を失っている場合)、会社には問題を回避するためにパートナーと協力することを選択します。ローカルキャッシュを制御しない場合、これは通常、DNSレコードを使用しているプログラムを変更する必要がないため、影響を受けるシステムのホストテーブルにエントリを挿入することによって実現されます。これは、収益の損失がデータを消費する選択された少数の企業に関連している場合にのみ実行可能です。他のすべての場合では、最初の3つのオプションで立ち往生しています。
21
Andrew B

さて、まず最初に私が見ているバインド構成マニュアルは、TTLは秒で表される符号付き32ビット整数であり、理論上の最大値は2 ^ 31であると述べています。

有効なTTLの範囲は0〜2147483647秒です。

または約68年。したがって、そもそも100年に設定することはできないでしょう。

それで、68年に設定したとしましょう。何が起こるかはかなり明確です。 DNSレコードで非常に長いTTL)を尊重したDNSリゾルバーは、可能な限りそれらをキャッシュします。一部のDNSリゾルバーは、TTLをまったく尊重せず、独自のキャッシュポリシーを実装するだけです。願います。

最大値に単一のハード数値を設定できない理由は、さまざまなベンダーによって作成されたDNSのさまざまな実装があり、それらはすべてわずかに異なる変数を使用しているためです。たとえば、Juniper JunOSで実行されているDNSサーバーは、TTLで最大604800秒(7日)しか実行されません。

16
Ryan Ries