What Is DNSSEC and Should You Enable It?
A clear guide to DNSSEC: how cryptographic signatures protect DNS from spoofing, what it does and does not do, how to check it, and whether to enable it.
DNSSEC is the security layer that lets the internet verify a DNS answer is genuine. The Domain Name System — which translates names like example.com into the IP addresses computers connect to — was designed without authentication, so a resolver historically had no way to be certain an answer had not been forged. DNSSEC (DNS Security Extensions) fixes that by adding cryptographic signatures to DNS records, so resolvers can verify the data is authentic and unaltered. This guide explains what DNSSEC does (and importantly, what it does not do), how its chain of trust works, how to check it, the tradeoffs, and whether you should enable it.
It sits at the same infrastructure layer as how to find out where a website is hosted and the email-authentication records in SPF, DKIM and DMARC explained — all public, all checkable once you know how.
The problem DNSSEC solves
When your browser needs to reach example.com, a chain of DNS resolvers looks up the domain and returns an IP address. In plain DNS, the resolver simply trusts the answer it receives — there is no built-in way to confirm the response genuinely came from the domain's real authoritative servers and was not forged along the way.
That gap enables two related attacks:
- DNS spoofing — an attacker sends a forged DNS response, tricking a resolver or client into accepting a malicious IP address, so users typing the correct domain are silently sent to a server the attacker controls.
- Cache poisoning — a forged answer is inserted into a resolver's cache, so that every user relying on that resolver is misdirected until the cache entry expires. One successful poisoning can affect many users.
The danger is obvious: if an attacker can control the IP your domain resolves to, they can route your visitors to a fake site to phish credentials or serve malware, and the address bar still shows your real domain. DNSSEC closes this by making forged answers detectable — a resolver that validates DNSSEC will reject an answer whose signature does not check out.
What DNSSEC does — and does not — do
This distinction is the single most important thing to understand about DNSSEC, because it is widely misunderstood.
DNSSEC provides:
- Authentication — proof that a DNS answer genuinely came from the authoritative source.
- Integrity — proof that the answer was not modified in transit.
- Authenticated denial of existence — a verifiable way to prove a record does not exist (so attackers cannot forge "no such record" answers either).
DNSSEC does NOT provide:
- Encryption / privacy. DNSSEC does not hide your DNS queries or answers — they remain readable on the network. Anyone observing the traffic can still see which domains are being looked up.
Keeping DNS lookups private is a different problem, solved by DNS over HTTPS (DoH) and DNS over TLS (DoT), which encrypt the queries between client and resolver. DNSSEC and DoH/DoT are complementary, not competing: DNSSEC proves the answer is genuine; DoH/DoT keep the question and answer confidential. A fully modern setup can use both. If you remember one thing from this article, make it this: DNSSEC authenticates, it does not encrypt.
How the chain of trust works
DNSSEC builds trust the same way the web's certificate system does — a chain anchored at a trusted root. The mechanism uses a few record types:
- RRSIG — the cryptographic signature over a set of DNS records (an "RRset"). Every signed record set has an accompanying RRSIG.
- DNSKEY — the public keys used to verify those signatures, published in the zone. (Zones typically use a Key Signing Key and a Zone Signing Key, which is why you may see more than one.)
- DS (Delegation Signer) — a hash of your zone's signing key, placed in the parent zone. This is the crucial link: it is how your TLD vouches for your domain's keys.
Trust flows downward from the DNS root:
- Validating resolvers trust the root zone's key (the root is signed, and its key is well known).
- The root signs the TLD (e.g.
.com), vouching for it via a DS record. - The TLD holds a DS record for your domain, vouching for your zone's keys.
- Your zone's DNSKEY verifies the RRSIG signatures on your actual records.
A validating resolver walks this chain from the root down, checking each signature and DS link. If every link validates, the answer is authentic and the resolver sets the ad (authenticated data) flag. If any link is broken — most commonly a missing or mismatched DS record at the parent — validation fails. The DS record is therefore the make-or-break step: signing your zone is not enough; the matching DS must be published at your parent (usually via your registrar) to complete the chain.
How to check DNSSEC
You can verify any domain's DNSSEC status from the outside.
1. dig +dnssec from a terminal. Run:
dig +dnssec example.com
Look for RRSIG records accompanying the answer — their presence means the zone is signed. If you query through a validating resolver, also look for the ad flag in the response header, which indicates the answer was successfully authenticated. To inspect the keys and delegation directly, you can also query dig DNSKEY example.com and dig DS example.com.
2. Online DNSSEC analysers. Several web tools fetch and validate a domain's DNSSEC chain and present the result visually, which is far easier to read than raw dig output. They show whether the zone is signed and whether the chain validates from the root.
3. Verisign's DNSSEC Debugger. Verisign provides a well-known DNSSEC debugger that traces the chain of trust from the root down to your domain and highlights exactly where any break occurs — invaluable when validation is failing and you need to know whether the problem is a missing DS record, an expired signature, or a key mismatch.
A clean result shows a fully signed zone with a validating chain; a failure usually points at the DS record at the parent or an expired signature. Broader infrastructure audits often note DNS and DNSSEC status alongside hosting and other signals, giving you the DNSSEC picture in context — see how to find out where a website is hosted for the wider infrastructure view, and how to read a website's HTTP headers for what the server layer reveals.
The tradeoffs
DNSSEC is a clear security win, but it is not free of cost, and it is fair to weigh the downsides:
| Consideration | Detail |
|---|---|
| Provider support | Needs both your registrar and DNS host to support DNSSEC; quality of support varies |
| Key management | Keys must be rotated and signatures kept fresh; expired signatures break resolution |
| The DS handoff | The DS record at the parent must match your keys, and stays correct across key changes |
| Response size | Signed responses are larger, which can matter in rare edge cases |
| Misconfiguration risk | A botched setup can make a domain fail to resolve for validating users — a self-inflicted outage |
The recurring theme is operational complexity. The cryptography is sound; the risk is human and procedural — a lapsed signature or a mismatched DS record can take your domain offline for anyone using a validating resolver. The good news is that modern registrars and managed DNS providers increasingly automate signing, key rotation and the DS handoff (sometimes a single toggle), which removes most of the manual error. Where that automation exists, the tradeoff tilts firmly toward enabling it.
Should you enable DNSSEC?
For most domains, yes — provided your registrar and DNS provider support it well. The decision really hinges on provider support:
- If your DNS host and registrar offer well-integrated, automated DNSSEC (one-click signing with managed keys and an automatic DS handoff), the operational risk is low and the protection against spoofing and cache poisoning is worth having. Enable it.
- If support is partial or manual — for instance, your DNS host can sign the zone but you must manually publish and maintain the DS record at a registrar that handles it awkwardly — weigh the added operational burden against the benefit, and make sure you have a process to keep keys and the DS record in sync.
It is especially worth enabling for high-value domains — anything handling logins, payments, or sensitive data, and for organisations where domain integrity is critical. DNSSEC is also the foundation for DANE, which can bind TLS certificates to DNS, so signing your zone unlocks future capabilities too. The core point: DNSSEC meaningfully raises the bar against a real class of attack, and with good provider support the historical objection — operational fragility — largely disappears.
A quick checklist
- Confirm your registrar and DNS provider both support DNSSEC, ideally with automation.
- Enable signing for your zone (often a single setting on managed DNS).
- Ensure the DS record is published at the parent and matches your keys.
- Validate the chain with
dig +dnssec, an online analyser, or Verisign's debugger. - If managing keys manually, put a process in place for rotation and signature freshness so nothing expires.
- Consider pairing with DoH/DoT for privacy, remembering they solve a different problem.
Go deeper
- The wider infrastructure view: how to find out where a website is hosted.
- The email equivalent of DNS-based security: SPF, DKIM and DMARC explained.
- Securing the connection: what is HTTPS and why your site needs it.
- Read what a server reveals: how to read a website's HTTP headers.
Want your domain's DNS, hosting and security signals checked in one place? Analyse any URL with StackOptic — free, no sign-up.
Frequently asked questions
What is DNSSEC?
DNSSEC (Domain Name System Security Extensions) is a set of extensions that add cryptographic signatures to DNS records. Normally DNS answers are unauthenticated, so a resolver cannot be sure an answer is genuine. DNSSEC lets the zone owner sign records and lets resolvers verify those signatures, confirming the data is authentic and has not been tampered with in transit. It protects against attacks like DNS spoofing and cache poisoning, where forged answers redirect users to malicious servers.
Does DNSSEC encrypt my DNS traffic?
No. This is the most common misconception. DNSSEC provides authentication and integrity — proof that a DNS answer is genuine and unmodified — but it does not encrypt the queries or answers, which remain visible on the network. Keeping DNS lookups private is the role of separate technologies: DNS over HTTPS (DoH) and DNS over TLS (DoT). DNSSEC and DoH/DoT solve different problems and can be used together; one authenticates the data, the others hide it.
How does the DNSSEC chain of trust work?
DNSSEC signs each set of records, producing an RRSIG signature, and publishes the public signing keys in a DNSKEY record. To prove those keys are legitimate, a hash of the key (a DS record) is placed in the parent zone, which is itself signed. This links your domain's keys upward through your TLD to the DNS root, whose key is trusted by validating resolvers. A resolver follows that chain from the root down, verifying each link, to confirm an answer is authentic.
How do I check if a website has DNSSEC enabled?
From a terminal, run 'dig +dnssec example.com' and look for RRSIG records accompanying the answer and the 'ad' (authenticated data) flag when querying a validating resolver. For a clearer verdict, use an online DNSSEC analyser or Verisign's DNSSEC debugger, which check whether the zone is signed and whether the chain of trust validates correctly from the root. These tools also pinpoint chain problems, such as a missing or mismatched DS record at the parent.
Should I enable DNSSEC for my domain?
For most domains it is worth enabling if your registrar and DNS provider support it well, because many now automate the key management and DS-record handling that used to make it error-prone. The benefit is protection against DNS spoofing and the foundation it provides for technologies like DANE. The tradeoffs are added operational complexity (mismanaged keys can take a domain offline) and slightly larger DNS responses, so good provider support is the deciding factor.
Analyse any website with StackOptic
Get the full technology stack, performance, security and SEO report in seconds — free.
Analyse a websiteRelated articles
How to Check a Website for Malware
A practical guide to checking any website for malware: the free external scanners to use, the signs of infection, server-side checks, and what to do next.
What Is a Data Breach and How to Respond
A plain-English guide to data breaches: what counts as one, the common causes, a step-by-step incident-response plan, the GDPR 72-hour rule, and prevention.
How to Protect Your Website from Bots and Scrapers
Not all bots are bad. Tell good crawlers from abusive scrapers, spot the signals of bot traffic, and layer rate limiting, CAPTCHA, a WAF and bot management.