Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

概要

最終更新 Markdown で表示Agent セットアップ

Multi-signer DNSSEC には 2 つのモデルがあります。異なる権威 DNS プロバイダーが同じゾーンを提供し、同時に DNSSEC を有効にできます。

これにより、DNS レコードのライブ署名(クエリ時)が必要な DNS 機能との互換性が高まります。また、DNSSEC を無効にせずにゾーンを Cloudflare へ移行 できます。

RFC 8901 に記載のいずれかのモデルで、Multi-signer DNSSEC を設定 できます。

仕組み

Multi-signer DNSSEC は、DNSSEC 検証に必要な信頼の連鎖に着目し、複数のプロバイダーが関与しても検証が完了するようにします。

検証が問題になる例は、リゾルバーがあるプロバイダーの DNSKEY レコードセット をキャッシュしている一方で、別のプロバイダーが署名した応答を受け取った場合です。

その場合の問題を避けるため、Multi-signer DNSSEC を設定するときは、次を調整します。

  1. 各 DNS プロバイダーが DNSKEY レコードセットに持つ Zone Signing Key(ZSK)。
  2. Secure Entry Point(SEP)、Key Signing Key(KSK)、Delegation Signer(DS)レコードの担当者。

これらの設定を、(a) 関係するすべてのプロバイダーが互いの公開 Zone Signing Key(ZSK)を持ち、(b) Delegation Signer(DS)レコードが必要な Key Signing Key(KSK)を参照するように調整すると、複数プロバイダーによるゾーンのライブ署名は問題になりません。

モデル 1

どちらのモデルでも、すべてのプロバイダーが互いの Zone Signing Key(ZSK)を DNSKEY レコードセットに追加します。モデル 1 では、その DNSKEY レコードセットの署名に使う Key Signing Key(KSK)は 1 つだけです。この KSK の管理と、DS レコードによる参照(つまり Secure Entry Point)は、ゾーン所有者、またはゾーン所有者が指定した 1 つのプロバイダーの責任です。

モデル 2

一方、モデル 2 では、各プロバイダーが自身の KSK で自身の DNSKEY レコードセットに署名します。これらの KSK は DS レコード(Secure Entry Point)から参照されます。


Multi-signer DNSSEC をオンにしたときの動作

Cloudflare で Multi-signer DNSSEC をオンにすると、次の変更が起きます。

  1. 内部フラグ: Cloudflare が内部フラグを立て、ゾーンへ DNSKEY レコードを追加できるようにします。
  2. 外部 ZSK の取り込み: セカンダリプロバイダーの DNSKEY レコードを追加すると、Cloudflare はそれらを DNSKEY RRset に含めます。
  3. Cloudflare の KSK による署名: Cloudflare は外部 ZSK を Cloudflare の KSK で署名し、Multi-signer DNSSEC モデル 2 の RRset を作ります。
  4. CDS/CDNSKEY の生成: もう一方のプロバイダーの KSK を追加すると(必須ではありませんが推奨します)、Cloudflare は検証ツールとの互換性のために CDS/CDNSKEY RRset を生成します。

この構成により、DS レコードで参照される適切な KSK ですべての ZSK DNSKEY が署名されるため、リゾルバーはどちらのプロバイダーからの応答も検証できます。


ベストプラクティス

Multi-signer DNSSEC を設定するときは、スムーズな導入のために次のベストプラクティスに従ってください。

モデル 2 を使う

Cloudflare は、マルチ署名者のセットアップにモデル 2 を推奨します。このモデルでは、各プロバイダーが自身の KSK DNSKEY を持つため、DS レコードは 2 つ(プロバイダーごとに 1 つ)になります。独立性と柔軟性が高くなります。

DNSKEY フラグを理解する

  • ZSK(Zone Signing Key): フラグ 256
  • KSK(Key Signing Key): フラグ 257

プロバイダー間で鍵を交換するときは、正しい種類の鍵(通常は ZSK)を DNSKEY RRset に追加していることを確認してください。

TTL を守る

DNSKEY と DS レコードを変更したあとは、次の手順に進む前に必ず TTL の期間だけ待ってください。キャッシュされたレコードが期限切れになり、新しいレコードが有効になるまで待つことで、検証失敗を防げます。

プロバイダーの互換性を確認する

すべての DNS プロバイダーが、外部 DNSKEY を自社の DNSKEY RRset に追加できるわけではありません。マルチ署名者の移行を始める前に、次を確認してください。

  • もう一方のプロバイダーが Multi-signer DNSSEC に対応していること。
  • Cloudflare の ZSK を相手の DNSKEY レコードに追加できること。
  • 可能なら、本番以外の環境で構成をテストすること。

サードパーティのプロバイダーの一部は、必要な機能に対応していないことがあります。

十分にテストする

Multi-signer DNSSEC では、複数のプロバイダー間で暗号鍵を調整します。本番へ展開する前に、次を行ってください。

  1. 両方のプロバイダーが、互いの ZSK を DNSKEY RRset に持っていることを確認します。
  2. 両方の DS レコードがレジストラに存在することを確認します。
  3. DNSSEC 検証ツールを使い、両方のプロバイダーからの解決をテストします。
  4. 移行期間中は、検証エラーを監視します。

役に立ちましたか?