De dilemma’s van digitalisering – 3/3

Hoe DNSSEC het internet veiliger maakt

Het ministerie is nog niet klaar met 2016

In februari luidde SIDN, de stichting die het .nl-domein beheert, de noodklok over de slechte DNSSEC-beveiliging van Nederlandse domeinnamen. Meer dan de helft van de Nederlandse domeinnamen blijkt geen DNSSEC te gebruiken. Met name banken hebben DNSSEC als extra beveiling nog niet omarmd. Dat klinkt allemaal zorgwekkend. Maar wat is DNSSEC eigenlijk en hoe maakt DNSSEC het internet veiliger?

Wat is DNS?
Iedere computer die met het internet verbonden is, heeft een uniek IP-adres. Aan de hand van deze IP-adressen weten computers elkaar te vinden. Als je dus verbinding met een andere computer wilt maken, moet je het IP-adres van die computer weten. Omdat het lastig is om al die IP-adressen te onthouden, zijn domeinnamen bedacht. Omdat een domeinnaam aan een IP-adres is gekoppeld, hoef je alleen nog maar die domeinnaam te onthouden. Zo is de domeinnaam bof.nl gekoppeld aan het IP-adres 82.94.213.237. Als je dus de website van Bits of Freedom wilt bezoeken, hoef je niet dat IP-adres te onthouden, maar kun je gewoon bof.nl intypen.

De koppeling tussen domeinnamen en IP-adressen wordt mogelijk gemaakt door een systeem dat het Domain Name System (DNS) heet. Vanwege deze koppeling wordt het DNS vaak vergeleken met het ouderwetse telefoonboek: als jij (of je computer of je smartphone) wil weten welk IP-adres er bij een bepaalde domeinnaam hoort, zoek je dat op in het DNS. Het ‘DNS-telefoonboek’ wordt beschikbaar gemaakt door een groot aantal servers verspreid over de hele wereld: de DNS-servers. Iedere DNS-server neemt een klein stukje van dat telefoonboek voor zijn rekening. Als je computer wil weten welk IP-adres aan een bepaalde domeinnaam is gekoppeld, dan vraagt hij dat aan één van die DNS-servers.

De kwetsbaarheid van DNS
Het DNS speelt dus een belangrijke rol voor de werking van het internet en is daarom één van de fundamentele technologieën die het internet mogelijk maken. Het DNS is ook één van de oudste onderdelen van het internet. In de begintijd van het internet, enkele decennia geleden, speelde beveiliging niet zo’n grote rol. Het internet in die dagen was vooral een wetenschappelijk onderzoeksproject. Dus toen het DNS in die periode ontworpen werd, kreeg het geen beveiligingsmechanismen. Hierdoor is het DNS nu kwetsbaar voor een aantal vormen van misbruik.

Een DNS-server vertelt je welk IP-adres er aan een domeinnaam is gekoppeld. Het probleem is dat je niet zeker kunt weten dat het antwoord van een DNS-server juist is. Want omdat het DNS geen beveiliging heeft, is het mogelijk om het antwoord van zo’n DNS-server te vervalsen of te manipuleren. Een internetcrimineel (of iemand anders met slechte bedoelingen) kan je op deze manier naar een verkeerde website sturen – zonder dat je dat doorhebt.

Stel, je wilt naar de website van je bank om een betaling te doen. Je opent je browser en typt www.jouwbank.nl in. Je computer maakt verbinding met een DNS-server om te vragen welk IP-adres er aan www.jouwbank.nl is gekoppeld. Maar deze DNS-server is in handen van een internetcrimineel. Het IP-adres dat je computer van deze DNS-server krijgt, is niet van de bank, maar van de internetcrimineel. Het gevolg is dat je niet op de website van je bank terechtkomt, maar op een vervalste website van de internetcrimineel.

Je computer maakt meestal gebruik van een DNS-server die beschikbaar wordt gesteld door het netwerk waar je op dat moment mee verbonden bent. Als je thuis aan het internetten bent, is dat meestal de DNS-server van je internetprovider. Maar als je verbonden bent met een openbaar wifi-netwerk, dan ben je afhankelijk van de DNS-server die dat wifi-netwerk je voorschotelt. Als dat wifi-netwerk slecht beveiligd is – of helemaal niet beveiligd – dan is het redelijk eenvoudig om de informatie in het DNS-telefoonboek te vervalsen. Dit is één van de redenen waarom je extra voorzichtig moet zijn als je een openbaar wifi-netwerk gebruikt.

Maar de onveiligheid van DNS heeft meer gevolgen. Voor je mail bijvoorbeeld. E-mail wordt verstuurd en ontvangen door mailservers. Zo’n mailserver heeft natuurlijk ook een IP-adres. Als iemand dus in het DNS een vals IP-adres aan een mailserver koppelt, kan hij de mail voor die mailserver omleiden en onderscheppen.

DNSSEC: het laagje beveiliging bovenop DNS
Het probleem van het DNS is dus dat je niet weet of de antwoorden van DNS-servers betrouwbaar zijn. De informatie die afkomstig is van DNS-servers kan daarom door internetcriminelen vervalst zijn. Om hier iets aan te doen, is DNSSEC verzonnen.

DNSSEC staat voor DNS Security Extensions en is eigenlijk een laagje beveiliging bovenop het oorspronkelijke DNS. Met DNSSEC worden antwoorden van DNS-servers voorzien van een digitale handtekening. Met behulp van deze handtekeningen kun je verifiëren dat het oorspronkelijke DNS-antwoord niet vervalst is.

DNSSEC kan niet in één keer voor het hele DNS-telefoonboek ingeschakeld worden. Voor iedere domeinnaam moet namelijk zo’n digitale handtekening worden gemaakt. En dat is iets wat alleen de beheerder van de domeinnaam kan doen. Helaas zijn er veel beheerders die dat (nog) niet gedaan hebben. Dit is de reden waarom SIDN de noodklok luidde.

Naast de domeinnaambeheerders is er een tweede partij die actie moet ondernemen om DNSSEC tot een groter succes te maken. Dat zijn de internetproviders. Zoals gezegd, maakt je computer of je smartphone meestal gebruik van een DNS-server die door je internetprovider beschikbaar wordt gesteld. Voor de werking van DNS is het vereist dat deze DNS-servers ook DNSSEC ondersteunen. Deze DNS-servers moeten namelijk de digitale handtekeningen van domeinnamen controleren. Helaas zijn er nog niet veel internetproviders die DNSSEC op hun DNS-servers hebben aangezet. Op dit moment is XS4ALL in Nederland de enige landelijke internetprovider die deze stap heeft gezet.

Helaas kun je zelf vrij weinig aan deze situatie doen. DNSSEC is niet iets wat je zelf aan kunt zetten. Je bent afhankelijk van de domeinnaambeheerders en van de interproviders: zij zijn de enigen die DNSSEC kunnen ‘aanzetten’. Je kunt natuurlijk wel contact opnemen met je internetprovider en aangeven dat je het voor je internetveiligheid belangrijk vindt dat ze DNSSEC gaan ondersteunen. En je kunt ook bijvoorbeeld je bank benaderen met dezelfde boodschap.

De trage implementatie van DNSSEC
Je vraagt je misschien af waarom de verspreiding van DNSSEC zo moeizaam verloopt. Het is gedeeltelijk een kip-en-ei-probleem tussen domeinnaambeheerders en internetproviders. Veel domeinnaambeheerders ondersteunen geen DNSSEC omdat de meeste internetproviders dat niet doen. En omgekeerd denken internetproviders hetzelfde.

Een andere reden is dat sommige experts van mening zijn dat DNSSEC geen goede manier is om het DNS veiliger en betrouwbaarder te maken. Tot op zekere hoogte hebben ze een punt: DNSSEC is niet zaligmakend. De beveiligingsproblemen van het DNS kunnen met DNSSEC niet voor honderd procent worden opgelost, maar dankzij DNSSEC wordt het voor internetcriminelenen wel een stuk moeilijker om deze beveiligingsproblemen te misbruiken. Dat is al een flinke vooruitgang. Zolang er geen betere alternatieven zijn, loont het dus de moeite om DNSSEC te omarmen.

Conclusie
DNSSEC is een belangrijke verbetering van het onveilige DNS. Maar om DNSSEC verder uit te rollen is actie vereist van domeinnaambeheerders en internetproviders. Het enige wat je zelf kunt doen, is er bij de internetproviders en domeinnaambeheerders (zoals je bank) op aandringen dat ze DNSSEC gaan ondersteunen.

Tot slot kun je op internet.nl testen of je via je huidige internetverbinding DNSSEC-ondersteuning hebt. Je kunt er ook testen of een website DNSSEC ondersteunt.

  1. Marco

    Leuke blog, maar waarom nog IPv4-adressen als voorbeeld geven? Dat is toch niet meer van deze tijd?

    82.94.213.237 moet natuurlijk 2001:888:2000:39::4 zijn!

    😉

    • Tim van der Molen

      Over een jaartje of tien, als IPv6 iets gangbaarder is geworden, zal ik een IPv6-adres als voorbeeld gebruiken. 😉

  2. Curly

    Over DNSSEC-ondersteuningsveiligheid gesproken. Wie een domein naam of bedrijfsnaam registreert bij een Hostingbedrijf, met name met een .com. of .nl domein, ziet in de whois direct al zijn persoonlijke gegevens op het internet staan, o.a. adres, naam eigenaar, email. telefoon. etc. Sommige hosting bedrijven bieden weliswaar tegen bijbetaling een privacypakket aan om privégegevens af te schermen. DNSSEC-ondersteuning is misschien wel handig, maar als privé gegevens voor iedereen in de Whois openbaar te kijk staan kan dit nog ook misbruik in de hand werken.

    • Tim van der Molen

      Allereerst een kleine correctie: bij .nl-domeinnamen worden je naam, adres en telefoonnummer *niet* openbaar gemaakt in de WHOIS. Bij andere top-level domains (zoals .com) is dat inderdaad wel het geval. En dat is inderdaad misbruikgevoelig. Maar dit probleem staat eigenlijk los van DNSSEC. DNSSEC is bedoeld om de informatie in het ‘DNS-telefoonboek’ betrouwbaarder te maken. Daardoor kan veel (maar helaas niet alle) misbruik voorkomen worden.

  3. jasperwillem

    Mooi wel, op het moment dat ik Google DNS als pathway toevoeg gaat de “de resolver kan name-servers bereiken via IPv6” wel op groen (op internet.nl), de “er kon geen IPv6-verbinding (via DNS) tot stand worden gebracht” blijft rood, vreemd.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd.

Help mee en steun ons

Door mijn bijdrage ondersteun ik Bits of Freedom, dat kan maandelijks of eenmalig.