Domain Name System ofwel DNS is misschien wel één van de belangrijkste systemen op het internet. Maar wat voor functie heeft het dan precies en waarom is het zo belangrijk? In dit blog lees je meer over DNS en de belangrijkheid ervan.
Je staat er niet bij stil maar Domain Name System (DNS) is misschien wel één van de belangrijkste systemen op het internet. Maar wat voor functie heeft het dan precies en waarom is het zo aantrekkelijk voor cyberaanvallen?
DNS is het adresboek van het internet. Of we het nu hebben over mailafhandeling of het bepalen waar een website gehost wordt, DNS wijst de weg! DNS kom je meer tegen onder de dienst “domeinhosting”.
In dit blog zullen we nader ingaan op de werking van domeinhosting en de aantrekkingskracht van DNS voor DDoS aanvallen.
Domeinhosting is een dienst waarbij een domein op de name-servers van een dienstverlener wordt gehost. Om je een voorbeeld te geven, het domein root.nl draait op de ROOT name-servers. Bij SIDN, de organisatie die het .nl domein regelt, zijn verwijzingen gemaakt voor het domein root.nl naar de ROOT name-servers, de zogeheten glue records. Deze glue records lijmen als het ware root.nl aan .nl.
Boven het .nl domein kennen we nog een niveau namelijk de root (heeft geen relatie met root.nl). Voor elk niveau zijn er dus authorative name-servers, het root niveau, het .nl niveau en het root.nl niveau.
De authorative name-servers zijn name-servers die het adresboek vormen voor één of meer domeinen.
Vaak worden deze authorative name-servers gespreid over meerdere netwerken en/of datacentra. Dit zorgt ervoor dat er altijd wel één voor het gehoste domein beschikbaar is.
De authorative name-servers voor het root.nl domein worden gehost in Enschede, Amsterdam en Manchester. Voor een betere beschikbaarheid kun je gebruik maken van anycast adressen voor name-servers. In dit blog hebben we dit onderdeel buiten beschouwing gelaten.
Naast de authorative name-servers kennen we ook resolving name-servers. Deze laatste name-servers hebben als doel het ophalen van informatie bij de juiste authorative name-servers. Hiermee word je voorzien van de juiste informatie zodat je bijvoorbeeld een website kunt bezoeken.
Hoe werkt dit proces? Wanneer de resolving name-server net is gestart en nog niets weet over een bepaald adres, dan zal de resolving name-server bij een verzoek, bijvoorbeeld www.root.nl, aan de ROOT name-servers vragen hoe bij www.root.nl te komen.
Elke resolving name-server heeft een statisch lijstje met adressen van de root (.) name-servers. Dit lijstje wijzigt zeer zelden. Dat maakt dat de resolving name-server altijd een startpunt heeft om zijn zoektocht te beginnen.
Na het vragen van het adres www.root.nl, zal de root (.) name-server beantwoorden met “sorry, ik weet het niet maar info over .nl kun je vinden bij de .nl name-servers, hier zijn de adressen (gevonden via de glue records) te vinden”.
Daar zal de resolving name-server de vraag opnieuw stellen. En dan zul je een soortgelijk antwoord krijgen met daarbij de adressen van de root.nl name-servers (gevonden via de glue records).
Daarna wordt de vraag gesteld aan de root.nl name-servers. Deze name-servers zullen je het correcte antwoord geven waarmee je de website in een webbrowser kunt weergeven.
Er zijn resolving name-servers die iedereen kan gebruiken, Google heeft bijvoorbeeld 8.8.8.8 en 8.8.4.4.
DNS werkt via een gelaagd model. Om te voorkomen dat voor elke webpagina die je opvraagt dit hele proces opnieuw wordt uitgevoerd, kent DNS de zogeheten caching. Je kan bij een DNS entry aangeven hoe lang deze geldig moet blijven nadat een entry is opgehaald. Dit noemt men de TTL, de Time To Live.
DNS is zo ongeveer zo oud als het internet. Dat maakt dat, net als vele protocollen die bestaan sinds het begin van het internet, security bij het ontwerp een ondergeschoven onderwerp was.
In de afgelopen jaren hebben we de nodige kwetsbaarheden voorbij zien komen. Een voorbeeld is web cache poisoning. Iemand die kwaad wil kan, via een obscure truc, foutieve data in de cache van een resolving name-server stoppen.
Intussen zijn de nodige security ontwikkelingen gedaan. Er is nu DNSsec, dit is een security uitbreiding op het originele DNS protocol. Het komt er op neer dat vanaf de root een chain of trust wordt gebouwd. Deze chain of trust kan door de resolving name-server gecontroleerd worden. Daarmee is zeker te stellen dat de antwoorden, die je van de resolving name-server krijgt, kloppen.
Het is wel noodzakelijk dat alle componenten in dit proces mee doen. Hiermee bedoelen we dat zowel de authorative name-servers op alle betrokken niveaus, als de resolving name-servers, die de antwoorden aan de clients van de gebruiker geven, ondersteuning van DNSsec aan moeten hebben staan. Dit zorgt ervoor dat de gegevens, die je van een name-server krijgt, correct zijn.
Wat we op dit moment veel zien gebeuren zijn DDoS aanvallen op authorative name-servers. In plaats van een aanval op een website worden de authorative name-servers, van het betreffende domein, aangevallen.
Een DDoS aanval op de name-server van een domein, waardoor geen antwoorden meer te krijgen zijn over dat domein, heeft hetzelfde effect als het platleggen van de website. Alleen als je nog data in de resolving cache name-server hebt kun je de site nog benaderen.
De groei in aanvallen op authorative name-servers heeft ervoor gezorgd dat er een nieuw soort dienstverlening is ontstaan op het gebied van domeinhosting namelijk de DDoS proof name-servers en/of domeinhosting. Gespecialiseerde partijen en grote Cloud providers bieden deze dienst aan.
ROOT maakt ook gebruik van een gespecialiseerde DNS provider met DDoS protectie. Deze oplossing is bedoeld voor klanten die daar behoefte aan hebben.
Een effect van de DDoS en DNSsec oplossingen is dat het veel resources vraagt, hierdoor zien we de prijzen van domeinhosting stijgen.
Wil je meer weten over DNS beveiliging of daarover met ons sparren, neem dan contact met ons op. We informeren je dan graag verder.
Neem contact op