私はネームサーバーにDNSSECを実装することを検討する任務を負っています。これの技術的な側面(キーの生成、ゾーンの署名、ロールオーバーの準備)は比較的簡単ですが、私はロジスティックの問題に遭遇しました。さまざまなネームサーバーでさまざまなDNSSEC実装を実行しようとしています。
DNSSECゾーン署名キー(ZSK)は、すべてのネームサーバーで同じである必要がありますか?もしそうなら、なぜですか?
特定のゾーンに対して権限のあるすべてのネームサーバーを意味する場合は、キーを共有する必要があります。これは、DNSKEYレコードとして公開され、再帰的な検証クライアントが署名をチェックするために使用するためです。
これで、ネームサーバーAはZSK AのDNSKEY +すべてのRRSIGをZSKAで公開でき、ネームサーバーBはZSK B +すべてのRRSIGをZSKBで公開できます。それぞれがKSKのDNSKEYを持ち、RRSIGが関連するKSKのZSK。
DNSSECがネームサーバーを検証するには、キーと署名の正しいパスを少なくとも1つ見つける必要があります。したがって、理論的には、nameserverAのみにヒットし、そこからすべてのレコードを取得する再帰ネームサーバーは、レコードを検証するために必要なすべてのものをそこから取得できます。 onlynameserverBにヒットした場合も同じです。
ただし、問題はonlyの部分と、物事がキャッシュされ、再帰ネームサーバーが1つの権威ネームサーバーに「ロック」されないという事実にあります。さまざまなアルゴリズムに応じて切り替えます。解決するネームサーバーのキャッシュには、たとえばDNSKEY AとBのRRSIGを含むデータが混在している可能性があります。そうすると、検証は失敗します。
つまり、これが確実に機能するのであれば、私は非常に驚きます。
これについては、このドキュメントで詳しく説明します。 https://datatracker.ietf.org/doc/draft-huque-dnsop-multi-provider-dnssec/?include_text=1 ドメイン名は、解決のために同時に複数のDNSプロバイダーを使用できますが、それでも適切なDNSSEC管理があり、誰が署名するかによってさまざまなシナリオがあります。
それをテストすることはできますが、Håkanが言ったように、この問題が発生する前に別の問題があるようです。
DNSSECゾーン署名キー(ZSK)は、すべてのネームサーバーで同じである必要がありますか?もしそうなら、なぜですか?
ゾーン署名キー(ZSK)とキー署名キー(KSK)は、ネームサーバーのいずれにも存在する必要はありません必要。
DNSSECの設計により、ネームサーバーは、クエリされたレコードの存在の拒否を証明するための新しいレコードを含む、事前に署名されたレコードを使用してクエリに応答できます。
ZSKは、ゾーンファイルに署名するホストが所有する必要があり、残りのネームサーバーは、マスタースレーブネームサーバーセットアップを介して渡すことができる新しい署名済みゾーンのコピーを必要とします。
簡単なセットアップは、マスターネームサーバーにZSKを配置することです。スレーブネームサーバーは、ゾーンに署名していない場合、ZSKを知る理由がありません。
編集:HåkanLindqvistが述べたように、ZSKとKSKは技術的にはすべてのネームサーバー上にありますが、事前署名されたゾーンファイルのDNSKEYレコードの形式のキーの公開部分のみです。上記のKSKとZSKに言及したとき、私は秘密にされることを意図した鍵の秘密の部分を意味しました。