DNSSEC 署名の無効化
Route 53 で DNSSEC 署名を無効にする手順は、ホストゾーンが属する信頼チェーンによって異なります。
例えば、信頼チェーンの一部として、自分のホストゾーンには、Delegation Signer (DS) レコードを持つ親ゾーンが存在する場合があります。またホストゾーンは、DNSSEC 署名を有効にしている子ゾーンの親ゾーンにもなり得るが、信頼チェーンの別の部分となっている場合も考えられます。DNSSEC 署名を無効にする手順を実行する前に、使用しているホストゾーンの信頼チェーン全体を調べて判断します。
DNSSEC 署名を有効にしているホストゾーンの信頼チェーンは、署名を無効にする際に慎重に元に戻す必要があります。信頼チェーンからホストゾーンを削除するには、このホストゾーンを含む信頼チェーンに対して配置されているすべての DS レコードを削除します。つまり、以下の操作を、順番に実行する必要があります。
-
信頼チェーンの一部である (それぞれの) 子ゾーンについて、親のホストゾーンにある DS レコードをすべて削除します。
-
親ゾーンから DS レコードを削除します。信頼の島 (親ゾーンに DS レコードがなく、このゾーンの子ゾーンの DS レコードもありません) がある場合、この手順をスキップします。
信頼チェーンからゾーンを削除する際に、DS レコードの削除が不可能な場合には、親ゾーンから NS レコードを削除します。詳細については、「ドメインのネームサーバーおよびグルーレコードの追加あるいは変更」を参照してください。
次の増分手順は、ゾーン内の DNS 可用性の問題を回避するために個別手順の有効性を監視することを実現します。
DNSSEC 署名を無効にするには
-
ゾーンの可用性を監視します。
ドメイン名の可用性をゾーンで監視できます。これにより、DNSSEC 署名を有効にした後、ステップのロールバックを必要とする問題に対処できます。クエリログを使用してトラフィックが最も多いドメイン名を監視できます。クエリログのセットアップの詳細については、「Amazon Route 53 のモニタリング」をご参照ください。
監視はシェルスクリプトまたは有料サービスを通じて実行できます。ただし、ロールバックが必要か否かを判断する唯一のシグナルとして見なしてはなりません。また、ドメインが利用できない理由で顧客からフィードバックを得る場合があります。
-
現在の DS TTL を検索します。
以下の Unix コマンドを実行して DS TTL を検索できます:
dig -t DS example.com
example.com
-
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 に注目してください。
-
-
親ゾーンから DS レコードを削除します。
親ゾーンの所有者に連絡してDS レコードを削除するように依頼します。
ロールバック方法: DS レコードを再度挿入して DS 挿入が有効であることを確認し、すべてのリゾルバーが再検証を開始する前に最大 NS (DS ではない) TTL を待ちます。
-
DS の削除が有効であることを確認します。
親ゾーンが Route 53 DNS サービス上にある場合、親ゾーンの所有者は GetChange API でプロパゲーション全体を確認できます。
または、親ゾーンの DS レコードを定期的に調査することが可能であり、DS レコードの削除が完全にプロパゲートされる確率を上げるため、さらに 10 分待ちます。一部のレジストラは DS の削除をスケジュール (例えば、1 日 1 回など) していることをご留意ください。
-
DS TTL を待つ。
すべてのリゾルバーがキャッシュにある DS レコードの有効期限が切れるまで待ちます。
-
DNSSEC 署名を無効にしてキー署名キー (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
-
ゾーン署名の無効化が有効になっていることを確認します。
EnableHostedZoneDNSSEC()
の呼び出しに使用した ID で GetChange を実行し、すべての Route 53 DNS サーバーが応答の署名を停止していることを確認します (ステータス =INSYNC
)。 -
名前解決を確認します。
リゾルバーがゾーンを検証する問題がないことを確認する必要があります。顧客が問題を報告するために必要な時間も 1~2 週間ぐらい考慮してください。
-
(オプション) クリーンアップする。
署名を再有効にしない場合、DeleteKeySigningKey を使用して KSK をクリーンアップし、コスト削減のために該当カスタマーマネージドキーを削除できます。