DNSSEC
VerdedigingDomain Name System Security Extensions. Beveiligingsoplossing om een aanval op een domeinnaam tegen te gaan. In vaktaal heet dit DNS-spoofing. Bij zo'n aanval stuurt men bijvoorbeeld een bezoeker van een bepaalde website door naar een valse website. Een domeinnaamhouder kan met DNSSEC een digitale handtekening toevoegen aan DNS-informatie. Met deze handtekening kan een Internetgebruiker onzichtbaar en volledig automatisch de inhoud en de ontvangen DNS-informatie valideren. Hierdoor is met grote waarschijnlijkheid vast te stellen dat het antwoord van de DNS onderweg niet is gemanipuleerd door derden.
DNSSEC (Domain Name System Security Extensions) is een beveiligingsuitbreiding van het DNS-protocol die de authenticiteit en integriteit van DNS-antwoorden garandeert door middel van cryptografische handtekeningen. Zonder DNSSEC is DNS kwetsbaar voor manipulatie: aanvallers kunnen DNS-antwoorden vervalsen en gebruikers ongemerkt omleiden naar kwaadaardige websites die identiek lijken aan de echte site. Dit heet DNS-spoofing of cache poisoning en is een van de meest onderschatte dreigingen op het internet. DNSSEC voorkomt dit door elke DNS-reactie digitaal te ondertekenen, waardoor de ontvanger kan verifieren dat het antwoord afkomstig is van de juiste autoritatieve bron en niet onderweg is aangepast door een aanvaller. SIDN, de beheerder van het .nl-domein, heeft DNSSEC volledig operationeel voor alle .nl-domeinen, waarmee Nederland internationaal vooroploopt in DNS-beveiliging.
Hoe werkt DNSSEC?
DNSSEC werkt met asymmetrische cryptografie, vergelijkbaar met het principe van digitale handtekeningen bij e-mail of documenten. De beheerder van een DNS-zone genereert een cryptografisch sleutelpaar: een private sleutel die geheim blijft en veilig wordt opgeslagen, en een publieke sleutel die via DNS wordt gepubliceerd in een DNSKEY-record. De private sleutel ondertekent elk DNS-record in de zone, wat resulteert in een RRSIG-record (Resource Record Signature) dat naast het oorspronkelijke DNS-record wordt opgeslagen.
Wanneer een DNS-resolver een query stuurt voor een domein dat met DNSSEC is beveiligd, ontvangt deze het gevraagde record samen met de bijbehorende RRSIG-handtekening en het DNSKEY-record met de publieke sleutel. De resolver verifieert de handtekening met de publieke sleutel door een cryptografische berekening uit te voeren. Als de verificatie slaagt, weet de resolver dat het antwoord authentiek is, afkomstig van de juiste bron en niet is gemanipuleerd tijdens het transport. Als de verificatie faalt, wordt het antwoord verworpen en krijgt de gebruiker een foutmelding in plaats van naar een vervalste website te worden geleid.
De vertrouwensketen (chain of trust) loopt van de rootzone van het internet via de TLD-zone (bijvoorbeeld .nl, .com of .eu) naar het individuele domein. Elk niveau ondertekent de publieke sleutels van het niveau eronder via DS-records (Delegation Signer). Deze hierarchische keten zorgt ervoor dat de authenticiteit van DNS-records van elk domein cryptografisch traceerbaar is tot aan de rootzone, die wordt beheerd door ICANN en IANA met een formeel ondertekeningsceremonie dat regelmatig wordt uitgevoerd onder streng toezicht.
DNSSEC gebruikt twee typen sleutels met verschillende rollen en levenscycli. De Zone Signing Key (ZSK) ondertekent de individuele DNS-records in de zone en wordt relatief frequent gewisseld, doorgaans elke 1 tot 3 maanden. De Key Signing Key (KSK) ondertekent de ZSK zelf en vormt het vertrouwensanker dat via het DS-record is verankerd bij de bovenliggende zone. De KSK wordt minder vaak gewisseld, doorgaans jaarlijks, vanwege de complexiteit van het bijwerken van het DS-record bij de registrar. Regelmatige key rollover is essentieel om de beveiliging op lange termijn te waarborgen en compromittering van sleutels te voorkomen.
Hoe implementeer je DNSSEC?
De implementatie van DNSSEC begint met het controleren of je DNS-provider of nameserversoftware DNSSEC ondersteunt. Populaire DNS-serversoftware zoals BIND, Knot DNS en NSD ondersteunen DNSSEC volledig en bieden tools voor automatische sleutelgeneratie en zone-ondertekening. Veel managed DNS-providers zoals Cloudflare, AWS Route 53, TransIP en Combell bieden DNSSEC als optie die je met enkele klikken activeert in hun beheerpaneel, waardoor handmatige configuratie niet nodig is.
Bij handmatige implementatie op eigen nameservers genereer je eerst het sleutelpaar (KSK en ZSK) met je DNS-serversoftware. Vervolgens onderteken je de zonefile, waarmee RRSIG-records worden aangemaakt voor elk DNS-record in de zone. Je publiceert het DS-record bij je domeinregistrar, die het doorgeeft aan de TLD-zone. Na publicatie verifieren DNSSEC-validerende resolvers de volledige keten van handtekeningen bij elke DNS-query voor je domein.
Test de implementatie grondig voordat je DNSSEC in productie neemt. Gebruik tools zoals DNSViz voor visuele weergave van de chain of trust, Verisign DNSSEC Debugger voor automatische controles of dig +dnssec voor handmatige verificatie. Controleer of de handtekeningen correct zijn, de chain of trust intact is en alle records juist zijn ondertekend. Een fout in de DNSSEC-configuratie kan ervoor zorgen dat je domein onbereikbaar wordt voor alle resolvers die DNSSEC valideren, wat ernstiger is dan helemaal geen DNSSEC hebben.
Plan een key rollover-strategie en documenteer deze grondig. De ZSK wissel je doorgaans elke 1 tot 3 maanden, de KSK jaarlijks. Automatiseer dit proces waar mogelijk met tools zoals OpenDNSSEC om menselijke fouten te voorkomen. Houd rekening met de TTL (Time to Live) van DNS-records bij het plannen van rollovers, zodat oude en nieuwe sleutels voldoende lang naast elkaar bestaan voor een naadloze overgang zonder onderbrekingen in de bereikbaarheid van je domein.
Best practices voor DNSSEC
Activeer DNSSEC voor al je domeinen, niet alleen voor je primaire website. Subdomeinen, e-maildomeinen en interne domeinen profiteren eveneens van DNSSEC-bescherming. Combineer DNSSEC met andere DNS-beveiligingsmaatregelen zoals DNS over HTTPS (DoH) of DNS over TLS (DoT) voor zowel integriteit als vertrouwelijkheid van DNS-verkeer. DNSSEC beschermt namelijk alleen de integriteit en authenticiteit van DNS-antwoorden, niet de vertrouwelijkheid: zonder DoH of DoT kan een waarnemer nog steeds zien welke domeinen je opvraagt.
Monitor je DNSSEC-configuratie continu met geautomatiseerde monitoring. Stel alerts in voor verlopen handtekeningen, fouten in de chain of trust en afwijkingen in DNS-verkeer. Verlopen RRSIG-records leiden tot onbereikbaarheid van je domein voor alle validerende resolvers, wat de meerderheid van de moderne DNS-resolvers omvat. Gebruik monitoring tools die automatisch waarschuwen wanneer handtekeningen dreigen te verlopen of wanneer DNSSEC-validatie faalt, idealiter meerdere dagen voordat een handtekening daadwerkelijk verloopt.
Implementeer ook DANE (DNS-based Authentication of Named Entities) in combinatie met DNSSEC voor extra beveiliging. DANE koppelt TLS-certificaten aan domeinnamen via TLSA DNS-records, waardoor je minder afhankelijk bent van externe certificaatautoriteiten voor de validatie van TLS-verbindingen. Dit verhoogt de beveiliging van e-mail via SMTP DANE en webverkeer, en beschermt tegen aanvallen waarbij een gecompromitteerde certificaatautoriteit valse certificaten uitgeeft voor je domein.
Documenteer je volledige DNSSEC-configuratie, sleutelbeheerproces, rollover-procedures en noodprocedures voor het snel deactiveren van DNSSEC bij problemen. Zorg dat meerdere teamleden het proces kennen en zelfstandig kunnen uitvoeren, ook buiten kantoortijden. Train het operationele team in het herkennen en oplossen van DNSSEC-gerelateerde problemen. Neem DNSSEC-verificatie op in je incident response-procedures voor DNS-gerelateerde incidenten en voer jaarlijks een test uit van de rollover- en noodprocedures.
Veelgestelde vragen over DNSSEC
Beschermt DNSSEC tegen alle DNS-aanvallen?
Nee. DNSSEC beschermt tegen manipulatie van DNS-antwoorden zoals spoofing en cache poisoning, maar niet tegen DDoS-aanvallen op DNS-servers, DNS tunneling of zone enumeration. Combineer DNSSEC met DDoS-bescherming, rate limiting en DNS-monitoring voor volledige dekking.
Vertraagt DNSSEC het laden van websites?
De vertraging is minimaal, doorgaans minder dan een milliseconde per DNS-query. DNS-responses zijn iets groter door de toegevoegde handtekeningen en sleutels, maar moderne resolvers cachen gevalideerde antwoorden. In de praktijk merken gebruikers geen verschil in laadtijden.
Hoeveel .nl-domeinen gebruiken DNSSEC?
Nederland loopt internationaal voorop in DNSSEC-adoptie. SIDN heeft DNSSEC volledig operationeel voor de .nl-zone. Het percentage .nl-domeinen met actieve DNSSEC-ondertekening groeit gestaag, mede doordat grote hostingpartijen zoals TransIP DNSSEC standaard activeren bij nieuwe domeinen.
Wat gebeurt er als DNSSEC fout geconfigureerd is?
Een foutieve configuratie kan ervoor zorgen dat je domein onbereikbaar wordt voor alle resolvers die DNSSEC valideren, wat tegenwoordig de meeste grote publieke resolvers zijn. Test altijd grondig in een staging-omgeving en houd een rollback-plan klaar.
Is DNSSEC verplicht voor overheidsorganisaties?
In Nederland is DNSSEC opgenomen in de "pas toe of leg uit"-lijst van het Forum Standaardisatie. Overheidsorganisaties moeten DNSSEC implementeren of gemotiveerd uitleggen waarom ze het niet doen. NORA adviseert DNSSEC als verplichte standaard voor alle overheids-ICT.
Implementeer DNSSEC met de juiste partner. Bekijk Webbeveiliging en DNS Filtering op IBgidsNL.