Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

NSEC3 のサポート

最終更新 Markdown で表示Agent セットアップ

ブログ で説明しているとおり、Cloudflare の NSEC による否定応答の実装は、ゾーンウォーキング1 から保護されています。この実装は Compact Denial of Existence(RFC 9824)とも呼ばれ、NSEC3 が不要になり、効率も大きく向上します。

ただし、コンプライアンス上 NSEC3 が必要な場合は、次の手順で有効にできます。

NSEC3 を有効にする

Edit DNSSEC Status エンドポイント を使い、statusactivednssec_use_nsec3true に設定します。$ で始まる値は、ゾーン ID と認証情報に置き換えてください。Cloudflare API の使い方は Fundamentals を参照してください。

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Edit DNSSEC Statusbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"dnssec_use_nsec3": true,
		"status": "active"
	}'

事前署名済み DNSSEC

事前署名済み DNSSEC 付きで Cloudflare をセカンダリ DNS プロバイダーとして使う場合、dnssec_use_nsec3true にすると、Cloudflare はプライマリ DNS プロバイダーから転送された NSEC3 レコードを使います。

それ以外の場合、NSEC3 レコードはリクエスト時に生成され、署名されます。

NSEC3 が使われていることを確認する

NSEC3 が使われていることを確認するには、次のシナリオを検討してください。

存在しないゾーン名

次のようなコマンドは、非存在の証明に NSEC3 を使う署名付き否定応答を返します。応答の Authority Section にある NSEC3 レコードを確認してください。

dig +dnssec doesnotexist.example.com

存在する名前に対する存在しないレコードタイプ

名前 www は存在するがタイプ TXT が存在しない場合、次の例は NSEC3 を使う署名付き NODATA 応答を返します。応答の Authority Section にある NSEC3 レコードを確認してください。

dig +dnssec www.example.com TXT

提供状況

NSEC3 は Enterprise プランのゾーンでのみ利用できます。

Footnotes

  1. 攻撃者が NSEC の否定応答を悪用して、ゾーン内のすべての名前を取得する手法です。否定応答がチェーン上の前後の名前を示す場合に可能になります。

役に立ちましたか?