説明
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 は無効のままなので、検証に利用する前に署名と親ゾーンへの信頼の連鎖を別途構成してください。