メニュー
Amazon Route 53
開発者ガイド (API Version 2013-04-01)

ドメインの DNSSEC の設定

攻撃者は、DNS クエリを傍受し、それらのエンドポイントの実際の IP アドレスの代わりに自身の IP アドレスを DNS リゾルバーに返すことにより、ウェブサーバーなどのインターネットエンドポイントへのトラフィックをハイジャックすることがあります。その後、ユーザーはなりすましたレスポインスによって攻撃者が指定した IP アドレス (偽のウェブサイトなど) にルーティングされます。

DNS スプーフィングや中間者 (MITM) 攻撃と呼ばれるこのタイプの攻撃からは、DNS トラフィックを保護するプロトコルである Domain Name System Security Extensions (DNSSEC) を設定することでドメインを保護できます。

重要

Amazon Route 53 では、ドメイン登録には DNSSEC がサポートされていますが、DNS サービスには DNSSEC がサポートされていません。Amazon Route 53 に登録されたドメインに DNSSEC を設定する場合、別の DNS サービスプロバイダーを使用する必要があります。

DNSSEC がドメインを保護する方法の概要

ドメインの DNSSEC を構成すると、DNS リゾルバーは中間リゾルバーからのレスポンスに対して信頼チェーンを確立します。信頼チェーンの先頭は、ドメインの TLD レジストリ (ドメインの親ゾーン) で、末尾は DNS サービスプロバイダーにある権威ネームサーバーです。すべての DNS リソルバーが DNSSEC をサポートしているわけではありません。DNSSEC をサポートしていないリソルバーは、署名または信頼性の検証を実行しません。

Amazon Route 53 に登録されたドメインに DNSSEC を設定し、インターネットホストを DNS スプーフィングから保護する方法を以下に示します。わかりやすくするため、簡略化してあります。

  1. DNS サービスプロバイダーにより提供されたメソッドを使用し、非対称キーペアのプライベートキーによって、ホストゾーン内のリソースレコードセットを署名します。

    重要

    Amazon Route 53 では、ドメイン登録には DNSSEC がサポートされていますが、DNS サービスには DNSSEC がサポートされていません。Amazon Route 53 に登録されたドメインに DNSSEC を設定する場合、別の DNS サービスプロバイダーを使用する必要があります。

  2. パブリックキーをキーペアからドメインレジストラに提供し、キーペアの生成に使用されたアルゴリズムを指定します。ドメインレジストラがパブリックキーとアルゴリズムを、最上位ドメイン (TLD) のレジストリに転送します。

    Amazon Route 53 に登録したドメインに対してこのステップを実行する方法については、「ドメインへのパブリックキーの追加」を参照してください。

DNSSEC を設定したら、以下のようにして DNS スプーフィングからドメインを保護できます。

  1. ウェブサイトを参照するか、E メールメッセージを送信することにより、DNS クエリを送信します。

  2. リクエストは DNS リゾルバーにルーティングされます。リゾルバーは、リクエストに基づいてクライアントに適切な値 (ウェブサーバーやメールサーバーを実行しているホストの IP アドレスなど) を返す役割を果たします。

  3. IP アドレスが DNS リゾルバーにキャッシュされている場合 (他のユーザーがすでに同じ DNS クエリを送信しており、リゾルバーがすでにその値を取得しているため)、リゾルバーはリクエストを送信したクライアントにその IP アドレスを返します。その後、クライアントはその IP アドレスを使用してホストにアクセスします。

    IP アドレスが DNS リゾルバーにキャッシュされていない場合、リゾルバーは TLD レジストリにあるドメインの親ゾーンにリクエストを送信します。これにより、以下の 2 つの値が返されます。

    • Delegation Signer (DS) レコード。リソースレコードセットの署名に使用されたプライベートキーに対応するパブリックキーです。

    • ドメインの権威ネームサーバーの IP アドレス。

  4. DNS リゾルバーは、元のリクエストを別の DNS リゾルバーに送信します。そのリゾルバーに IP アドレスがない場合、リゾルバーが DNS サービスプロバイダーにあるネームサーバーにリクエストを送信するまでプロセスを繰り返します。ネームサーバーにより 2 つの値が返されます。

    • ドメインのリソースレコードセット (example.com など)。通常、これにはホストの IP アドレスが含まれています。

    • DNSSEC を設定したときに作成したリソースレコードセットの署名。

  5. DNS リゾルバーは、ドメインレジストラ (および TLD レジストリに転送されたレジストラ) に提供したパブリックキーを使用して、以下の処理を実行します。

    • 信頼チェーンを確立します。

    • DNS サービスプロバイダーからの署名済みレスポンスが正当であり、攻撃者により不正なレスポンスに置き換えられていないことを確認します。

  6. レスポンスが本物の場合、リゾルバーはリクエストを送信したクライアントに値を返します。

    応答を確認できない場合、リソルバーはユーザーにエラーを返します。

    ドメインの TLD レジストリがドメインのパブリックキーを持っていない場合、リゾルバーは DNS サービスプロバイダーから返された情報を使用して DNS クエリに応答します。

ドメインに DNSSEC を設定する際の前提条件と制限

ドメインに DNSSEC を設定するには、ドメインと DNS サービスプロバイダーが次の前提条件を満している必要があります。

  • TLD のレジストリで DNSSEC がサポートされている必要があります。TLD のレジストリで DNSSEC がサポートされているかどうかを確認するには、「Amazon Route 53 に登録できるドメイン」を参照してください。

  • ドメインの DNS サービスプロバイダーでは、DNSSEC がサポートされている必要があります。

    重要

    Amazon Route 53 では、ドメイン登録には DNSSEC がサポートされていますが、DNS サービスには DNSSEC がサポートされていません。Amazon Route 53 に登録されたドメインに DNSSEC を設定する場合、別の DNS サービスプロバイダーを使用する必要があります。

  • ドメインのパブリックキーを Amazon Route 53 に追加する前に、ドメインの DNS サービスプロバイダーで DNSSEC を設定する必要があります。

  • ドメインに追加できるパブリックキーの数は、ドメインの TLD によって異なります。

    • .com および .net ドメイン – 最大 13 個のキー

    • 他のすべてのドメイン – 最大 4 個のキー

ドメインへのパブリックキーの追加

キーをローテンションしたり、ドメインで DNSSEC を有効にしたりするときは、ドメインの DNS サービスプロバイダーで DNSSEC を設定した後、以下の手順を実行します。

ドメインにパブリックキーを追加するには

  1. DNS サービスプロバイダーを使用してまだ DNSSEC を設定していない場合、サービスプロバイダーにより提供された方法を使用して DNSSEC を設定します。

  2. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/route53/ にある Amazon Route 53 コンソールを開きます。

  3. ナビゲーションペインで [Registered domains] を選択します。

  4. キーを追加するドメインの名前を選択します。

  5. [DNSSEC status] フィールドで、[Manage keys] を選択します。

  6. 次の値を指定します。

    キーのタイプ

    キー署名キー (KSK) またはゾーン署名キー (ZSK) をアップロードするかどうかを選択します。

    Algorithm

    ホストゾーンのリソースレコードセットの署名に使用したアルゴリズムを選択します。

    パブリックキー

    DNS サービスプロバイダーで DNSSEC を設定するときに使用した非対称キーペアからパブリックキーを指定します。

  7. [Add] を選択します。

    注記

    一度に追加できるパブリックキーは 1 つだけです。さらにキーを追加する必要がある場合は、Amazon Route 53 から確認メールを受け取るまで待ちます;。

  8. Amazon Route 53 がレジストリからレスポンスを受け取ると、ドメインの登録者にメールが送信されます。メールは、パブリックキーがレジストリのドメインに追加されたことを確認するか、キーを追加できなかった理由を説明するものです。

ドメインのパブリックキーの削除

キーをローテンションしたり、ドメインの DNSSEC を無効にしたりする場合、DNS サービスプロバイダーで DNSSEC を無効にする前に、以下の手順を使用してパブリックキーを削除します。キーをローテーションしたり、DNS サービスプロバイダーで DNSSEC を無効にしたりした後、パブリックキーを削除するまで最大 3 日待つことをお勧めします。次の点に注意してください。

  • パブリックキーをローテーションする場合、新しいパブリックキーを追加してから古いパブリックキーを削除するまで最大 3 日待つことをお勧めします。

  • DNSSEC を無効にする場合、まずドメインのパブリックキーを削除します。ドメインの DNS サービスで DNSSEC を無効にする前に、最大 3 日待つことをお勧めします。

重要

ドメインの DNSSEC が有効な場合に、DNS サービスで DNSSEC を無効にした場合、DNSSEC がサポートされている DNS リゾルバーは SERVFAIL エラーをクライアントに返し、クライアントはドメインに関連付けられたエンドポイントにアクセスできなくなります。

ドメインのパブリックキーを削除するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/route53/ にある Amazon Route 53 コンソールを開きます。

  2. ナビゲーションペインで [Registered domains] を選択します。

  3. キーを削除するドメインの名前を選択します。

  4. [DNSSEC status] フィールドで、[Manage keys] を選択します。

  5. 削除するキーを見つけ、[Delete ] を選択します。

    注記

    一度に削除できるパブリックキーは 1 つだけです。さらにキーを削除する必要がある場合は、Amazon Route 53 から確認メールを受け取るまで待ちます;。

  6. Amazon Route 53 がレジストリからレスポンスを受け取ると、ドメインの登録者にメールが送信されます。メールは、パブリックキーがレジストリのドメインから削除されたことを確認するか、キーを削除できなかった理由を説明するものです。