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

信頼チェーンを維持しながら、推奨される DNSSEC アルゴリズムへ移行してください。

説明

RSASHA1 は DNSSEC 署名に SHA-1 を使い、新たな署名には推奨されません。DNSSEC を有効にしていても、アルゴリズムと鍵の設定が組織の暗号要件を満たすか確認してください。

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

想定される影響

  • 古い署名アルゴリズムがセキュリティ要件を満たさない場合があります。
  • 変更時に鍵と DS レコードが一致しないと、名前解決が停止するおそれがあります。

対処方法

  • Cloud DNS と検証クライアントが対応する推奨アルゴリズムを選び、鍵署名とゾーン署名の両方を設定してください。
  • 署名済みゾーンでは公式の DS・TTL 移行手順に従ってください。default_key_specs は off 状態で変更し、その後の署名と検証を確認してください。

例

署名を有効にする前の鍵設定を比較します。両方とも state = "off" で、DNSSEC は有効にしません。名前とドメインを実際の値に置き換え、実際の移行手順に合わせて鍵と親の信頼チェーンを設定してください。

変更前

hcl
resource "google_dns_managed_zone" "example" {
  name     = "example-zone"
  dns_name = "example.com."

  dnssec_config {
    state = "off"
    default_key_specs {
      algorithm  = "rsasha1"
      key_type   = "keySigning"
      key_length = 2048
    }
    default_key_specs {
      algorithm  = "rsasha1"
      key_type   = "zoneSigning"
      key_length = 2048
    }
  }
}

変更後

hcl
resource "google_dns_managed_zone" "example" {
  name     = "example-zone"
  dns_name = "example.com."

  dnssec_config {
    state = "off"
    default_key_specs {
      algorithm  = "rsasha256"
      key_type   = "keySigning"
      key_length = 2048
    }
    default_key_specs {
      algorithm  = "rsasha256"
      key_type   = "zoneSigning"
      key_length = 2048
    }
  }
}

補足:

  • 変更前: 両方の鍵の種類に RSASHA1 を選びますが、ゾーンの署名は無効です。
  • 変更後: 両方に RSASHA256 を選びます。保護を利用するには、署名と親 DS レコードを別途設定する必要があります。

参考資料