TTLがDNSレコードでめちゃくちゃになるとどうなりますか?


13

誰かがあなたのDNSコントロールにアクセスし、ドメインに100年のTTLを設定し、そのIPを不明瞭なWebサイトに向けると、どうなりますか?

(そして、あなたはもちろん遅すぎます)


10
担当者が解雇されます。
ザビエルルーカス14

5
ちょっとした注意:最大TTL値は2 ^ 31-1です。これは68年を少し超えています :) RFC 2181を参照してください。
スヴェン

回答:


21

ライアンはあなたの質問の一つの解釈に対する優れた答えを提供してくれました。ただし、対象読者と、質問につまずく可能性が最も高い人々の状況を考えると、別の質問に答えます。

悪いTTLが悪用された場合、会社は何をしますか?

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

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

3
オプション2の例として、Google Public DNSにはキャッシュをクリアするためのこのページがあります
バルディハーバーロー

16

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

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

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

したがって、68年に設定したとしましょう。何が起こるかは明らかです。DNSレコードの極端に長いTTLを尊重したDNSリゾルバーは、できる限りキャッシュをキャッシュします。一部のDNSリゾルバーは、TTLをまったく尊重せず、独自のキャッシングポリシーを実装するだけです。

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


だから、実際に誰かが会社XのDNS制御をハッキングして68年にそれを置き、IPをポルノハブに転送すると、彼は実際にドメイン名を「永遠に」破壊したことを意味しますか?:X
ダークボーア14

11
問題を修正したと仮定すると、ダウンストリームDNSサーバーが、たとえば再起動によってキャッシュがクリアされずに68年も続くことはまずありません。また、ダウンストリームDNSリゾルバーは、受信したTTLに68年ではなく3日など、より合理的な上限を設ける「MAXTTL」という独自のアイデアを実装している可能性があります。私が話していることの例として、RFC 2308を読んでください。
ライアンリース14

4
BINDに関しては、デフォルトで7日間の制限があります。max-cache-ttl: "サーバーが通常の(肯定的な)回答をキャッシュする最大時間を設定します。デフォルトは1週間(7日間)です。"
–HåkanLindqvist 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.