ドメインの DNSSEC の設定
攻撃者は、DNS クエリを傍受し、それらのエンドポイントの実際の IP アドレスの代わりに自身の IP アドレスを DNS リゾルバーに返すことにより、ウェブサーバーなどのインターネットエンドポイントへのトラフィックをハイジャックすることがあります。その後、ユーザーはなりすましたレスポインスによって攻撃者が指定した IP アドレス (偽のウェブサイトなど) にルーティングされます。
DNS スプーフィングや中間者 (MITM) 攻撃と呼ばれるこのタイプの攻撃からは、DNS トラフィックを保護するプロトコルである Domain Name System Security Extensions (DNSSEC) を設定することでドメインを保護できます。
重要
Amazon Route 53 では、ドメイン登録で DNSSEC 署名と DNSSEC がサポートされています。Route 53 で登録されたドメインに DNSSEC 署名を設定する場合は、Amazon Route 53 での DNSSEC 署名の設定 をご覧ください。
DNSSEC がドメインを保護する方法の概要
ドメインの DNSSEC を構成すると、DNS リゾルバーは中間リゾルバーからのレスポンスに対して信頼チェーンを確立します。信頼チェーンの先頭は、ドメインの TLD レジストリ (ドメインの親ゾーン) で、末尾は DNS サービスプロバイダーにある権威ネームサーバーです。すべての DNS リゾルバーが DNSSEC をサポートしているわけではありません。署名または信頼性検証を実行するのは、DNSSEC をサポートしているリゾルバーのみです。
Amazon Route 53 に登録されたドメインに DNSSEC を設定し、インターネットホストを DNS スプーフィングから保護する方法を次に示します。わかりやすくするため、簡略化してあります。
DNS サービスプロバイダーにより提供されたメソッドを使用し、非対称キーペアのプライベートキーによって、ホストゾーン内のレコードに署名します。
重要
Route 53 では、DNSSEC 署名と、ドメイン登録用の DNSSEC がサポートされています。詳細については、「Amazon Route 53 での DNSSEC 署名の設定」を参照してください。
パブリックキーをキーペアからドメインレジストラに提供し、キーペアの生成に使用されたアルゴリズムを指定します。ドメインレジストラがパブリックキーとアルゴリズムを、最上位ドメイン (TLD) のレジストリに転送します。
Route 53 に登録したドメインに対してこのステップを実行する方法については、「ドメインへのパブリックキーの追加」を参照してください。
DNSSEC を設定したら、以下のようにして DNS スプーフィングからドメインを保護できます。
ウェブサイトを参照するか、E メールメッセージを送信することにより、DNS クエリを送信します。
リクエストは DNS リゾルバーにルーティングされます。リゾルバーは、リクエストに基づいてクライアントに適切な値 (ウェブサーバーやメールサーバーを実行しているホストの IP アドレスなど) を返す役割を果たします。
-
他のユーザーが既に同じ DNS クエリを送信しており、リゾルバーが既にその値を取得しているため、IP アドレスが DNS リゾルバーにキャッシュされている場合、リゾルバーはリクエストを送信したクライアントにその IP アドレスを返します。その後、クライアントはその IP アドレスを使用してホストにアクセスします。
IP アドレスが DNS リゾルバーにキャッシュされていない場合、リゾルバーは TLD レジストリにあるドメインの親ゾーンにリクエストを送信します。これにより、以下の 2 つの値が返されます。
Delegation Signer (DS) レコード。レコードの署名に使用されたプライベートキーに対応するパブリックキーです。
ドメインの権威ネームサーバーの IP アドレス。
DNS リゾルバーは、元のリクエストを別の DNS リゾルバーに送信します。そのリゾルバーに IP アドレスがない場合、リゾルバーが DNS サービスプロバイダーにあるネームサーバーにリクエストを送信するまでプロセスを繰り返します。ネームサーバーにより 2 つの値が返されます。
ドメインのレコード (example.com など)。通常、これにはホストの IP アドレスが含まれています。
DNSSEC を設定したときに作成したレコードの署名。
DNS リゾルバーは、ドメインレジストラおよび TLD レジストリに転送されたレジストラに提供したパブリックキーを使用して、2 つの処理を実行します。
信頼チェーンを確立します。
DNS サービスプロバイダーからの署名済みレスポンスが正当であり、攻撃者により不正なレスポンスに置き換えられていないことを確認します。
レスポンスが本物の場合、リゾルバーはリクエストを送信したクライアントに値を返します。
応答を確認できない場合、リソルバーはユーザーにエラーを返します。
ドメインの TLD レジストリがドメインのパブリックキーを持っていない場合、リゾルバーは DNS サービスプロバイダーから返された情報を使用して DNS クエリに応答します。
ドメインに DNSSEC を設定する際の前提条件と最大数
ドメインに DNSSEC を設定するには、ドメインと DNS サービスプロバイダーが次の前提条件を満している必要があります。
TLD のレジストリで DNSSEC がサポートされている必要があります。TLD のレジストリで DNSSEC がサポートされているかどうかを確認するには、「Amazon Route 53 に登録できる最上位ドメイン」を参照してください。
ドメインの DNS サービスプロバイダーでは、DNSSEC がサポートされている必要があります。
重要
Route 53 では、DNSSEC 署名と、ドメイン登録用の DNSSEC がサポートされています。詳細については、「Amazon Route 53 での DNSSEC 署名の設定」を参照してください。
ドメインのパブリックキーを Route 53 に追加する前に、ドメインの DNS サービスプロバイダーで DNSSEC を設定する必要があります。
ドメインに追加できるパブリックキーの数は、ドメインの TLD によって異なります。
.com および .net ドメイン: 最大 13 個のキー
他のすべてのドメイン: 最大 4 個のキー
ドメインへのパブリックキーの追加
キーをローテンションしたり、ドメインで DNSSEC を有効にしたりするときは、ドメインの DNS サービスプロバイダーで DNSSEC を設定した後、以下の手順を実行します。
ドメインにパブリックキーを追加するには
DNS サービスプロバイダーを使用してまだ DNSSEC を設定していない場合、サービスプロバイダーにより提供された方法を使用して DNSSEC を設定します。
AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/
) を開きます。 ナビゲーションペインで [Registered Domains] をクリックします。
キーを追加するドメインの名前を選択します。
[DNSSEC キー] タブで、[キーの追加] を選択します。
次の値を指定します。
- キーのタイプ
キー署名キー (KSK) またはゾーン署名キー (ZSK) をアップロードするかどうかを選択します。
- アルゴリズム
ホストゾーンのレコードの署名に使用したアルゴリズムを選択します。
- パブリックキー
DNS サービスプロバイダーで DNSSEC を設定するときに使用した非対称キーペアからパブリックキーを指定します。
次の点に注意してください。
ダイジェストではなく、公開キーを指定します。
キーは base64 形式で指定する必要があります。
[追加] を選択します。
注記
一度に追加できるパブリックキーは 1 つだけです。さらにキーを追加する必要がある場合は、Route 53 から確認メールを受け取るまで待ちます;。
Route 53 がレジストリからレスポンスを受け取ると、ドメインの登録者にメールが送信されます。メールは、パブリックキーがレジストリのドメインに追加されたことを確認するか、キーを追加できなかった理由を説明するものです。
ドメインのパブリックキーの削除
キーをローテンションしたり、ドメインの DNSSEC を無効にしたりする場合、DNS サービスプロバイダーで DNSSEC を無効にする前に、以下の手順を使用してパブリックキーを削除します。次の点に注意してください。
パブリックキーをローテーションする場合、新しいパブリックキーを追加してから古いパブリックキーを削除するまで最大 3 日待つことをお勧めします。
DNSSEC を無効にする場合、まずドメインのパブリックキーを削除します。ドメインの DNS サービスで DNSSEC を無効にする前に、最大 3 日待つことをお勧めします。
重要
ドメインの DNSSEC が有効な場合に、DNS サービスで DNSSEC を無効にした場合、DNSSEC がサポートされている DNS リゾルバーは SERVFAIL
エラーをクライアントに返し、クライアントはドメインに関連付けられたエンドポイントにアクセスできなくなります。
ドメインのパブリックキーを削除するには
AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/
) を開きます。 ナビゲーションペインで [Registered Domains] をクリックします。
キーを削除するドメインの名前を選択します。
[DNSSEC キー] タブで、削除するキーの横にあるラジオボタンをクリックし、[キーの削除] をクリックします。
[DNSSEC キー] ダイアログボックスで、テキストボックスに「削除」と入力してキーを削除することを確認し、[削除] をクリックします。
注記
一度に削除できるパブリックキーは 1 つだけです。さらにキーを削除する必要がある場合は、Amazon Route 53 から確認メールを受け取るまで待ちます。
Route 53 がレジストリからレスポンスを受け取ると、ドメインの登録者にメールが送信されます。メールは、パブリックキーがレジストリのドメインから削除されたことを確認するか、キーを削除できなかった理由を説明するものです。