X
X
X
X

Knowledge Base

HomepageKnowledge BaseDomain Name RegistryWhat Is DNSSEC? How to Check DNSSEC...

What Is DNSSEC? How to Check DNSSEC Status for Your Domain

In short: What is DNSSEC? DNSSEC (DNS Security Extensions) is a security extension that digitally signs your domain's DNS records. A validating DNS resolver checks those signatures and rejects forged or altered answers. You can check whether DNSSEC is enabled for your domain with the dig DS command, and whether it works with the ad flag in dig +dnssec output or with tools such as DNSViz.

What is DNSSEC and what does it do?

In plain DNS, a resolver cannot verify that an answer really came from your domain's DNS server or that it was not changed on the way. According to RFC 4033, DNSSEC closes both gaps: it authenticates the origin of the answer and protects the integrity of the data. That makes attacks that try to send visitors to a fake address much harder.

It is just as important to know what DNSSEC does not do: it does not encrypt DNS queries, so it provides no confidentiality, and it does not protect against denial of service (DoS) attacks. It does not replace your site's SSL certificate either.

Which records does DNSSEC use?

DNSSEC adds a few new record types to the familiar A, MX, CNAME and TXT records:

RecordPurpose
DNSKEYHolds the zone's public keys. The key with flag 257 is usually the key signing key (KSK), the one with flag 256 the zone signing key (ZSK).
RRSIGThe digital signature of each record set. The resolver verifies it with the DNSKEY.
DSA digest of your domain's key, published in the parent zone (for example .com). This record builds the chain of trust.
NSEC / NSEC3Proves, with a signature, that a record really does not exist.

How does the DNSSEC chain of trust work?

DNSSEC chain of trust: root, com and example.com zones linked by DS, the ad flag at the resolver and dig commands

Validation starts at the root zone. The root signs the DS record of a top-level domain such as .com, and the .com zone publishes the DS record of your domain. At every step, the resolver checks that the DS record in the parent zone matches the DNSKEY in the child zone. If the whole chain validates, the answer is trusted.

That is why DNSSEC needs two parties: the provider that hosts your domain's DNS signs the zone, and your domain registrar passes the DS record to the parent zone.

How do you check DNSSEC status for your domain?

  1. Look for a DS record: If the command below returns nothing, there is no DS record in the parent zone and DNSSEC is not enabled for your domain. If it returns a line, the values are the key tag, algorithm, digest type and digest.
dig DS yourdomain.com +short
  1. Test validation: Send a query to a validating resolver (for example 1.1.1.1). If you see ad in the flags: line and the answer includes an RRSIG record, DNSSEC is validating.
dig +dnssec yourdomain.com A @1.1.1.1
  1. Use an online tool: DNSViz draws the chain of trust from the root to your domain and highlights the broken link. The Verisign DNSSEC Debugger also checks each step one by one.

We explain how to use dig in detail in our guide to checking DNS with dig and nslookup.

How should you read the results?

What you seeWhat it means
No DS record, no ad flagDNSSEC is not enabled. Your domain works with plain DNS.
DS record present, ad flag presentDNSSEC is enabled and validating.
Answer is SERVFAIL, but an answer comes back with +cdMost likely a DNSSEC error, for example a DS record that does not match the DNSKEY. Validating resolvers cannot resolve your domain.
dig +cd yourdomain.com A @1.1.1.1

The +cd option asks the resolver to skip validation. If you get an answer with this option but not without it, the problem is not in your records but in the DNSSEC signatures or the DS record.

What should you watch out for with DNSSEC enabled?

  • Changing nameservers: Before you change your nameservers, plan how the DS record will be updated for the new provider's keys. If the old DS record stays in place, your domain will not resolve on validating resolvers.
  • Domain transfers: Run the same check when your DNS provider also changes during a domain transfer.
  • Ask for help: To enable DNSSEC or update the DS record, talk to the provider that hosts your domain's DNS and to your registrar.

Frequently Asked Questions

Does DNSSEC make my site faster or slower?

DNSSEC adds signatures to answers, so the answers get slightly larger. On most sites visitors will not notice a difference; the goal is correct answers, not speed.

Does DNSSEC replace an SSL certificate?

No. DNSSEC makes sure DNS answers are genuine, while an SSL certificate encrypts the connection between the browser and your site. The two complement each other.

Why can I not see the ad flag in dig output?

Only resolvers that validate DNSSEC set the ad flag. Send the query to a validating resolver such as 1.1.1.1. If your domain has no DS record, the ad flag will not appear anyway.

Can't find the information you are looking for?

Create a Support Ticket
Did you find it useful?
(10 times viewed / 0 people found it helpful)

Powered by WISECP
Top