web-dev-qa-db-ja.com

ネームサーバープロバイダーがMXレコードをハイジャックすることは可能ですか?

まあ言ってみれば:

  1. http://cheap-unsecure-domains.example からドメインを購入します。
  2. 次に、コントロールパネルのcp.cheap-unsecure-domains.exampleCloudflare サービスを使用するように構成します。
  3. たとえば、CloudflareにMXレコードを設定し、それらをGoogleにポイントします。

  • 理論的には、cheap-unsecure-domainsをハイジャックします MXレコード Cloudflareを参照する代わりに、それ自体で答えます。これは正しいです?
  • はいの場合、この種の攻撃に対する何らかの保護策はありますか? [〜#〜] gpg [〜#〜] のようなものを使用する以外は。

受信側への攻撃の可能性を考えています。

32
Ravexina

はい。レジストラはMXレコードだけでなく、DNS全体をハイジャックできます。

それだけでなく、ドメインに送信されたメールを傍受し、ドメインの有効なCA署名付きSSL証明書を取得し、信頼できるSSL証明書を使用してドメインのサイトをホストすることができます。そしてDNSSECはこれを防止しません。

レジストラの主な機能の1つは、ドメインのネームサーバーを登録することです。たとえば、stackexchange.comのwhoisルックアップを実行すると、stackexchange.comのレジストラーがeNom、LLC。であり、stackexchange.comのネームサーバーがGoogle Cloudによってホストされていることがわかります。とAmazon AWS。したがって、stackexchange.comのDNSはGoogle CloudとAmazon AWSによって処理されます。

質問で挙げた例では、cheap-unsecure-domainsがyourdomain.exampleのレジストラです。安価な非セキュアドメインを使用して、Cloudflareのネームサーバーをyourdomain.exampleのネームサーバーとして指定しました。したがって、yourdomain.exampleのDNSはCloudflareのネームサーバーによって処理されます。次に、Cloudflareのコントロールパネルで、Aレコード、MXレコードなど、yourdomain.exampleのDNSレコードを設定します。

したがって、安価で安全でないドメインがメールを傍受したい場合、DNSレコードを変更するためにCloudflareのアカウントに侵入する必要はありません。彼らは単にyourdomain.exampleのネームサーバーを自分のネームサーバーに変更し、次に自分のネームサーバーにyourdomain.exampleのMXレコードを作成して、自分のメールサーバーを指すようにします。次に、ドメインに送信されたメールの受信を開始します。

興味深いことに、yourdomain.exampleのSSL証明書を取得することなく、SMTP STARTTLSを使用してyourdomain.exampleのメールを安全に受信し始めることができました。彼らは自分の証明書を使用するだけでよい。 https://blog.filippo.io/the-sad-state-of-smtp-encryption/ を参照してください。

今、物事はより陰湿になります。 [email protected](または[email protected]、またはSSLドメイン検証に使用される他の指定された承認済みメールアドレスのいずれか)のメールの受信を開始できます。次に、信頼できるCAにyourdomain.exampleのSSL証明書をリクエストできます。CAが確認リンクを[email protected]に送信すると、それが受信され、CAが証明書を発行します。これで、www.yourdomain.exampleAレコードを設定し、www.yourdomain.exampleの有効な証明書を使用してサイトを実行できます。

この時点で、疑問に思われるかもしれません-このタイプの攻撃はDNSSECを使用して防ぐことはできませんか?答えはいいえだ。 DNSSECレコードは、ドメインのDNSに格納されます。レジストラがyourdomain.exampleのネームサーバーを独自のネームサーバーに変更すると、yourdomain.exampleに対して作成したDNSSECレコードが、作成した他のすべてのDNSレコードとともに失われます。詳細は https://moxie.org/blog/ssl-and-the-future-of-authenticity/ を参照してください。

50
mti2935

理論的には、安価で安全でないドメインが、Cloudflareを参照する代わりに、MXレコードを単独で応答してハイジャックする可能性があります。これは正しいです?

はい、彼らがこれを行うことは可能でしょう。彼らはあなたが気づかないとできませんが。これを監視できます。

はいの場合、この種の攻撃に対する何らかの保護策はありますか? GPGのようなものを使用する以外は。

必ずしも安価なものではなく、信頼できるドメインレジストラを使用してください。 DNSを監視します。

9
Pedro

「理論的には、cheap-unsecure-domainsMXレコードをハイジャックします。これは正しいです?"

これは、評判が良くなく、セキュリティが光沢がないと見なされているドメインレジストラー企業にとっては正しいことです。優れた企業はセキュリティサービスとスイートを顧客に提供していますが、コストがかかることが多いため、これらのような他の選択肢を頻繁に利用するユーザーがいます 'cheap-unsecure-domains会社 '。

このような攻撃(ハイジャック/ソーシャルエンジニアリング/個人情報の盗難)を阻止する最も一般的な方法は、

  • 標準の良いol 'cyber hygiene(strong passwords、 two-factor authentication (2FA)on your' domain control panel 'ドメイン所有者のメールアカウント)
  • Avoid評判の悪いドメインホストプロバイダー(ハイジャックのかなりの割合は、ドメイン名レジストラーのシステムの脆弱性を悪用することから発生します)
  • ドメインの詳細と連絡先情報を最新に保ち、変更が行われた場合の通知を設定します(詳細は回復) 練習)。

コントロールパネルとしてCloudflareを使用することについて説明しました。彼らはあなたの処分でセキュリティサービスのスイートを提供します。 [〜#〜] dnssec [〜#〜] が適しているかもしれません。

2
mallocation

ドメインの上流のネームサーバーを独自のDNSサーバーに戻す必要があり、そこでMXレコードのみが変更されたDNSレコードのコピーをホストできます。アップストリームのNS=レコードがCloudflareをポイントしたままである限り、MXレコードのみをオーバーライドすることはできません。

したがって、上流のレジストリにあるドメインのNSレコードがまだcloudflareを指していることを監視し、それらが変更された場合に警告することができます。

2
Martijn Heemels

この問題を緩和する方法が1つあります。ドメインのレジストリロックです。

このサービスにサブスクライブする場合、レジストラによってレジストリにプッシュされた変更は、それらの変更が実際に要求されていることを(関係者に連絡することによって)レジストリを再確認するまで適用されません。これにより、変更が煩雑になります(DSレコードを使用して親でキーをローテーションする必要がある場合はDNSSECの問題です)が、悪意のある、または攻撃されたレジストラから保護されます。

ここでいくつかの注意事項:

  • 名前はどこでも「レジストリロック」でさえありません
  • すべてのレジストリ(TLD)には存在しない
  • 完全に非標準なので、各レジストリは少し異なるサービスを提供します。何が保護(ロック)されているかを明確に確認する必要があります。連絡先の変更、または連絡先が使用する電子メールアドレスのドメインまたはネームサーバーの命名に使用されるドメインの変更も、ドメインに影響を与える可能性があります。
  • 高価になる可能性があります
  • 通常、最初に現在のレジストラを通じて購入する必要があります(おそらく、一部のレジストリでは直接注文することができますが、あまり一般的ではありません)。おそらく、このサービスを提供しているレジストリの多くはそうではありません。

一部のレジストリの例:

(さまざまな理由により)多くはわかっていませんが、明らかにこれらの問題の解決策の一部です。それは https://arstechnica.com/information-technology/2019/02/inside-the-dnspionage-hacks-that-Hijack-domains-at-an-unprecedented- scale / 、あなたが説明する脅威に非常に類似した最近の攻撃(ルートネームサーバーのDNSプロバイダー以上、レジストラ、DNS、および電子メールレベルでのさまざまな攻撃を標的とする)を示すページ。

適切なレジストリロックがあれば、DSレコードが設定されると、名前解決に関する変更が発生するとエラーが発生します(攻撃を阻止します)。もちろん、再帰的なネームサーバーの検証を使用している場合に限ります。

1
Patrick Mevzek

DNSは変更できますが、おそらく何かがおかしいことに気付くでしょう。たとえば、誰かがmail.example.comを、私が制御していない別のIPに解決させた場合、元のmail.example.comを危険にさらすことなく、sshで認証されると、新しいキーを受け入れるように求められます。元のサーバーを完全に危険にさらし、SSH秘密鍵を盗んだ場合を除きます。しかし、その場合、彼らは私のDNSを攻撃する必要はありません。彼らはすでに根を持っています。または、少なくとも彼らはすでにSudoを実行できる私のsshユーザーを持っています。

メールが確実に読まれないようにしたい場合は、おそらく公開鍵暗号化(PGPやGPGなど)を使用して、相手に送信するすべてのメールを暗号化する必要があります。そうすれば、たとえ彼らが誰であっても、あなた宛てのメールを受け取っても、何らかの方法で秘密鍵を盗まれない限り、彼らはそれを読むことができません。

0
mkeith