DNSSEC: nóg veiligere DNS met een digitale handtekening

DNSSEC: nóg veiligere DNS met een digitale handtekening

Het DNS (Domain Name System) zorgt ervoor dat computers weten bij welk IP-adres een domeinnaam hoort. Met een domeinnaam van Tuxis kunt u kosteloos gebruikmaken van ons DNS cluster. Deze maand breiden wij ons DNS cluster uit met DNSSEC. Wat is DNSSEC precies en wat zijn de voordelen?

Het risico van traditionele DNS

DNS zorgt voor de vertaling van domeinnamen naar IP-adressen. Doordat DNS één van de eerste internet-protocollen is, is DNS niet helemaal conform met de beveiliging die tegenwoordig op internet verwacht mag worden. Zo zijn er diverse DNS-aanvallen die stammen uit de jaren ’80 toen DNS een gloednieuw protocol was. Wanneer een client (bijvoorbeeld een pc of server) het IP-adres van een website opvraagt met DNS, kan een kwaadwillende het IP-adres in het antwoord aanpassen en zorgen dat u de server van de kwaadwillende aanspreekt i.p.v. de website van uw bank. Zo’n omleiding is niet eenvoudig maar niet onmogelijk.

Deze kwetsbaarheid was tot 10 jaar geleden nog theorie. In 2008 is het veiligheidsexpert Dan Kaminsky gelukt een DNS-aanval in de praktijk uit te voeren. Met deze kwetsbaarheid kan een nietsvermoedende bezoeker naar een IP-adres van een aanvaller worden gestuurd.

‘Cache poisoning’ als DNS-aanval

Eén van de manieren om een DNS-aanval uit te voeren is met een ‘cache poisoning attack‘. Bij dit type aanval kan een aanvaller zijn eigen IP-adres naar een DNS server sturen. De DNS server beantwoord aanvragen voor een domeinnaam vervolgens met het IP-adres van de aanvaller. Deze aanval gaat als volgt in zijn werk:

DNS is gebaseerd op het UDP-protocol. Door de wijze waarop UDP werkt, kan een client antwoorden ontvangen én terugsturen. Omdat iedereen antwoorden terug kan sturen, kan een kwaadwillende zijn eigen IP-adres naar een DNS server sturen om bezoekers om de tuin te leiden.

Stel: een aanvaller stuurt het IP-adres ‘127.0.0.1’ voor de domeinnaam ‘nu.nl’ naar een DNS server. Een verouderde DNS server zal het IP-adres blindelings aannemen, en vertelt clients dat ‘nu.nl’ zich bevindt op het IP-adres ‘127.0.0.1’. Op het IP-adres van de aanvaller kan bijvoorbeeld een phishing-site van een kwaadwillende draaien, terwijl de bezoeker denkt dat hij gewoon op ‘nu.nl’ is beland.

DNS Cache Poisoning: DNSSEC is hier de oplossing voor
Technische werking van ‘cache poisoning’

DNS-aanval bij recente DNS servers

De beveiliging van DNS servers is sterk verbeterd sinds de introductie van het DNS-protocol. ‘Cache poisoning’ is tegenwoordig stukken lastiger uit te voeren. Het is niet meer mogelijk om blindelings een IP-adres naar een DNS server te sturen. Een aanvaller moet tegenwoordig minimaal een zogenaamd ‘QID’ meesturen. Een QID is een willekeurig ID die iedere DNS-aanvraag toegewezen krijgt.

Stel: een client vraagt het A-record voor ‘www.nu.nl’ op, dan krijgt deze aanvraag bijvoorbeeld de QID ‘2133’. De volgende aanvraag krijgt weer een willekeurig QID zoals ‘52319’. De DNS server neemt een IP-adres aan als een QID van een huidige aanvraag wordt meegestuurd. Een aanvaller moet dus één van deze QID’s weten zodat de DNS server zijn malicieuze IP-adres aanneemt. Als een aanvaller echter een willekeurige QID kiest, dan kan hij proberen een IP-adres constant met dezelfde QID te versturen. Na verloop van tijd zal het QID overeenkomen met een antwoord, en stuurt de DNS server het onjuiste IP-adres naar alle clients.

Voorbeeld van ‘DNS cache poisoning’

Met een gratis SSL-certificaat kan een aanvaller ook een groen slotje tonen. Naast het omleiden van een bezoeker naar een malicieuze website, wordt ook de indruk gewekt dat de site betrouwbaar is.

De oplossing voor DNS-aanvallen: DNSSEC

Door de jaren heen zijn manieren bedacht om de impact van DNS-aanvallen te beperken. Eén van deze manieren is het gebruiken van een willekeurige poort voor iedere DNS-aanvraag. Een aanvaller moet hierdoor niet alleen de QID weten, maar ook de poort raden. Er zijn 65535 mogelijke poorten, waardoor een DNS-aanval een stuk lastiger wordt. Toch is het van belang om deze DNS-aanvallen anno 2019 het hoofd te bieden. DNS is ten slotte een kritiek onderdeel van infrastructuur.

Hier komt DNSSEC (voluit ‘DNS Security Extensions’) om de hoek kijken. DNSSEC is een cryptografische beveiliging bovenop het traditionele DNS. Met DNSSEC worden domeinnamen door de DNS server met een digitale handtekening ondertekend. De DNS server stuurt een IP-adres alleen terug als de handtekening geldig is. Een onjuist IP-adres uit een ‘cache poisoning attack’ heeft geen geldige handtekening en wordt niet teruggestuurd naar de client.

Het resultaat: alleen legitieme IP-adressen worden teruggestuurd naar de client. Met DNSSEC ondertekende domeinnamen zijn dus immuun voor het gros van de DNS-aanvallen. Het is dan ook niet gek dat de overheid is begonnen met het uitrollen van DNSSEC op overheidssites.

Nieuw: DNSSEC bij Tuxis

De integriteit van gegevens in DNS is zeker met DNSSEC. Daarom worden nieuwe internetstandaarden zoals CAA en DKIM bovenop DNSSEC ontwikkeld. Daarom hebben we bij Tuxis in de afgelopen maanden voorbereidingen getroffen om DNSSEC te implementeren. We gaan bestaande domeinnamen ondertekenen met DNSSEC en nieuwe domeinnamen worden ook automatisch ondertekend. Tuxis regelt het hele proces, dus u hoeft niets te doen als uw domeinnamen en DNS bij ons zijn ondergebracht.

Naast nog betere DNS-beveiliging krijgt u met DNSSEC op uw domeinnaam ook een hogere score op https://internet.nl/. Deze website controleert of uw website zo veilig mogelijk is. Zo hebben we voor https://dadup.eu/ DNSSEC opgeleverd, HTTPS ingeschakeld en de juiste security headers toegevoegd. We scoren 100%.

Wilt u ook domeinnamen registreren met veilige en betrouwbare DNS?
Tuxis levert domeinnamen met DNSSEC vanaf de adviesprijs van € 15,00 per jaar (DNS gratis inbegrepen)

Registreer uw domeinnaam nu