DNSSEC

ドメイン・ネーム・システム・セキュリティ拡張(DNSSEC)は、DNSルックアップ・レスポンスの暗号化認証を提供します。

DNSはもともと DNSトラフィックを暗号化または認証するように設計されていなかったため、DNSプロトコルは悪意のある応答や偽装された応答に対する保護を提供しません。DNSSECは、このような攻撃から顧客を保護するために、DNSにセキュリティ拡張機能を追加します。DNSSECでは、暗号化検証を使用して、リゾルバが各DNSレスポンスの整合性(転送中にメッセージが変更されなかった)と信頼性(データが予想されるソースから取得された)の両方を検証できることを確認します。DNSSECでは、DNS問合せに対するレスポンスは暗号化されません。一般的な情報については、DNSSEC RFCリファレンスを参照してください。

個々のパブリック・ゾーンでOCI DNSSECを設定および管理できます。DNSSECでは署名を検証するための検証リゾルバが必要であり、ゾーン階層内のすべてのDNSプロバイダ/レジストラがDNSSECをサポートしている必要があります。OCI DNSSECでは、キー長が256バイトの署名アルゴリズムRSASHA256および委任アルゴリズムSHA256が使用されます。

DNSSECに関連付けられた特定のレコード・タイプは、DNSKEY、DS、NSEC3およびRRSIGです。NSEC3およびRRSIGレコードはコンソールまたはAPIに表示されませんが、問合せレスポンスに含まれます。DSレコードは、設定およびロールオーバー・プロセスの一部として作成および更新します。DNSサービスはDNSKEYレコードを自動的に作成および管理しますが、レコードTTLを変更できます。

OCI DNSSECでは、動的(インライン)署名を使用します。動的署名では、RRSIGおよびNSEC3レコードは、問合せに応答するネーム・サーバーによって生成されます。

制限事項および考慮事項

DNSゾーンに DNSSECを設定する前に、次の重要な情報を考慮してください。
  • DNSSECはプライベート・ゾーンではサポートされていません。
  • セカンダリ・ゾーンでDNSSECを使用するには、プライマリDNSプロバイダでDNSSECを有効にする必要があります。
  • 既存のDNSSEC署名付きゾーンをOCIに移行するには、まずゾーンでDNSSECを無効にします。次に、レコードをOCIゾーンにコピーします。最後に、OCIゾーンでDNSSECを有効にします。
  • ゾーンに DNSSECとセカンダリエグレスを持つことはサポートされていません。DNSSECを使用する外部プロバイダからOCIゾーンへのセカンダリ・イングレスを使用できますが、外部プロバイダはゾーンの署名を担当します。
  • DNSSECは、ゾーンでALIAS、CNAME、トラフィック管理などの高度な機能とともに使用できます。
  • DNSは、UDPを使用してデータを送信できない場合、フォールバックメカニズムとしてTCPポート53を使用します。従来のDNSは、ゾーン転送などの操作にTCP 53を使用します。DNSSECまたはDNSをAAAAなどのIPv6レコードとともに使用すると、DNSデータがTCPで送信される可能性が高くなります。

DNSSECの概念

DNSSEC状態
ゾーンで DNSSECが有効か無効かを示すゾーンのプロパティー。
DNSSEC構成
DNSSEC鍵バージョンに関する情報を含むゾーンのプロパティー。
DNSSECキーバージョン
ゾーン署名キー(ZSK)またはキー署名キー(KSK)の関連情報。
ZSK(ゾーン署名キー)
ゾーン内のすべての非DNSKEY RRsetsの署名に使用されるキー。
KSK(キー署名キー)
ゾーン内の DNSKEY RRsetの署名に使用される鍵。親ゾーンとの信頼チェーンを確立します。
信頼チェーン
ルートゾーンから始まる署名付きゾーンの連続チェーン。信頼チェーンは、子ゾーンのDNSKEYレコードと親のDSレコードによって形成されます。信頼チェーンは、DNSSEC署名付きゾーンからゾーン階層の上位ゾーン、ルートゾーンに移動します。チェーンは、非対称暗号化によって署名で検証されます。
ロールオーバー
古いDNSSECキー・バージョンを中断することなく新しいDNSSECキー・バージョンに置き換えるための、慎重に調整された一連のステップ。ロールオーバーを参照してください。
ステージング
ロールオーバー・プロセスのステップ。既存のDNSSECキー・バージョンを置き換えることができるように、新しいDNSSECキー・バージョンを導入します。
昇格
ロールオーバー・プロセスのステップ。新しいKSKに関する必要な情報を親ゾーンDSレコードに追加したことをOCIに通知します。
公開時間
DNSSEC鍵バージョンのプロパティー。指定された時間に始まるゾーンにDNSKEYレコードが存在することを示します。
アクティブ化された時間
DNSSEC鍵バージョンのプロパティー。指定された時間に開始するゾーンに鍵が署名されていることを示します。
無効化された時間
DNSSEC鍵バージョンのプロパティー。指定された時間に開始するゾーンに鍵が署名されなくなったことを示します。
未公開の時間
DNSSEC鍵バージョンのプロパティー。指定された時間から始まるゾーンにDNSKEYレコードが存在しなくなったことを示します。
期限切れ時間
DNSSEC鍵バージョンのプロパティー。DNSSEC鍵バージョンの削除がスケジュールされている時間。

開始

DNSSECを動作させるには、ルートからゾーンまでの有効な信頼チェーンが必要です。開始する前に、親ゾーンおよび子ゾーンのレジストラおよびすべてのDNSプロバイダがDNSSECおよびDSレコードをサポートしていることを確認してください。

DNSSECの有無にかかわらず、プロセスの前後にドメインの解決を監視することをお勧めします。DNSSEC構成を検証するために使用できる便利なツールは、BINDのDigおよびDelvツールDNSViz、または DNS Analyzerです。

始める前に、DNSSECセットアッププロセス全体をよく理解してください。

DNSSECの設定

  1. ゾーンを作成し、作成時に DNSSECを有効にします。または、既存のゾーンを更新して DNSSECを有効にします作業リクエストが正常に完了するまで待機してから続行します。
  2. KSKダイジェスト情報を含むDSレコードを委任の時点で親ゾーンに作成します。親ゾーンは、OCIのゾーンまたは別のDNSプロバイダにできます。
  3. DSレコードが作成されたら、KSKをプロモートします。このステップでは、ステップ2を完了し、自動化を続行できることをOCIに通知します。
  4. アラームを作成して、必要なロールオーバー・アクションを完了できるように、新しいKSKバージョンが生成されたときに警告します。

ロールオーバー

ロールオーバーは、新しいDNSSECキー・バージョンを導入し、中断することなく古いDNSSECキー・バージョンを削除するプロセスです。ZSKとKSKの両方のロールオーバー・プロセスは、公開キー暗号化に関するセキュリティのベスト・プラクティスに準拠しています。置換キーは、有効期限の1週間前に生成されます。

stage DNSSEC key操作は、スケジュールより前に置換キー・バージョンを作成するためにいつでも使用できます。1つのゾーンで一度に最大10個のキー・バージョンを持つことができます。どちらのキー・タイプでも、1つのキー・ロールオーバーを実行することをお薦めします。
ノート

デフォルトのロールオーバー・パターンは、OCIによって変更される可能性があります。デフォルト・パターンの外部で1回かぎりのキー・ロールオーバーをリクエストするには、「リクエストのサポート」をクリックします。

ZSKロールオーバー

ZSKは、デフォルトで30日ごとに自動的にロールオーバーされます。まず、代替のZSKキー・バージョンが作成されます。その後、古いZSKキー・バージョンが削除されます。置換ZSKをスケジュールより前にステージングする場合は、そのZSKロールオーバーが正常に完了するまで待ってから、別のZSKをステージングして2番目のロールオーバーを開始します。これにより、ZSKまたはレコードTTL(存続時間)キャッシュのタイミングの違いにより、サービスの中断を回避できます。

KSKロールオーバー

KSKロールオーバーは、交換用のDNSSECキー・バージョンが作成されると毎年開始されます。設定ステップ4で作成したアラームとコンソールの通知により、新しいKSKにプロモーションが必要であることが通知されます。サービスの中断を回避するには、新しいDNSKEYレコードが作成された後、古いDSレコードを削除する前に、DNSKEYレコードのTTLが期限切れになるまで待機する必要があります。次の2つの方法のいずれかで続行できます:
  • 新しいDNSKEYレコードが作成されたら、DNSKEYレコードのTTLが期限切れになるまで待ちます。次に、新しいDSレコードを追加し、古いDSレコードを同時に削除します。
  • 新しいDNSKEYレコードが作成されたら、すぐに新しいDSレコードを追加します。次に、DNSKEYレコードのTTLを待機した後、古いDSレコードを別のステップとして削除します。

切断の親側にDSレコードがないと、通常はトラフィックが中断されることはありませんが、子ゾーンに署名する必要がある一連の信頼を確立できません。そのため、古いDSレコードをすぐに削除するか、新しいDSレコードを追加する前に削除すると、その期間、ゾーンは DNSSECの使用を停止します。

キー署名キー(KSK)のロールオーバーを参照してください。

タイミング

DNSSEC署名付きゾーンで許容される最大TTLは1日です。ロールオーバー・プロセスでは、続行する前にTTLの有効期限が切れるまで待機する必要がある場合があるため、この制限により、ロールオーバー中のサービスが中断されることはありません。

親ゾーンのDNSKEYレコードには、1時間のTTLを使用することをお勧めします。KSKのロールオーバーでは、プロセスの特定のステップでDNSKEYのTTLを待機します。TTLが大きすぎる場合、ロールオーバー期間内でロールオーバーを完了できないため、中断が発生します。

親ゾーンでDSレコードを作成する場合は、1時間のTTLを使用することをお薦めします。レジストラまたはDNSプロバイダが1時間のTTLをサポートしていない場合は、その推奨事項に従ってください。DSレコードのTTLの決定方法の詳細は、DNSSEC RFCリファレンスのDS署名有効期間を参照してください。

レコードの変更は、問合せレスポンスで使用できるようになるまで、プロビジョニングに時間がかかります。レコード変更の待機時間を推定するときに、レコードのプロビジョニング時間を考慮します。