Wat is DNSSEC? DNS Security Extensions uitgelegd
DNSSEC (DNS Security Extensions) is een set uitbreidingen die cryptografische authenticatie toevoegt aan DNS-antwoorden. Zonder DNSSEC kan een aanvaller DNS-antwoorden vervalsen en verkeer naar kwaadaardige servers omleiden — een techniek die bekendstaat als DNS-cachevergiftiging.
Het probleem dat DNSSEC oplost
Standaard-DNS is ontworpen zonder aan beveiliging te denken. Wanneer je computer vraagt "wat is het IP-adres van bank.com?", vertrouwt hij het antwoord dat hij krijgt. Een aanvaller tussen jou en de DNS-server kan een vals antwoord injecteren en je naar een phishingsite leiden.
DNSSEC lost dit op doordat DNS-zones hun records met een privésleutel ondertekenen. Resolvers kunnen de handtekening met de bijbehorende publieke sleutel verifiëren, waarmee vaststaat dat het antwoord van de rechtmatige zone-eigenaar komt.
Hoe DNSSEC werkt
- De zone-eigenaar genereert een sleutelpaar (DNSKEY-records) en ondertekent alle DNS-records met de privésleutel, wat RRSIG-records oplevert
- De publieke sleutel (DNSKEY) wordt in het DNS gepubliceerd
- Een hash van de publieke sleutel (DS-record) wordt aan de bovenliggende zone aangeleverd (.com, .org enz.)
- Ook de bovenliggende zone is ondertekend, tot aan de rootzone
- Wanneer een resolver een DNS-antwoord ontvangt, volgt hij de vertrouwensketen vanaf de root om de handtekeningen te verifiëren
DNSSEC-recordtypen
| Record Type | Purpose |
|---|---|
DNSKEY | De publieke ondertekeningssleutel van de zone |
DS | Hash van de DNSKEY van de onderliggende zone, opgeslagen in de bovenliggende zone |
RRSIG | Cryptografische handtekening over een set DNS-records |
NSEC / NSEC3 | Bewijs dat een record niet bestaat (denial of existence) |
De vertrouwensketen
DNSSEC bouwt een vertrouwensketen van de rootzone tot de afzonderlijke domeinen:
Root zone (.) ← Trust anchor, key is published by IANA
└─ .com zone ← Signed, DS record in root zone
└─ example.com ← Signed, DS record in .com zone
└─ DNS records ← Signed with example.com's keyDe sleutel van de rootzone (het "trust anchor") is ingebouwd in resolvers die DNSSEC valideren. Dat is het startpunt van elke verificatie.
DNSSEC versleutelt het verkeer NIET
Een veelvoorkomend misverstand: DNSSEC authenticeert DNS-antwoorden maar encrypt ze niet. DNS-query's en -antwoorden worden nog steeds onversleuteld verstuurd. Gebruik voor privacy:
- DNS-over-HTTPS (DoH) — versleutelt DNS-verkeer via HTTPS
- DNS-over-TLS (DoT) — versleutelt DNS-verkeer via TLS
DNSSEC inschakelen voor je domein
- Controleer of je DNS-hostingprovider DNSSEC-ondertekening ondersteunt
- Schakel DNSSEC-ondertekening in in het configuratiescherm van je DNS-provider
- Je provider genereert DNSKEY-records en ondertekent je zone
- Kopieer de DS-recordwaarden die je DNS-provider laat zien
- Lever het DS-record aan bij je domeinregistrar (meestal via zijn configuratiescherm)
- Wacht op propagatie (kan tot 48 uur duren)
Controleer je DNSSEC-status
Zie de theorie in de praktijk — voer DNSSEC-controle uit voor je eigen domein.