私と同じDNSサーバーを使用している人が私のドメインをハイジャックできますか?


48

新しいドメインを登録するとき、私はそれをreggistarの設定でドメインネームサーバーに割り当てることにより、ホスティングプロバイダーに送信します。たとえば、デジタルオーシャンでは、次のように入力します。

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

次に、サーバーのAレコードにドメイン設定を追加します。同じホスティングプロバイダーの他の誰でも、自分が所有するドメインにAレコードを追加できることがわかりました。

これを防止するものはありますか?同じドメインネームサーバーを使用する2つの異なるサーバーがAレコードを通じて自分自身にドメインを割り当てようとすると、ブラウザにドメインを入力したときにドメインは実際にどこで解決されますか?同じDNSサーバーでドメイン名の衝突を防ぐものは何ですか?


7
デジタルオーシャンはそれを防ぎます。ちょうどしようと、ドメインのAレコードを入力するあなたが所有していません。
マイケルハンプトン

4
問題は、ドメインの所有者をどのように知るかです。先着ですか?Aレコードを最初に追加する人は誰でもドメインを使用できますか?
エランガルペリン

16
@EranGalperinこんにちは!私はDigitalOceanの従業員です。ドメインをアカウントに最初に追加した人は、そのドメインのレコードを設定できますが、競合が発生した場合に所有権を確立する手順があります。
ジェイコブ

1
このような問題は、より大きなDNSプロバイダー(ネットワークソリューションなど)もDNSレジストラである理由です。両方のステップを一度に処理し、物事が同期していることを確認できます。
バーマー

@Barmarが上記で述べたように、ほとんどのレジストラはDNSホスティングも提供します。これにより、シナリオが解決する可能性が低く、些細なように見えても、説明した問題を回避できます。
フレッドトムセン

回答:


60

以下のコメントセクションを気にせず、編集履歴の以前の回答を気にしないでください。約1時間の友人との会話(@ joeQwerty、@ Iain、@ JourneymanGeekに感謝)、およびいくつかの陽気なハッキングの後に、私たちはあなたの質問と全体的な状況の両方の底に着きました。粗野さと最初は状況を完全に誤解して申し訳ありません。

プロセスを見ていきましょう。

  1. wesleyisaderp.comたとえば、NameCheap.comで購入します。
  2. レジストラとしてのNamecheapは、NSレコードを作成する場所です。実際に、デジタルオーシャンでDNSゾーンをホストするとします。
  3. 光沢のある新しいドメインのNSレコードをns1.digitalocean.comとに向けns2.digitalocean.comます。
  4. ただし、そのドメインを登録し、さらにNSレコードをDigital Oceanに変更したと判断できたとします。次に、デジタルオーシャンアカウントであなたを打ち負かし、wesleyisaderp.comゾーンを自分のものに追加しました。
  5. * your *アカウントにゾーンを追加しようとしましたが、Digital Oceanはゾーンがすでにシステムに存在していると言っています!やばい!
  6. にCNAME wesleyisaderp.comwesleyisbetterthanyou.comます。
  7. 陽気が続きます。

何人かの友人と私はちょうどこのシナリオを試しただけで、はい、うまくいきます。@JoeQwertyがドメインを購入し、デジタルオーシャンネームサーバーを指すが、そのゾーンが既にアカウントに追加されている場合、私はゾーンマスターであり、それを使用して何でもできます。

ただし、誰かが最初にDNSアカウントにゾーンを追加する必要があり、その後、NSホストが同じホストのネームサーバーを指すようにして、悪意のあることが発生することを考慮してください。さらに、ドメイン所有者は、必要に応じてNSレコードを切り替えて、解決策を不良ゾーンホストから移動できます。

これが起こる可能性は、控えめに言っても少し低いです。統計的には、52枚のトランプのデッキをシャッフルし、他の人間がこれまでに獲得したことのない、また他の人間が獲得することのない順序を得ることができると言われています。ここにも同じ理由があると思います。誰かがこれを悪用する可能性は非常に低く、より良いショートカットが存在するため、おそらく偶然に野生で起こることはありません。

さらに、あなたがレジストラでドメインを所有していて、誰かがたまたまデジタルオーシャンなどのプロバイダーでゾーンを作成したことがある場合、所有権の証明を提供してくれるかどうかを確認します。ドメイン名の所有者ではないため、存在する理由がないため、アカウントのゾーンを削除して削除してください。

しかし、Aレコードはどうですか

たとえばデジタルオーシャンなどのゾーンを最初に持つ人が、ゾーンを制御します。同じDNSインフラストラクチャ上に複数の同一ゾーンを持つことはできません。たとえば、上記の愚かな名前を使用すると、wesleyisaderp.comがDigital Oceanのゾーンである場合、Digital OceanのDNSインフラストラクチャの他の誰もアカウントに追加できません。

ここからが面白いところです。実際、wesleyisaderp.comをデジタルオーシャンアカウントに追加しました。さあ、あなたのものに追加してみてください。それは何も傷つけません。

そのため、wesleyisaderp.comにAレコードを追加することはできません。それはすべて私のものです。

しかし、どうでしょう...

@Iainが以下に指摘したように、上記の私のポイント#4は実際には冗長すぎます。待つ必要もプロットする必要もまったくありません。私は作ることができ、数千のアカウントでゾーンのをして、後ろに座ると待ちます。技術的に。数千のドメインを作成し、それらが登録されるのを待ってから、それらが私のゾーンを設定したDNSホストを使用することを望んでいる場合...多分何か悪いことができますか?多分?しかし、おそらくそうではありませんか?

Digital OceanとNameCheapに謝罪

Digital OceanとNameCheapは一意ではなく、このシナリオとは関係がないことに注意してください。これは正常な動作です。彼らはすべての面で非難されていません。それが与えられた例であったので、私はちょうどそれらを使用しました、そして、彼らは非常に有名なブランドです。


2
もし誰かと本当にやりたいのなら、例えば、あなたがコントロールするホストを指し示し、一般的なパブリックDNSサーバー(おそらくGoogleのような?)を指す、非常に長いTTLを持つan AMXRRをセットアップできると思います。キャッシュポイズニングの変形...
CVn

4
また、顧客のサービスが良好であれば、誰かがそれを行ったとしても比較的迅速に片付けられるように、どのnsサーバーが指しているかを変更できるため、ドメインの所有権を示すことは簡単です。
ジェームズライアン

3
@JamesRyan TXTレコードは、このような場合に所有権を証明するために使用されます。
user9517はGoFundMonicaを

4
@Wesleyこれは正しいです。DNSサービスとゾーンの競合のケースを処理する手順が用意されています。
ジェイコブ

7
これが発生する可能性が高い奇妙な状況は、ドメインが以前に登録され、Digital Oceanで使用されていて、失効/更新されなかったが、デジタルオーシャンからゾーンが削除されなかった場合です。誰かが後でそれを「新しい」ドメイン(以前は所有していたことを知らない)としてスナップし、デジタルオーシャンでゾーンを作成しようとします。これは、DNSホストがネームサーバーではなくなったゾーンを定期的に削除する場合にのみ防止できます。(前述の競合解決方法なし)
アシュリー

32

ウェスリーの優れた答えに加えて、これを防ぐための解決策がすでにあることを付け加えたいと思います。DNSSECと呼ばれます。

基本は次のとおりです。

  • ドメインを登録します(wesleyisaderp.comその理由をここで有名な名前で説明します)。
  • 通常、ユーザー名とパスワードの組み合わせで認証するWebインターフェイスを介して、レジストラにネームサーバーを登録します。
  • また、公開キーと秘密キーのペアを作成し、DNSKEYレコードの形式でレジストラに公開キーをアップロードします。(これが、レジストラがトップレベルドメインのルートサーバー(この場合はのルートサーバー.com)への信頼チェーンを設定する方法です。)繰り返しますが、独自のユーザー名/パスワードでログインしているときにこれをアップロードします。コンボなので、他の誰かのドメインではなく、あなたのドメインに接続されます。
  • ネームサーバーに移動し、レコードを入力して、作成したゾーンファイルにプライベートキーで署名します。または、DNSホスティングサービスへのWebインターフェイスがある場合は、プライベートキーをアップロードして、ゾーンファイルに署名できるようにします。
  • WesleyがドメインをハイジャックしてCNAMEをハイジャックしようとするとwesleyisbetterthanyou.com、彼の記録は、正しいキーで署名されていないため、.comルートドメインサーバーに受け入れられません。DNSホスティングプロバイダーが賢い場合、彼らはすぐにそのことを確認し、適切な秘密キーを取得しない限り、そのドメインにレコードを追加することさえ許可しません。
  • 独自のレコードを入力すると、正しいキーで署名されるため、機能します。
  • これで、ウェズリーに座って笑うことができます。

(Wesleyが説明する最初のケースでは、主なエラーは、デジタルオーシャンが誰かにドメインのDNSレコードを設定する前にドメインの所有権を確認しなかったということです。同じ問題を持つ少なくとも1つのスウェーデンのレジストラの)


1
奇妙なことに、非DNSSEC DNSゾーンホスティングプロバイダーは、ゾーンの作成を許可する前に所有権をどのように確認しますか?また、Amazon Route53を使用してこれを試しましたが、必要なゾーンを作成できます。
ウェズリー

彼らはおそらく文句を言わないでしょう、それは延期された試行錯誤のチェックを必要とするでしょう。推測すると、いくつかの(煙幕)uxトリックを使用して、エラー時削除が可能です。
サンポサッララ

@Wesley私はメカニズムを考慮していません。しかし、少なくとも、whoisレコードのある種のチェック、または安価なSSL証明書の売り手が持っているのと同じ種類のチェックは機能します。彼らがそれを行うことができる場合、なぜ企業をホストできないのですか?
ジェニーDは、Reinstate Monica

1
@JennyD利便性、ほとんど!このタイプのドメインハイジャックは、すべての正当なユーザーがそれを防ぐためにフープを飛び越えるようにするよりも、発生したときに修正するのが簡単なほどまれであり、十分に検出可能です。
夕暮れの

@duskwuff利便性とセキュリティが競合する場合、通常、利便性が勝ちます...ドメインのハイジャックはまれである可能性が高いことに同意します。IMAO、DNSホスティング事業者は、いかなる形式のチェックも行わないことを無謀です。
ジェニーDがReinstate Monica

6

レジストラにネームサーバーの使用を指示する前に、DigitalOceanでドメインの所有権を主張する(つまり、ドメインをアカウントに関連付ける)限り問題ありません。

誰かが既にあなたのドメインを自分のアカウントに関連付けている場合、DigitalOceanネームサーバーが権限を持つ前にあなたは知るでしょう。その場合は、DigitalOceanに連絡して、その人を自分のアカウントからブートするように依頼してください。

ベストプラクティスに沿って、{ns1、ns2、ns3} .DigitalOcean.comは、他の場所でホストされているドメインの再帰リゾルバーとして機能しません。そうした場合、およびDigitalOceanがホストするサーバーが汎用リゾルバーとしてそれらのサーバーを使用した場合、はるかに大きな問題が発生します。これは悪い習慣であることがよく知られていますが、それを間違っているホスティングプロバイダーを見つけるのはそれほど難しくないでしょう。


DigitalOceanがまだドメインに対して権限がなく、複数の潜在的な顧客がドメインを所有していると主張する場合、DigitalOceanはどの潜在的な顧客が真実を伝えているかをどのように知るのでしょうか?ドメインの制御を証明するために、レコードを作成するための最初のアクセスとNSレコードを更新する期限を最初に与えるのですか?または、潜在的な顧客のそれぞれに、NSレコードに入れる権限のあるサーバーの異なるサブセットを提供しますか?
カスペルド

2
@kasperdは、正当な所有者にNSが好きな場所に記録し、たとえば、サービスプロバイダーが提供する一意の情報が含まれているため、所有者であることを証明するTXTレコードを構成します。確かにちょっとした口調ですが、まれにこれが発生する可能性がありますが、乗船する前に全員に所有権を証明するよりも簡単です。
user9517はGoFundMonicaを

@kasperd多くの場合、whoisレコードは正当な所有者を特定しますが、その情報を隠す理由がある場合もあります。いずれにせよ、DOにアカウントにドメインを関連付けて権威を持たせるように指示した場合、DOはおそらく、詐欺師にレジストラを更新するか、DOでドメインの関連付けを放棄するかのタイムラインを与えます。正当な所有者は少し待つ必要があるかもしれませんが、それだけです。
mc0e

0

この問題は、誰もがそのようなネームサーバー(Digital Oceanなど)をリゾルバとして使用してはならないことを意味すると思います。なぜなら、誰でも既存のドメインのネームサーバーを作成できるからです。ドメインの所有権は簡単に証明できるので、ドメインの制御をめぐる戦いは関係ありませんが、たとえば、デジタルオーシャンでまだホストされていない既存のドメインを誰かが好きな場所に向けることができるという事実。

ボトムライン:ドメイン所有権の証明を必要としないホスティングサービスのDNSサーバーを信頼しない、これはたとえばMicrosoft O365とGoogleが行うことです)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.