
09
DNSSEC Explained: What Is DNS Security and How Does It Work
Learn what DNSSEC is, how DNS digital signatures work, what DNSKEY and DS records do, and how DNSSEC helps protect DNS responses from tampering.
DNS helps browsers and applications find the servers associated with domain names. But how can a DNS resolver verify that the DNS information it receives has not been altered?
DNSSEC stands for Domain Name System Security Extensions. It adds cryptographic signatures to DNS data so validating resolvers can verify the authenticity and integrity of signed DNS responses.
In this guide, you will learn what DNSSEC is, how it works, which DNS records it uses, and what to check before enabling it for your domain.
What Is DNSSEC?
DNSSEC is a set of extensions to DNS that allows DNS data to be digitally signed and validated. It helps a validating resolver determine whether signed DNS information can be trusted as authentic and has not been modified in transit.
Traditional DNS was not originally designed with cryptographic validation of DNS responses. DNSSEC adds that capability through public-key cryptography and a chain of trust.
DNSSEC does not encrypt DNS queries or hide the domains you look up. Its main purpose is to provide authentication and integrity for DNS data.
Why Is DNSSEC Important?
DNS information helps direct users to websites, email servers, and other internet services. If an attacker can successfully manipulate a DNS response, a user or application may be directed to an unintended destination.
DNSSEC helps address certain DNS data manipulation attacks by allowing validating resolvers to verify cryptographic signatures.
Its benefits include:
- DNS data authentication: validating resolvers can check that signed DNS data matches the relevant cryptographic keys.
- Data integrity: modifications to signed data can cause signature validation to fail.
- Authenticated denial of existence: DNSSEC can provide signed evidence that certain DNS records or names do not exist.
- A chain of trust: DS records can connect a child zone's DNSSEC keys to its parent zone.
DNSSEC does not guarantee that a website is safe, prevent every DNS attack, or protect the content of a web connection. HTTPS and other security controls serve different purposes.
How Does DNSSEC Work?
DNSSEC uses digital signatures and public keys to validate DNS information.
- The DNS zone is signed. The zone operator uses private cryptographic keys to create signatures for DNS data.
- Public keys are published. DNSKEY records publish the keys needed to verify the signatures.
- The parent zone publishes a DS record. The Delegation Signer record connects the child zone's key information to the parent zone's DNSSEC chain.
- A validating resolver retrieves DNS data. It obtains the relevant records and signatures.
- The resolver validates the chain. It checks the signatures and follows the chain of trust toward a trusted starting point.
- The response is accepted or rejected. Valid data can be returned normally. Data that fails validation may be treated as a DNSSEC validation failure.
The exact queries and records involved depend on the domain, its DNS hierarchy, and the resolver's existing cache.
Read More: Related DNS Guides
- DNS Lookup: How to Check DNS Records — learn how to inspect common DNS records.
- DNS Propagation Explained — understand why DNS changes may take time to appear.
- DNS Cache Explained — learn how DNS caching affects lookup results.
Important DNSSEC Records Explained
1. DNSKEY
A DNSKEY record publishes a public key used in DNSSEC validation. A zone can have different keys for different roles, such as a Zone Signing Key (ZSK) and a Key Signing Key (KSK), depending on its configuration.
2. DS Record
A DS record stands for Delegation Signer. It is published in the parent zone and contains a digest derived from a DNSKEY record in the child zone.
The DS record helps the validating resolver establish a cryptographic link between the parent and child zones.
3. RRSIG
An RRSIG record contains a cryptographic signature covering a DNS resource record set. A validating resolver uses the appropriate public key and signature information to check the data.
4. NSEC and NSEC3
NSEC and NSEC3 records support authenticated denial of existence. They allow a validating resolver to verify signed evidence that a requested name or record does not exist in a signed zone.
NSEC and NSEC3 use different approaches to representing this information. Neither one should be treated as a general-purpose privacy mechanism for DNS data.
DNSSEC vs. Traditional DNS
Traditional DNS can return records without providing DNSSEC cryptographic validation. DNSSEC adds signatures and validation to supported zones.
- Traditional DNS: resolves domain names but does not inherently provide DNSSEC signature validation.
- DNSSEC: allows validating resolvers to verify the authenticity and integrity of signed DNS data.
DNSSEC does not replace ordinary DNS records such as A, AAAA, CNAME, MX, or TXT. It adds security-related records and validation processes around DNS data.
Does DNSSEC Encrypt DNS Traffic?
No. DNSSEC provides data authentication and integrity, not confidentiality.
Depending on the DNS transport being used, DNS queries may still be visible to network observers. DNS over HTTPS (DoH) and DNS over TLS (DoT) can encrypt the connection between a client and its resolver, but they do not replace DNSSEC validation.
DNSSEC, DoH, and DoT address different security concerns and may be used together.
How to Enable DNSSEC for a Domain
The exact process depends on your DNS provider and domain registrar. Some providers manage DNSSEC automatically, while others require you to enable signing and publish DS information separately.
- Check provider support. Confirm that your authoritative DNS provider supports DNSSEC signing.
- Enable DNSSEC signing. Follow the provider's instructions to sign the zone and obtain the required DS information.
- Publish the DS record. Add the correct DS values at the registrar or parent-zone management interface when required.
- Verify the configuration. Check that the published DS record matches the active DNSKEY configuration.
- Test DNSSEC validation. Use a validating resolver or DNSSEC diagnostic tool to check the chain of trust.
- Monitor future key changes. Follow your provider's instructions when keys are rotated or DNS hosting changes.
Do not copy a DS record from another domain or use sample values. DS data must match the DNSKEY information for your own zone.
Common DNSSEC Problems and How to Fix Them
1. Incorrect DS record
Problem: The DS record at the registrar does not match the relevant DNSKEY information in the child zone.
Fix: Compare the DS values with those supplied by your DNS provider. Correct the parent-zone configuration using the provider's current instructions.
2. DNSSEC validation failure
Problem: A validating resolver rejects DNS data because the signature or chain of trust cannot be validated.
Fix: Check the DS and DNSKEY records, signature validity periods, and authoritative DNS responses. Use a DNSSEC diagnostic tool to identify the failing step.
3. Expired signatures
Problem: A required RRSIG record is no longer valid.
Fix: Confirm that the authoritative DNS provider is correctly renewing signatures and that its signing service is operating normally.
4. Changing DNS providers without updating DNSSEC
Problem: A domain is moved to another DNS provider, but the existing DS record no longer matches the new provider's keys.
Fix: Follow a coordinated DNSSEC migration procedure. Verify the new zone and DS information before removing old signing data or changing delegation.
5. DNS records appear correct but the domain does not resolve
Problem: DNS records exist, but validating resolvers report an error.
Fix: Check the full DNSSEC chain. A domain may have valid-looking A or MX records but still fail validation because its signatures or delegation information are incorrect.
How to Check Whether DNSSEC Is Working
Checking ordinary DNS records is not enough to confirm that DNSSEC validation is successful. You need to inspect the DNSSEC-related records and test the chain of trust.
Useful checks include:
- Inspect the domain's DNSKEY records.
- Check whether a DS record is published at the parent zone when required.
- Inspect RRSIG records and signature validity.
- Use a DNSSEC-aware diagnostic tool to test validation.
- Compare results from a validating resolver with the authoritative DNS configuration.
You can use the AuraTools DNS Lookup to inspect DNS information. For a full DNSSEC validation diagnosis, use a tool that explicitly checks signatures and the chain of trust rather than relying only on a basic record lookup.
DNSSEC Best Practices
- Use a DNS provider that supports reliable DNSSEC signing.
- Publish the correct DS information at the parent zone.
- Follow the provider's key rotation and migration procedures.
- Monitor DNSSEC validation and signature status.
- Test DNSSEC before and after changing DNS providers.
- Keep account access secure for both the registrar and DNS provider.
- Do not assume that DNSSEC encrypts DNS queries or proves a website is trustworthy.
Frequently Asked Questions
What does DNSSEC stand for?
DNSSEC stands for Domain Name System Security Extensions. It adds cryptographic signatures and validation to DNS data.
Is DNSSEC required for every website?
DNSSEC is not universally required for every domain. Whether and how to enable it depends on the domain's DNS provider, registrar, operational requirements, and security goals.
Does DNSSEC prevent DNS spoofing?
DNSSEC can help validating resolvers detect forged or altered DNS data that fails cryptographic validation. It does not prevent every attack against DNS infrastructure or every form of website impersonation.
What is the difference between DNSKEY and DS?
DNSKEY publishes public-key information in a DNS zone. DS is published in the parent zone and contains a digest that links the parent to a DNSKEY in the child zone.
Can DNSSEC break a website?
Incorrect DNSSEC configuration can cause validating resolvers to reject DNS responses. This can make a domain appear unavailable to users whose resolvers enforce DNSSEC validation.
Does DNSSEC improve website ranking?
DNSSEC is a DNS security measure, not a guaranteed search-ranking improvement. It should be implemented for appropriate security and operational reasons rather than as a shortcut to higher search rankings.
Conclusion
DNSSEC helps protect DNS data by adding digital signatures and a chain of trust. It allows validating resolvers to detect certain forms of DNS data tampering and verify authenticated denial of existence.
To use DNSSEC safely, enable it through a supported DNS provider, publish the correct DS information, and test validation after configuration changes. Remember that DNSSEC complements other security measures; it does not encrypt DNS traffic or replace HTTPS.
For related DNS troubleshooting, use the AuraTools DNS Lookup to inspect DNS records for your domain.
Contact
Missing something?
Feel free to request missing tools or give some feedback using our contact form.
Contact Us