What is DNSSEC?
BasicsDNSSEC (DNS Security Extensions) is a suite of extensions to DNS that adds cryptographic authentication to DNS responses. It prevents DNS spoofing and cache poisoning attacks by allowing DNS resolvers to verify that DNS data has not been tampered with. Think of it as SSL/TLS for DNS - it provides authenticity and integrity, but not confidentiality.
How does DNSSEC work?
BasicsDNSSEC uses public-key cryptography to sign DNS records. Each zone has a private key to sign records and a public key (DNSKEY) published in DNS. Resolvers use these keys to verify that responses are authentic and haven't been modified. The chain of trust starts at the root zone and extends down through TLDs to your domain.
What are DS records?
RecordsDS (Delegation Signer) records are published in the parent zone and contain a hash of the child zone's DNSKEY. They create a chain of trust from the root zone down to your domain. When you enable DNSSEC, you get DS records that must be added to your domain's parent zone (usually your registrar).
What are DNSKEY records?
RecordsDNSKEY records contain the public keys used for DNSSEC. There are two types: Key Signing Keys (KSK) for signing other keys, and Zone Signing Keys (ZSK) for signing DNS records. The KSK is used to sign the ZSK, and the ZSK signs the actual DNS records.
What are RRSIG records?
RecordsRRSIG (Resource Record Signature) records contain cryptographic signatures for DNS record sets. Each RRSIG covers a specific record type (A, AAAA, MX, etc.) and proves that the records are authentic and haven't been tampered with. Resolvers verify these signatures using the corresponding DNSKEY.
NSEC vs NSEC3
RecordsNSEC and NSEC3 are used for authenticated denial of existence (proving a record doesn't exist). NSEC reveals zone structure by listing all record types, while NSEC3 uses cryptographic hashing to hide zone structure. NSEC3 is generally preferred for security as it prevents zone enumeration attacks.
What is the Chain of Trust?
ConceptsThe chain of trust is the hierarchical validation path from the root zone → TLD → your domain. Each level signs the next level down using DS records. The root zone is the trust anchor that everyone trusts. This chain must be unbroken for DNSSEC validation to succeed.
KSK vs ZSK
ConceptsKey Signing Key (KSK) is a long-lived key (rotated every 1-2 years) used to sign Zone Signing Keys. Zone Signing Key (ZSK) is shorter-lived (rotated every 3 months) and signs actual DNS records. This two-key system allows for more frequent ZSK rotation without affecting the parent zone.
Do I need DNSSEC?
BasicsDNSSEC is recommended for all domains, especially those handling sensitive data, financial transactions, or email. It prevents DNS-based attacks like cache poisoning and man-in-the-middle attacks. Many security standards (like PCI DSS) recommend or require DNSSEC.
What algorithms are supported?
TechnicalCommon DNSSEC algorithms include RSA-SHA256 (algorithm 8), RSA-SHA512 (algorithm 10), ECDSAP256SHA256 (algorithm 13), and ECDSAP384SHA384 (algorithm 14). ECDSA algorithms are preferred for smaller key sizes and better performance. Algorithm 13 is the most common modern choice.
How do I enable DNSSEC?
SetupEnable DNSSEC through your DNS provider or registrar. They'll generate keys and provide DS records. Add these DS records to your domain's parent zone (usually via your registrar's control panel). The process varies by provider but typically takes a few minutes to propagate.
What happens if DNSSEC validation fails?
TroubleshootingIf DNSSEC validation fails, resolvers will return SERVFAIL or refuse to return the DNS data, preventing users from accessing your site. This protects against tampered responses but means any misconfiguration will break your site. Always test thoroughly before enabling.