DNSSEC 署名の無効化 - Amazon Route 53

DNSSEC 署名の無効化

Route 53 で DNSSEC 署名を無効にする手順は、ホストゾーンが属する信頼チェーンによって異なります。

例えば、信頼チェーンの一部として、自分のホストゾーンには、Delegation Signer (DS) レコードを持つ親ゾーンが存在する場合があります。また、自分のホスト (親) ゾーンの子ゾーンが、DNSSEC 署名を有効化済みであり、信頼チェーンの別の部分となっている場合も考えられます。DNSSEC 署名を無効にする手順を実行する前に、使用しているホストゾーンの信頼チェーン全体を調べて判断します。

DNSSEC 署名を有効にしているホストゾーンの信頼チェーンは、署名を無効にする際に慎重に元に戻す必要があります。信頼チェーンからホストゾーンを削除するには、このホストゾーンを含む信頼チェーンに対して配置されているすべての DS レコードを削除します。つまり、以下の操作を、順番に実行する必要があります。

  1. 信頼チェーンの一部である (それぞれの) 子ゾーンについて、親のホストゾーンにある DS レコードをすべて削除します。

  2. 親ゾーンから DS レコードを削除します。信頼の島 (親ゾーンに DS レコードがなく、このゾーンの子ゾーンの DS レコードもありません) がある場合、この手順をスキップします。

  3. 信頼チェーンからゾーンを削除する際に、DS レコードの削除が不可能な場合には、親ゾーンから NS レコードを削除します。詳細については、「ドメインのネームサーバーおよびグルーレコードの追加あるいは変更」を参照してください。

次の増分手順は、ゾーン内の DNS 可用性の問題を回避するために個別手順の有効性を監視することを実現します。

DNSSEC 署名を無効にするには
  1. ゾーンの可用性を監視します。

    ドメイン名の可用性をゾーンで監視できます。これにより、DNSSEC 署名を有効にした後、ステップのロールバックを必要とする問題に対処できます。クエリログを使用してトラフィックが最も多いドメイン名を監視できます。クエリログのセットアップの詳細については、「Amazon Route 53 のモニタリング」をご参照ください。

    監視はシェルスクリプトまたは有料サービスを通じて実行できます。ただし、ロールバックが必要か否かを判断する唯一のシグナルとして見なしてはなりません。また、ドメインが利用できない理由で顧客からフィードバックを得る場合があります。

  2. 現在の DS TTL を検索します。

    以下の Unix コマンドを実行して DS TTL を検索できます:

    dig -t DS example.com example.com

  3. NS TTL の最大値を求めます。

    ゾーンに関連付けられた NS レコードが 2 つのセットあります。

    • NS レコードの委任 - これは、親ゾーンが保持しているお客様ゾーンの NS レコードです。以下の Unix コマンドを実行してこれを検索できます:

      まず親ゾーンの NS を検索します (ゾーンが 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 に注目してください。

  4. 親ゾーンから DS レコードを削除します。

    親ゾーンの所有者に連絡してDS レコードを削除するように依頼します。

    ロールバック方法: DS TTL を再度挿入して DS 挿入が有効であることを確認し、すべてのリゾルバーが再検証を開始する前に最大 NS (DS ではない) TTL を待ちます。

  5. DS の削除が有効であることを確認します。

    親ゾーンが Route 53 DNS サービス上にある場合、親ゾーンの所有者は GetChange API でプロパゲーション全体を確認できます。

    または、親ゾーンの DS レコードを定期的に調査することが可能であり、DS レコードの削除が完全にプロパゲートされる確率を上げるため、さらに 10 分待ちます。一部のレジストラは DS の削除をスケジュール (例えば、1 日 1 回など) していることをご留意ください。

  6. DS TTL を待つ。

    すべてのリゾルバーがキャッシュにある DS レコードの有効期限が切れるまで待ちます。

  7. DNSSEC 署名を無効にしてキー署名キー (KSK) を無効にします。

    CLI

    DisableHostedZoneDNSSEC および DeactivateKeySigningKey API を呼び出します。

    例:

    aws --region us-east-1 route53 disable-hosted-zone-dnssec \ --hosted-zone-id $hostedzone_id aws --region us-east-1 route53 deactivate-key-signing-key \ --hosted-zone-id $hostedzone_id --name $ksk_name
    Console

    DNSSEC 署名を無効にするには

    1. AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

    2. ナビゲーションペインで、[ホストゾーン]をクリックし、DNSSEC 署名を無効にするホストゾーンを選択します。

    3. [DNSSEC signing] (DNSSEC 署名) タブで、[Disable DNSSEC signing] (DNSSEC 署名を無効にする) を選択します。

    4. [Disable DNSSEC signing] (DNSSEC 署名を無効にする) ページで、ゾーンにおける DNSSEC 署名の無効化のシナリオに応じて、次のいずれかのオプションを選択します。

      • 親ゾーンのみ – このゾーンには、DS レコードを持つ親ゾーンがあります。このシナリオでは、親ゾーンの DS レコードを削除する必要があります。

      • 子ゾーンのみ – このゾーンには、1 つまたは複数の子ゾーンが属する信頼チェーンのための DS レコードがあります。このシナリオでは、このゾーンの DS レコードを削除する必要があります。

      • 親ゾーンと子ゾーン – このゾーンには、1 つまたは複数の子ゾーンが属する信頼チェーンのための DS レコード、および DS レコードを持つ親ゾーンの両方があります。このシナリオでは次の操作を順に実行します。

        1. このゾーンの DS レコードを削除します。

        2. 親ゾーンの DS レコードを削除します。

        信頼の島がある場合、この手順をスキップできます。

    5. ステップ 4 で削除する各 DS レコードの TTL の数値を特定し、最も長い TTL 期間が終了していることを確認します。

    6. チェックボックスを選択して、手順を順番通りに実行したことを確認します。

    7. 次に示すように、フィールドに「disable」と入力してから、[Disable] (無効化) を選択します。

    キー署名キー (KSK) を無効にする場合

    1. AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

    2. ナビゲーションペインで [Hosted zones] (ホストゾーン) を選択し、キー署名キー (KSK) を無効にするホストゾーンを選択します。

    3. [Key-signing keys (KSKs)] (キー署名キー (KSK) ) セクションで無効にする KSK を選択します。次に [Actions] (アクション) の下で [Edit KSK] (KSKの編集) を選択し、[KSK status] (KSKステータス) を [Inactive] (非アクティブ) に設定して [Save KSK] (KSKを保存) を選択します。

    ロールバック方法: ActivateKeySigningKey および EnableHostedZoneDNSSEC API を呼び出します。

    例:

    aws --region us-east-1 route53 activate-key-signing-key \ --hosted-zone-id $hostedzone_id --name $ksk_name aws --region us-east-1 route53 enable-hosted-zone-dnssec \ --hosted-zone-id $hostedzone_id
  8. ゾーン署名の無効化が有効になっていることを確認します。

    EnableHostedZoneDNSSEC() の呼び出しに使用した ID で GetChange を実行し、すべての Route 53 DNS サーバーが応答の署名を停止していることを確認します (ステータス = INSYNC)。

  9. 名前解決を確認します。

    リゾルバーがゾーンを検証する問題がないことを確認する必要があります。顧客が問題を報告するために必要な時間も 1~2 週間ぐらい考慮してください。

  10. (オプション) クリーンアップする。

    署名を再有効にしない場合、DeleteKeySigningKey を使用して KSK をクリーンアップし、コスト削減のために該当カスタマーマネージドキーを削除できます。