DNS Security Extensions(DNSSEC) ↗ は、DNS レコードに暗号署名を追加してセキュリティを高めます。複数プロバイダーを使い、Cloudflare がセカンダリの場合、Cloudflare が配信するレコードに DNSSEC を有効にする方法がいくつかあります。
- Multi-signer DNSSEC: Cloudflare とプライマリ DNS プロバイダーが互いの署名鍵を把握し、RFC 8901 ↗ に従って、それぞれが DNS レコードをライブ署名します。
- ライブ署名: ドメインがプライマリプロバイダーのネームサーバーに委任されておらず、Cloudflare のセカンダリネームサーバーだけが DNS クエリに権威的に応答する(hidden primary セットアップ)場合、このオプションを選ぶと、Cloudflare が DNS レコードをライブ署名できます。
- 事前署名: プライマリ DNS プロバイダーがレコードに署名し、署名を転送します。Cloudflare はこれらのレコードと署名をそのまま配信し、署名は行いません。初期値では、Cloudflare は NSEC レコード ↗ を使い、NSEC3 は使いません。必要な場合は NSEC3 サポート を参照してください。また、事前署名 DNSSEC は Secondary DNS Overrides と Load Balancing に対応していません。
multi-signer DNSSEC を設定する を参照し、Cloudflare as Secondary に関する注意を踏まえて手順に従ってください。
Cloudflare のセカンダリネームサーバーだけが DNS クエリに権威的に応答する(hidden primary セットアップ)場合、ライブ署名 DNSSEC を有効にすると、Cloudflare がゾーンのレコードに署名します。
このセットアップでは、プライマリ DNS プロバイダー側の DNSSEC を有効にする必要はありません。
-
Cloudflare ダッシュボードで、DNS Settings ページを開きます。
Settings を開く ↗ -
DNSSEC with Secondary DNS の下で Live signing を選びます。レジストラで DS レコードを作成するために必要な値が表示されます。
-
レジストラに DS レコードを追加します。Cloudflare が推奨する暗号である Algorithm 13 がレジストラに表示されない場合は、ECDSA Curve P-256 with SHA-256 という名前で掲載されていることもあります。
プロバイダー別の DNSSEC 手順
網羅的な一覧ではありませんが、次のリンクが参考になる場合があります。
- Edit DNSSEC Status エンドポイント を使い、ゾーンの
statusをactiveに設定します。
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"status": "active"
}'-
DNSSEC Details エンドポイント を使い、レジストラで DS レコードを作成するために必要な値を取得します。
-
レジストラに DS レコードを追加します。Cloudflare が推奨する暗号である Algorithm 13 がレジストラに表示されない場合は、ECDSA Curve P-256 with SHA-256 という名前で掲載されていることもあります。
プロバイダー別の DNSSEC 手順
網羅的な一覧ではありませんが、次のリンクが参考になる場合があります。
- Cloudflare 上のセカンダリゾーンがすでに存在し、プライマリ DNS プロバイダーからのゾーン転送が正しく動作していること。
- プライマリ DNS プロバイダーが NSEC と NSEC3 のどちらを使うかを確認し、必要に応じて NSEC3 サポート を有効にしていること。
- プライマリ DNS プロバイダーが RRSIG、DNSKEY、NSEC などの DNSSEC 関連レコードを転送すること。
- プライマリ DNS プロバイダーで DNSSEC を有効にします。
- Dashboard または API を使い、Cloudflare 上のゾーンで DNSSEC を有効にします。
-
Cloudflare ダッシュボードで、DNS Settings ページを開きます。
Settings を開く ↗ -
DNSSEC with Secondary DNS の下で Pre-signed を選びます。
Edit DNSSEC Status エンドポイント を使い、dnssec_presigned の値を true に設定します。
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"dnssec_presigned": true
}'-
レジストラに Cloudflare ネームサーバーが追加されていることを確認します。Cloudflare ネームサーバーは、ダッシュボードの DNS Records ↗ ページで確認できます。
-
レジストラに DS レコードが追加されていることを確認します。DS レコードはプライマリ DNS プロバイダー(ゾーンの署名者)から取得し、ゾーンで DNSSEC が有効であることを DNS リゾルバーに示します。