Cloud DNS の DNSSEC 署名アルゴリズムの確認

推奨される DNSSEC 署名アルゴリズムを使用し、信頼の連鎖を維持して移行してください。

説明

RSASHA1 は SHA-1 を使用する DNSSEC 署名アルゴリズムで、新しい署名には推奨されません。サービスが受け付けるアルゴリズムでも、組織の暗号要件と現在のセキュリティ推奨事項を満たすか確認する必要があります。

DNSSEC は DNS データの出所と完全性を検証し、通信内容を暗号化する機能ではありません。アルゴリズムの変更は、ゾーンの署名と親ゾーンの DS レコードの両方に関係します。

想定される影響

  • 古い署名アルゴリズムを使い続けると、暗号のセキュリティ要件を満たさない場合があります。
  • 移行時にキーや DS レコードが一致しないと、検証の失敗で名前解決が中断するおそれがあります。

対処方法

Cloud DNS と検証するクライアントが対応する推奨アルゴリズムへ移行してください。default_key_specs にキー署名用とゾーン署名用の設定を正しく指定してください。既に署名中のゾーンでは Cloud DNS の手順に従って DS レコードと TTL を調整し、実際の名前解決を確認してください。

例

DNSSEC を有効にする前のキー設定を比較します。default_key_specs は DNSSEC が無効な状態で変更できます。ゾーン、プロジェクト、サービスアカウントの JSON ファイルへのパスを実際の値に置き換えてください。

変更前

yaml
- name: create a managed zone
  google.cloud.gcp_dns_managed_zone:
    name: test-zone
    dns_name: test.somewild2.example.com.
    description: test zone
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present
    dnssec_config:
      default_key_specs:
        - algorithm: rsasha1
          key_type: keySigning
          key_length: 2048
        - algorithm: rsasha1
          key_type: zoneSigning
          key_length: 2048
      state: "off"

キー署名用とゾーン署名用のキーに rsasha1 を指定します。state が "off" のため、この例自体は DNSSEC 署名を有効にしません。

変更後

yaml
- name: create a managed zone
  google.cloud.gcp_dns_managed_zone:
    name: test-zone
    dns_name: test.somewild2.example.com.
    description: test zone
    project: test_project
    auth_kind: serviceaccount
    service_account_file: /tmp/auth.pem
    state: present
    dnssec_config:
      default_key_specs:
        - algorithm: rsasha256
          key_type: keySigning
          key_length: 2048
        - algorithm: rsasha256
          key_type: zoneSigning
          key_length: 2048
      state: "off"

両方のキー種別に rsasha256 を指定します。DNSSEC は無効のままなので、検証に利用する前に署名と親ゾーンへの信頼の連鎖を別途構成してください。

参考資料