翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DNSSEC 署名の有効化と信頼チェーンの確立
増分手順はホストゾーンの所有者と親ゾーンの管理者に適用されます。これは同一の当事者でもかまいません。ただし、そうでない場合、ゾーンの所有者は親ゾーンの管理者に通知して協力する必要があります。
ゾーンを署名して信頼チェーンに含めるため、この記事の手順に従うことをお勧めします。次のステップでは、 へのオンボーディングのリスクを最小限に抑えますDNSSEC。
注記
始める前に、「Amazon Route 53 でDNSSECの署名の設定」で前提条件を確認してください。
次のセクションで説明するように、DNSSEC署名を有効にするには 3 つのステップがあります。
ステップ 1: DNSSEC署名を有効にする準備をする
準備ステップは、ゾーンの可用性をモニタリングし、署名を有効にしてから Delegation Signer (DS) レコードを挿入するまでの待機時間を短縮DNSSECすることで、 へのオンボーディングのリスクを最小限に抑えるのに役立ちます。
DNSSEC 署名を有効にする準備をするには
-
ゾーンの可用性を監視します。
ドメイン名の可用性をゾーンで監視できます。これにより、DNSSEC署名を有効にした後にステップをロールバックする必要がある可能性のある問題に対処できます。クエリログを使用してトラフィックが最も多いドメイン名を監視できます。クエリ ログのセットアップの詳細については、「Amazon Route 53 のモニタリング」をご参照ください。
監視はシェルスクリプトまたはサードパーティサービスを通じて実行できます。ただし、ロールバックが必要か否かを判断する唯一のシグナルとして見なしてはなりません。また、ドメインが利用できない理由で顧客からフィードバックを得る場合があります。
-
ゾーンの最大 を下げますTTL。
ゾーンの最大数は、ゾーン内の最長TTLレコードTTLです。次のゾーン例では、ゾーンの最大値は 1 日 (86400 秒) TTL です。
名前 TTL レコードクラス レコードタイプ データレコード example.com。
900
IN
SOA
ns1.example.com。hostmaster.example.com。2002022401 10800 15 604800 300
example.com。
900
IN
NS
ns1.example.com。
route53.example.com。
86400
IN
TXT
some txt record
ゾーンの最大値を下げるTTLと、署名を有効にしてから Delegation Signer (DS) レコードを挿入するまでの待機時間を短縮できます。ゾーンの最大値を 1 時間 (3600 秒) TTLに減らすことをお勧めします。これにより、リゾルバーが署名済みレコードのキャッシュに問題がある場合、わずか 1 時間後にロールバックできます。
ロールバック: TTL変更を元に戻します。
-
SOA TTL および SOA 最小フィールドを下げます。
SOA 最小フィールドは、SOAレコードデータの最後のフィールドです。次のSOAレコード例では、最小フィールドの値は 5 分 (300 秒) です。
名前 TTL レコードクラス レコードタイプ データレコード example.com。
900
IN
SOA
ns1.example.com。hostmaster.example.com。2002022401 10800 15 604800 300
SOA TTL および SOA 最小フィールドは、リゾルバーが負の回答を記憶する時間を決定します。署名を有効にすると、Route 53 ネームサーバーは負の回答のNSECレコードを返し始めます。には、リゾルバーが否定的な回答を合成するために使用する可能性のある情報NSECが含まれています。NSEC リゾルバーが名前に対して否定的な回答を引き受けたためにロールバックする必要がある場合は、リゾルバーが仮定を停止するまで、 SOATTLフィールドと SOA フィールドの最大数だけ待機する必要があります。
ロールバック: SOA変更を元に戻します。
-
TTL およびSOA最小フィールド変更が有効であることを確認します。
を使用してGetChange、これまでの変更がすべての Route 53 DNSサーバーに反映されていることを確認します。
ステップ 2: DNSSEC署名を有効にして を作成する KSK
Route 53 コンソールで AWS CLI または を使用して、DNSSEC署名を有効にし、キー署名キー (KSK) を作成できます。
カスタマーマネージドKMSキーを提供または作成する場合、いくつかの要件があります。詳細については、「のカスタマーマネージドキーの使用 DNSSEC」を参照してください。
ゾーン署名を有効にしたら、次のステップを実行します (コンソールと のどちらを使用したか)CLI。
-
ゾーン署名が有効であることを確認します。
を使用した場合は AWS CLI、
EnableHostedZoneDNSSEC()
呼び出しの出力からオペレーション ID を使用して get-change を実行するかGetChange、すべての Route 53 DNSサーバーがレスポンスに署名していることを確認します (ステータス =INSYNC
)。 -
少なくとも前のゾーンの最大 を待ちますTTL。
リゾルバーがキャッシュから署名されていないレコードをすべてフラッシュするまで待ちます。これを実現するには、少なくとも前のゾーンの最大 を待つ必要がありますTTL。上記の
example.com
ゾーンの場合、待機時間は 1 日です。 -
顧客問題のレポートを監視します。
ゾーン署名を有効にした後、顧客がネットワークデバイスおよびリゾルバーに関連する問題に直面し始める可能性があります。推奨される監視期間は 2 週間です。
直面する問題例を以下の通り、紹介します:
-
ネットワークデバイスによっては、DNSレスポンスのサイズを 512 バイト未満に制限できます。これは、一部の署名付きレスポンスでは小さすぎます。これらのネットワークデバイスは、より大きなDNSレスポンスサイズを可能にするように再設定する必要があります。
-
一部のネットワークデバイスは、DNSレスポンスを詳細に検査し、 に使用されるレコードのように、理解できない特定のレコードを削除しますDNSSEC。これらのデバイスは再設定する必要があります。
-
一部の顧客のリゾルバーは、ネットワークがサポートするよりも大きなUDPレスポンスを受け入れることができると主張しています。ネットワーク機能をテストしてリゾルバーを適切に設定できます。詳細については、DNS「Reply Size Test Server
」を参照してください。
-
ロールバック: を呼び出しDisableHostedZoneDNSSECてから、 のステップをロールバックしますステップ 1: DNSSEC署名を有効にする準備をする。
ステップ 3: 信頼チェーンを確立
Route 53 でホストゾーンDNSSECの署名を有効にしたら、ホストゾーンの信頼チェーンを確立してDNSSEC署名設定を完了します。これを行うには、Route 53 から提供される情報を使用しながら、自分のホストゾーンの親ホストゾーンで Delegation Signer (DS) レコードを作成します。ドメインが登録されている場所に応じて、Route 53 内または別のドメインレジストラにある親ホストゾーンに、DS レコードを追加します。
DNSSEC 署名用の信頼チェーンを確立するには
にサインイン AWS Management Console し、 で Route 53 コンソールを開きますhttps://console.aws.amazon.com/route53/
。 -
ナビゲーションペインで、ホストゾーン を選択し、信頼DNSSECチェーンを確立するホストゾーンを選択します。最初にDNSSEC署名を有効にする必要があります。
-
DNSSEC 署名タブの署名 でDNSSEC、情報を表示 を選択して DS レコード を作成します。
注記
このセクションに DS レコードを作成するための情報を表示 が表示されない場合は、信頼チェーンを確立する前にDNSSEC署名を有効にする必要があります。DNSSEC 「署名を有効にする」を選択しステップ 2: DNSSEC署名を有効にして を作成する KSK、「」で説明されているステップを完了してから、これらのステップに戻って信頼チェーンを確立します。
-
ドメインが登録されている場所に応じ、[信頼チェーンを確立] から、[Route 53 レジストラ]または [他のドメインレジストラ] を選択します。
-
ステップ 3 で指定された値を使用して、Route 53 の親ホストゾーンの DS レコードを作成します。ドメインが Route 53 でホストされていない場合、表示された値をドメインレジストラのウェブサイトで使用して DS レコードを作成します。
-
親ゾーンが Route 53 で管理されるドメインである場合は、次の手順に従います。
正しい署名アルゴリズム (ECDSAP256SHA256 とタイプ 13) とダイジェストアルゴリズム (SHA-256 とタイプ 2) が設定されていることを確認してください。
Route 53 がレジストラである場合、Route 53 コンソールで以下の操作を実行します:
-
[Key type] (キータイプ)、[Signing algorithm] (署名アルゴリズム)、および [Public key] (パブリックキー) の各値を書き留めます。ナビゲーションペインで [Registered Domains] をクリックします。
-
ドメインを選択し、DNSSECステータス の横にあるキーの管理 を選択します。
-
DNSSEC 「キーの管理」ダイアログボックスで、ドロップダウンメニューから Route 53 レジストラの適切なキータイプとアルゴリズムを選択します。
-
Route 53 レジストラの [パブリックキー] をコピーします。DNSSEC 「キーの管理」ダイアログボックスで、パブリックキーボックスに値を貼り付けます。
-
[追加] を選択します。
Route 53 は、パブリックキーから親ゾーンに DS レコードを追加します。例えば、ドメインが の場合
example.com
、DS レコードは .com DNS ゾーンに追加されます。
-
-
親ゾーンが Route 53 でホストされている場合、またはドメインが別のレジストリで管理されている場合は、親ゾーンまたはドメイン登録所有者に連絡して、次の手順に従ってください。
次のステップがスムーズに進むようにするには、親ゾーンTTLに低い DS を導入します。変更をロールバックする必要がある場合TTLは、DS を 5 分 (300 秒) に設定して復旧を高速化することをお勧めします。
-
親ゾーンが別のレジストリで管理されている場合、レジストラに連絡してゾーンに DS レコードを導入するように依頼してください。通常、DS レコードTTLの を調整することはできません。
-
親ゾーンが Route 53 でホストされている場合、親ゾーンの所有者に連絡してゾーンに DS レコードを導入するように依頼してください。
親ゾーンの所有者に
$ds_record_value
を提供します。これを取得するには、情報を表示をクリックしてコンソールで DS レコードを作成し、DS レコードフィールドをコピーするか、Get DNSSECを呼び出しAPIてDSRecord「」フィールドの値を取得します。aws --region us-east-1 route53 get-dnssec --hosted-zone-id $hostedzone_id
親ゾーンの所有者は、Route 53 コンソールまたは を使用してレコードを挿入できますCLI。
を使用して DS レコードを挿入するには AWS CLI、親ゾーンの所有者は次の例のようなJSONファイルを作成して名前を付けます。親ゾーンの所有者は、ファイルに
inserting_ds.json
のような名前を付けることがあります。{ "HostedZoneId": "$parent_zone_id", "ChangeBatch": { "Comment": "Inserting DS for zone $zone_name", "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "$zone_name", "Type": "DS", "TTL": 300, "ResourceRecords": [ { "Value": "$ds_record_value" } ] } } ] } }
次に、以下のコマンドを実行します。
aws --region us-east-1 route53 change-resource-record-sets --cli-input-json file://inserting_ds.json
コンソールを使用して DS レコードを挿入するには、
で Route 53 コンソールを開きますhttps://console.aws.amazon.com/route53/
。 ナビゲーションペインで [Hosted zones] (ホストゾーン) とホストゾーン名を選択し、[Create record] (レコード作成) ボタンを押します。[Routing policy] (ルーティングポリシー) で [Simple routing] (簡易ルーティング) を選択していることを確認します。
[Record name] (レコード名) フィールドに
$zone_name
と同じ名前を入力し、[Record type] (レコードタイプ) ドロップダウンから DS を選択します。次に [Value] (値) フィールドに$ds_record_value
の値を入力して [Create records] (レコード作成) を選択します。
-
ロールバック: 親ゾーンから DS を削除し、DS を待ってからTTL、信頼を確立するためのステップをロールバックします。親ゾーンが Route 53 でホストされている場合、親ゾーンの所有者は を JSON ファイル
DELETE
内のAction
からUPSERT
に変更し、CLI上記の例を再実行できます。 -
-
ドメインレコードの に基づいて、更新が伝播されるTTLのを待ちます。
親ゾーンが Route 53 DNSサービス上にある場合、親ゾーンの所有者は を通じて完全な伝播を確認できますGetChangeAPI。
または、親ゾーンの DS レコードを定期的に調査することが可能であり、DS レコードの挿入が完全にプロパゲートされる確率を上げるため、さらに 10 分待ちます。DS 挿入をスケジュールしているレジストラもいることにご留意ください (例えば 1 日 1 回など)。
親ゾーンに Delegation Signer (DS) レコードを導入すると、DS を取得した検証済みリゾルバーがゾーンから応答の検証を開始します。
信頼を確立する手順をスムーズに進めるため、以下の手順を実行します:
-
最大 NS を検索しますTTL。
ゾーンに関連付けられた NS レコードが 2 つのセットあります。
-
NS レコードの委任 - これは、親ゾーンが保持しているお客様ゾーンの NS レコードです。次の Unix コマンドを実行することでこれを検索できます (ゾーンが example.com の場合、親ゾーンは com です):
dig -t NS
com
いずれの NS レコードを 1 つを選択して以下を実行します:
dig @
one of the NS records of your parent zone
-t NS example.com例:
dig @b.gtld-servers.net. -t NS example.com
-
ゾーン内 NS レコード - これはゾーン内の NS レコードです。以下の Unix コマンドを実行すると探せます。
dig @
one of the NS records of your zone
-t NS example.com例:
dig @ns-0000.awsdns-00.co.uk. -t NS example.com
両方のゾーンTTLの最大値に注意してください。
-
-
最大 NS を待ちますTTL。
DS を挿入前の段階では、リゾルバーは署名付きレスポンスを取得しますが、署名を検証しません。DS レコードが挿入されると、ゾーンの NS レコードが期限切れになるまで、リゾルバーはそのレコードを認識しません。リゾルバーが NS レコードを再フェッチすると、DS レコードも返されます。
お客様の顧客が非同期クロックのホスト内でリゾルバーを実行している場合、クロックが正しい時刻から 1 時間以内の誤差があることを確認してください。
このステップを完了するDNSSECと、 対応リゾルバーはすべてゾーンを検証します。
-
名前解決を確認します。
ゾーンを検証するリゾルバーに問題がないことにご留意してください。顧客が問題を報告するために必要な時間も考慮してください。
最大 2 週間監視することをお勧めします。
-
(オプション) DS と NS を長くしますTTLs。
セットアップに満足したら、行った TTLと SOA の変更を保存できます。Route 53 は、署名付きゾーンの TTLを 1 週間に制限することに注意してください。詳細については、「Amazon Route 53 でDNSSECの署名の設定」を参照してください。
DS を変更できる場合はTTL、1 時間に設定することをお勧めします。