INTEGRITY Cloudflare Docs

DNSSEC options

DNS Security Extensions (DNSSEC) increase security by adding cryptographic signatures to DNS records. When you use multiple providers and Cloudflare is secondary, you have a few options to enable DNSSEC for records served by Cloudflare.


Set up multi-signer DNSSEC

Refer to Set up multi-signer DNSSEC and follow the instructions, considering the note about Cloudflare as Secondary.


Set up live signing DNSSEC

If you use Cloudflare secondary nameservers as the only nameservers authoritatively responding to DNS queries (hidden primary setup), you can enable live signing DNSSEC to have Cloudflare sign the records for your zone.

In this setup, DNSSEC on your primary DNS provider does not need to be enabled.

  1. In the Cloudflare dashboard, go to the DNS Settings page.

    Go to Settings ↗
  2. Under DNSSEC with Secondary DNS select Live signing. You will then have access to several necessary values to create a DS record at your registrar.

  3. Add the DS record to your registrar. If Algorithm 13 - Cloudflare's preferred cipher choice - is not listed by your registrar, it may also be called ECDSA Curve P-256 with SHA-256.

    Provider-specific DNSSEC instructions

    This is not an exhaustive list, but the following links may be helpful:

  1. Use the Edit DNSSEC Status endpoint and set a status of active for your zone.

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Edit DNSSEC Status
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"status": "active"
	}'
  1. Use the DNSSEC Details endpoint to get the necessary values to create a DS record at your registrar.

  2. Add the DS record to your registrar. If Algorithm 13 - Cloudflare's preferred cipher choice - is not listed by your registrar, it may also be called ECDSA Curve P-256 with SHA-256.

    Provider-specific DNSSEC instructions

    This is not an exhaustive list, but the following links may be helpful:


Set up pre-signed DNSSEC

Prerequisites

Steps

  1. Enable DNSSEC at your primary DNS provider.
  2. Enable DNSSEC for your zone at Cloudflare, using either the Dashboard or the API.
  1. In the Cloudflare dashboard, go to the DNS Settings page.

    Go to Settings ↗
  2. Under DNSSEC with Secondary DNS select Pre-signed.

Use the Edit DNSSEC Status endpoint and set the dnssec_presigned value to true.

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Edit DNSSEC Status
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"dnssec_presigned": true
	}'
  1. Make sure Cloudflare nameservers are added at your registrar. You can see your Cloudflare nameservers on the dashboard by going to the DNS Records page.

  2. Make sure there is a DS record added at your registrar. The DS record is obtained from your primary DNS provider (the signer of the zone) and is what indicates to DNS resolvers that your zone has DNSSEC enabled.