Het Domain Name System is gebouwd om snel te zijn. Het is niet gebouwd om veilig te zijn. Toen DNS in de jaren tachtig werd ontworpen, dacht niemand aan een wereld waarin aanvallers DNS-antwoorden zouden proberen na te maken om je bezoekers naar nepwebsites te sturen. DNSSEC, kort voor DNS Security Extensions, is gemaakt om dat gat te dichten. Het voegt digitale handtekeningen toe aan DNS-records, zodat elk antwoord van een DNS-server als authentiek kan worden gecontroleerd voordat de browser het vertrouwt.
Wat is DNSSEC?
DNSSEC is een set beveiligingsuitbreidingen op het DNS-protocol. Het werkt door een cryptografische handtekening te koppelen aan elk DNS-record van je domein. Zoekt een resolver je domein op, dan controleert hij of de handtekening klopt voordat hij het antwoord accepteert. Ontbreekt de handtekening of klopt hij niet, dan wordt het antwoord afgewezen. Dat voorkomt dat aanvallers valse DNS-antwoorden in het systeem kunnen stoppen.
DNSSEC verandert niet hoe DNS werkt. Het opzoekproces is hetzelfde. Je domein wordt nog steeds via een keten van DNS-servers omgezet naar een IP-adres. Het verschil is dat elke stap in die keten nu kan worden gecontroleerd. De resolver vertrouwt het antwoord niet zomaar. Hij controleert een cryptografische handtekening om te bevestigen dat het antwoord van een bevoegde bron kwam en onderweg niet is aangepast.
Welk probleem lost DNSSEC op?
Zonder DNSSEC worden DNS-antwoorden zonder meer geaccepteerd. Er is geen ingebouwde manier om te controleren of het antwoord van de juiste server kwam of onderweg is veranderd. Dat geeft ruimte voor een specifiek type aanval dat DNS cache poisoning heet, ook wel DNS-spoofing genoemd.
Bij een cache-poisoningaanval stuurt een aanvaller vervalste DNS-antwoorden naar een resolver voordat het legitieme antwoord aankomt. De resolver slaat het valse antwoord op in zijn cache en geeft het aan iedereen die dat domein opzoekt. Elke bezoeker die je domein in zijn browser typt, wordt naar een server gestuurd die de aanvaller beheert in plaats van naar je echte website.
De nepsite kan er identiek uitzien als de jouwe. Bezoekers vullen misschien inloggegevens, betaalgegevens of persoonlijke informatie in zonder door te hebben dat ze op een heel andere server zitten. De aanval is onzichtbaar voor de bezoeker, omdat de URL in zijn browser nog steeds je domeinnaam toont.
DNSSEC voorkomt dit door vervalste antwoorden detecteerbaar te maken. Klopt de handtekening niet, dan wijst de resolver het antwoord af en wordt de bezoeker niet naar een nepbestemming gestuurd.
Hoe werkt DNSSEC?
DNSSEC gebruikt een systeem van publieke en private sleutels om DNS-records te ondertekenen. Zo werkt het proces op hoofdlijnen.
Schakel je DNSSEC in, dan maakt je DNS-aanbieder een paar cryptografische sleutels voor je domein. De private sleutel wordt gebruikt om een digitale handtekening voor elk DNS-record te maken. De publieke sleutel wordt zelf als DNS-record gepubliceerd, zodat resolvers erbij kunnen.
Als een resolver je domein opvraagt, ontvangt hij het DNS-antwoord samen met de handtekening. De resolver gebruikt dan de publieke sleutel om te controleren of de handtekening bij de gegevens in het antwoord past. Klopt alles, dan wordt het antwoord vertrouwd. Is de handtekening ongeldig of ontbreekt hij, dan behandelt de resolver het antwoord als onbetrouwbaar en geeft hij het niet door aan de browser.
Deze verificatie werkt via een vertrouwensketen. De publieke sleutel van je domein wordt in de bovenliggende zone genoemd in een DS-record (Delegation Signer). Is je domein bijvoorbeeld yourbrand.com, dan bevat de .com-zone een DS-record dat naar de publieke sleutel van je domein wijst. De .com-zone zelf is ondertekend en wordt geverifieerd door de rootzone. Elk niveau in de keten valideert het niveau eronder, helemaal van de root tot je specifieke domein.
Wat gebeurt er zonder DNSSEC?
Zonder DNSSEC is elk DNS-antwoord dat je domein geeft, niet ondertekend. Resolvers accepteren het antwoord dat het eerst binnenkomt, zonder te kunnen bevestigen dat het van een legitieme bron komt. Dat betekent dat een goed gepositioneerde aanvaller valse antwoorden in het systeem kan stoppen en je bezoekers kan omleiden zonder dat er alarm gaat.
Voor de meeste kleine websites is het risico op een gerichte DNS-poisoningaanval laag. Aanvallers gaan meestal achter waardevolle doelwitten aan, zoals banken, e-mailaanbieders en grote e-commerceplatforms. Maar het risico is niet nul. Openbare wifinetwerken, gecompromitteerde routers en kwetsbaarheden in bepaalde resolversoftware kunnen allemaal kansen bieden voor DNS-spoofing op kleinere schaal.
De praktische impact van het ontbreken van DNSSEC hangt af van je situatie. Verwerk je gevoelige gegevens, accepteer je betalingen of is je website je belangrijkste contactpunt met klanten, dan is de extra verificatie het waard.
Heb je DNSSEC nodig voor je domein?
Het eerlijke antwoord is dat het ervan afhangt. DNSSEC voegt echte bescherming toe, maar het is niet voor elk domein vereist.
Je moet DNSSEC inschakelen als je site betalingen verwerkt, gevoelige informatie verzamelt of draait op een domein met veel zichtbaarheid. Overheidswebsites, financiële diensten en zorgmerken hebben allemaal baat bij actieve DNSSEC. Is domeinbeveiliging een prioriteit voor je merk, dan is DNSSEC een extra laag die de moeite waard is.
Je hebt het misschien niet meteen nodig als je een kleinere informatieve site hebt zonder inlogfunctie en je registrar DNSSEC nog niet ondersteunt of er extra voor rekent. Veel websites werken zonder en doen het prima. SSL versleutelt al de verbinding tussen de bezoeker en je server, wat gegevens onderweg beschermt. DNSSEC lost een ander probleem op, namelijk de integriteit van de DNS-opzoeking zelf.
Ondersteunt je registrar het en is het instellen eenvoudig, dan is er heel weinig nadeel aan het inschakelen. De bescherming die het toevoegt is echt, ook als het risico dat het adresseert niet voor elk domein even groot is.
Hoe schakel je DNSSEC in?
DNSSEC inschakelen vraagt actie op twee plekken. De eerste is je DNS-aanbieder, waar de DNS-records van je domein worden gehost. De tweede is je domeinregistrar, waar je domein is geregistreerd.
De algemene stappen zien er zo uit.
- Log in bij je DNS-aanbieder en schakel DNSSEC in voor je domein. Hierdoor worden de cryptografische sleutels gemaakt en worden je DNS-records ondertekend.
- Kopieer het DS-record dat je DNS-aanbieder je geeft. Dit record bevat een verwijzing naar de publieke sleutel van je domein.
- Log in bij je domeinregistrar en voeg het DS-record toe aan de instellingen van je domein. Zo koppel je de DNSSEC-sleutels van je domein aan de bovenliggende zone.
- Wacht op doorloop. Net als bij elke wijziging van een DNS-record kan het een paar uur duren voordat het nieuwe DS-record over internet is verspreid.
- Test je opzet met een online DNSSEC-validatietool om te bevestigen dat alles werkt.
Zijn je registrar en DNS-aanbieder hetzelfde bedrijf, dan is het proces eenvoudiger. Sommige aanbieders regelen beide stappen vanuit één dashboard. Andere vragen je records tussen twee losse accounts te kopiëren.
De meest gemaakte fout bij het instellen is het DS-record verkeerd invoeren. Controleer de key tag, het algoritmenummer, het digesttype en de digestwaarde dubbel voordat je opslaat. Een verkeerd cijfer in een van die velden doorbreekt de vertrouwensketen en kan je domein onbereikbaar maken totdat de fout is hersteld.
Wat doet DNSSEC niet?
DNSSEC lost één specifiek probleem op: controleren dat DNS-antwoorden authentiek zijn. Het is belangrijk te begrijpen wat buiten het bereik valt.
DNSSEC versleutelt je DNS-opvragingen niet. De inhoud van elke DNS-opzoeking is nog steeds zichtbaar voor iedereen die het netwerk in de gaten houdt. Is de privacy van DNS-opvragingen voor jou belangrijk, dan is dat een apart probleem dat wordt opgelost door DNS over HTTPS (DoH) of DNS over TLS (DoT), niet door DNSSEC.
DNSSEC versleutelt het verkeer tussen de bezoeker en je website niet. Dat is de taak van een SSL-certificaat, dat een versleutelde verbinding via HTTPS maakt. DNSSEC en SSL beschermen verschillende dingen in verschillende stadia van de verbinding.
DNSSEC voorkomt niet alle soorten aanvallen op je domein. Het houdt niemand tegen die je registrar-inloggegevens steelt en je domein verhuist. Het beschermt niet tegen phishingmails die je merk nabootsen. En het blokkeert geen DDoS-aanvallen op je DNS-servers. Voor die bedreigingen heb je aparte beschermingen nodig, zoals tweestapsverificatie, domeinvergrendeling en bescherming tegen DDoS.
Wat is het verschil tussen DNSSEC en SSL?
DNSSEC en SSL zijn allebei beveiligingslagen, maar ze beschermen verschillende delen van de verbinding tussen een bezoeker en je website.
SSL (en zijn opvolger TLS) versleutelt de gegevens die tussen de browser van de bezoeker en je webserver gaan. Is de verbinding eenmaal gelegd, dan is alles wat de bezoeker verstuurt en ontvangt beschermd tegen meekijken. SSL controleert ook dat de server waarmee de bezoeker praat een geldig certificaat voor je domein heeft.
DNSSEC beschermt de stap die plaatsvindt voordat SSL in werking treedt. Typt een bezoeker je domein, dan zoekt de browser eerst via DNS het IP-adres op. DNSSEC zorgt dat die opzoeking het juiste IP-adres teruggeeft. Zonder DNSSEC kan een aanvaller de bezoeker naar een heel andere server omleiden, een server die zelfs een eigen SSL-certificaat voor een lookalike-domein kan hebben.
Beide lagen hebben een functie. SSL beschermt het gesprek. DNSSEC beschermt de richting die de bezoeker neemt om dat gesprek te beginnen. Beide gebruiken geeft je bezoekers de sterkste zekerheid dat ze op je echte site zitten en dat hun gegevens veilig zijn.
Hoe WEMASY omgaat met DNSSEC
WEMASY beheert DNS voor elk domein dat aan het platform is gekoppeld. Bouw je je site op WEMASY, dan wordt de DNS van je domein afgehandeld via de infrastructuur van WEMASY, met SSL-certificaten, nameserverbeheer en configuratie van DNS-records. Ondersteunen je domein en registrar DNSSEC, dan kun je het inschakelen door het DS-record bij je registrar toe te voegen en het naar de DNS van WEMASY te laten wijzen. Voor details over wat er in elk pakket zit, bezoek je de prijzenpagina.
Afsluiting van module 6
Dit hoofdstuk sluit de module over domeinbeveiliging af. In de vorige hoofdstukken heb je het hele beeld gezien. Je hebt geleerd wat domeinbeveiliging betekent, hoe domeinvergrendeling, privacybescherming en bewustzijn rond verlenging je domein onder jouw controle houden, en welke specifieke bedreigingen als kaping, squatting en oplichting rond verlenging domeineigenaren treffen. DNSSEC voegt de laatste laag toe door de DNS-opzoeking zelf te beschermen, de ene stap die je domeinnaam met je echte website verbindt. Met al deze beschermingen op hun plek is je domein gedekt van registratie tot en met opzoeking.
Veelgestelde vragen over DNSSEC
Kan DNSSEC mijn website kapotmaken als het verkeerd is ingesteld?
Ja. Komt het DS-record bij je registrar niet overeen met de sleutels bij je DNS-aanbieder, dan wijzen resolvers die DNSSEC valideren de DNS-antwoorden van je domein helemaal af. Dat kan je website onbereikbaar maken voor bezoekers van wie de resolvers DNSSEC-validatie afdwingen. Test je opzet altijd met een DNSSEC-validatietool nadat je het hebt ingeschakeld, en houd je sleutels gelijk als je ooit van DNS-aanbieder wisselt. Met de websitebouwer van WEMASY stel je dit direct op je website in.
Maakt DNSSEC mijn website langzamer?
De invloed op de snelheid is minimaal. DNSSEC voegt door de handtekeningen een kleine hoeveelheid extra data aan DNS-antwoorden toe, en resolvers voeren een extra verificatiestap uit. In de praktijk komen er maar een paar milliseconden bij de DNS-opzoeking. Bezoekers merken geen verschil in laadtijd van pagina's.
Ondersteunen alle registrars DNSSEC?
Niet allemaal. De meeste grote registrars ondersteunen DNSSEC, maar sommige kleinere of goedkope registrars bieden het nog niet aan. Controleer voordat je DNSSEC probeert in te schakelen de documentatie of de supportpagina van je registrar om te bevestigen dat je DS-records kunt toevoegen. Kan dat niet, dan moet je je domein misschien naar een registrar verhuizen die het wel kan.
Wat gebeurt er met DNSSEC als ik van DNS-aanbieder wissel?
Wissel je van DNS-aanbieder, dan moet je je DNSSEC-configuratie bijwerken. De nieuwe aanbieder maakt nieuwe sleutels en je moet het DS-record bij je registrar vervangen door het nieuwe. Tijdens de overgang is er een periode waarin het oude DS-record niet meer bij de nieuwe sleutels past. Plan de overstap zorgvuldig. Verwijder eerst het oude DS-record, wacht op doorloop, verhuis je DNS, schakel DNSSEC in bij de nieuwe aanbieder en voeg dan het nieuwe DS-record toe.
Is DNSSEC hetzelfde als DNS over HTTPS?
Nee. Ze lossen verschillende problemen op. DNSSEC controleert dat een DNS-antwoord authentiek is en niet is gemanipuleerd. DNS over HTTPS (DoH) versleutelt de DNS-opvraging zelf, zodat niemand die je netwerk in de gaten houdt kan zien welke domeinen je opzoekt. DNSSEC beschermt de integriteit. DoH beschermt de privacy. Ze kunnen samen worden gebruikt, maar het een vervangt het ander niet.