web-dev-qa-db-ja.com

誰かが私のドメインにAレコードを設定するのを防ぐにはどうすればよいですか?

私はおそらく完全に間違っていますが、ドメインをサイトにポイントする標準的な方法と思われるものは非常に安全ではありません。

ドメインが会社Aで再取得され、サイトが会社Bでホストされているとします。

すべてを設定する手順は通常、次のとおりです。

  • 会社Aにログインし、my-domain.comのDNSレコードがns1.company-b.comおよびns2.company-b.comを指すように設定します。
  • 会社Bにログインし、my-domain.comをアカウントに追加して、Aレコードを設定します。

しかし、B社は、あなたがAレコードを設定する権限を持っていることをどのようにして知るのでしょうか。ドメインがDNSサーバーを使用しているという理由だけで? B社の顧客である他の誰かが実際にドメインの所有者であり、B社のDNSサーバーを指し示している可能性はありません-そして、あなたはB社の顧客でもあるので、あなたはただドメインを乗っ取る?

これは不可能かもしれません、もしそうなら、何がこのようなことが起こるのを妨げていますか?

5
JD Isaacks

理論的には、あなたは正しいです。実際には、ドメインが権限のあるネームサーバーとして使用するものを制御できるため、これは実際にはセキュリティの問題ではありません。つまり、会社Bでドメインのレコードを設定したとします。レコードを設定しようとすると、レコードの設定ができなくなります(DNSサーバーで同じドメインに対して複数のゾーンファイルをアクティブにすることはできないため)。レコードがすでに設定されていることに気づきました。すぐにもう一度A社に行き、権威ネームサーバーを別の場所を指すように設定してから、B社に話しかけます。B社は、A)あなたの情報がドメインに関連付けられたWHOISデータベースおよびB)権限のあるネームサーバーを設定することにより、ドメインの制御を示すことができます。おそらく、彼らはその後、彼らの不正行為のために他の顧客を一時停止し始めます。

これはあなたが心配することに多くの時間を費やすべきものではありません。

9
Paul Lathrop

手順は別の順序で実行する必要があります。 B社で設定し、アカウントにドメインを追加したことを確認しますbeforeネームサーバーを指定します。そうすれば、攻撃ウィンドウはゼロになります。しかし、そうしなくても、ウィンドウは非常に狭く、B社に電話する(またはネームサーバーを指すだけで)簡単に解決できます。

3
David Schwartz

シンプル。 権限のあるサーバーのみが重要です。

自宅のサーバーにgoogle.comのDNSを設定して、それをgoogleのように見せ、一日中それをいじったり、子供などからのトラフィックをリダイレクトしてキャプチャしたりできますが、クライアントが実際にルートサーバーにゾーンの権限を要求する場合、何を設定してもかまいません...権限のあるサーバーがこれを決定し、正しいアドレスレコードをクライアントに返すためです。

はい、ポイズンされたDNSエントリを作成できますそしてそのすべてですが、遅かれ早かれ、それらのエントリのTTLは期限切れになり、クライアントのリゾルバを直接制御できない限り)アドレス、クライアントはルートサーバーを使い果たし、ルートサーバーはそれらを正しいサーバー(権限のあるサーバー)にポイントし、ジグはアップします。別のDNSサービスを使用している場合でも、そのサービスは遅かれ早かれ正しいエントリをキャッシュします。

あなたの例の会社Bの場合、あなたはあなたが望むすべての記録を設定することができます。クライアントがそのサーバーにクエリを実行しない限り、それは問題ではありません。彼らが直接クエリを実行する場合、それは別の問題ですが、それでも永遠に続くことはなく、TTLが期限切れになると、DNSダンスが再び発生します...正しいサーバー。

ここで重要なのは、ルートに登録されているDNSサーバーです。ルートが考えるものは何でも、あなたのドメインに対して権限のあるサーバーのIPアドレスです、まあ、それは人々が答えを得るために行くところです。 「転送中」に誰かがドメイン名を乗っ取るのが心配な場合は、DNSサービスが提供するツールを使用してドメインを移管することで解決するのが最善です。彼らはあなたのためにそれらすべてを処理します。その場合、ルートサーバーを使用するゾーンの権限としてサービスを設定します。

誰かがドメインを再登録しようとしていることを心配している場合、DNSは根本的にホークされ、インターネットは壊れています(壊れていませんが、壊れています)。それはそのようには起こりません。

3
Avery Payne

B社のネームサーバーにレコードを作成する前に、そこにいる誰かがあなたに許可を与える必要があります。ネームサーバーをサーバーを指すように変更する前に、その権限があることを確認する必要があります。会社Bがネームサーバーをホストすると、権限のない人がDNSレコードを変更できないようにするために、ネームサーバーのセキュリティに依存します。

サイトがB社のサーバーでホストされているという理由だけで、DNSをホストする必要はありません。 A社のサーバーに必要なAレコードを簡単に設定できます。小規模なサイトでは、すべてのDNSレコードがドメインレジストラによってホストされているのが一般的です。 (ドメインを最初にセットアップしたとき、レジストラは例ではA社になります。)レジストラは常に、信頼できるネームサーバーレコードを検索するためのソースになります。

サードカンパニーがネームサーバーをホストしていることもよくあります。この場合、他の人がDNSレコードを変更できないように、セキュリティに依存します。

ドメインレジストラでレコードを更新する権限がある限り、DNSレコードが乗っ取られた場合に備えて、ネームサーバーをいつでも別の会社に移動できます。 DNSキャッシュが原因で、DNSAレコードを正しい場所にリダイレクトするのに時間がかかる場合があります。

PTRレコードは別の問題です。これらは常に、IPアドレスを提供した組織の1つによって管理されています。 CNAMESを介して特定のアドレスの制御を委任することができます。

DNSSECを使用してドメインレコードのセキュリティを強化できるようになりました。これにより、DNSレコードに署名できます。すべてのクライアントが署名をチェックするわけではないため、すべてのクライアントのドメインレコードが保護されるわけではありません。

ローカルDNSスプーフィングは常に可能です。一部の人々は、ローカルスプーフィングを使用して広告サイトからのトラフィックをブロックします。この目的で使用することを目的とした利用可能なサイトリストがいくつかあります。

0
BillThor

しかし、B社は、あなたがAレコードを設定する権限を持っていることをどのようにして知るのでしょうか。ドメインがDNSサーバーを使用しているという理由だけで?

Yes it because you've added company B's name server for your domain.

B社の顧客である他の誰かが実際にドメインの所有者であり、B社のDNSサーバーを指し示している可能性はありません-そして、あなたはB社の顧客でもあるので、あなたはただドメインを乗っ取る?

When you register a domain there you provide Administrative / Registrant Name , contact  details email address etc. So a second person can only become owner of your domain only if it is authorized by the domain administrative contact to that person.
0
User4283