DNS staat voor Domain Name System. Het DNS is een dienst die gebruikersvriendelijke domeinnamen zoals google.com converteert naar een computervriendelijk IP-adres zoals 64.233.160.0. Aan de hand van het IP-adres kan de browser de server met de gevraagde inhoud vinden. Het paren van de hostnaam en het IP-adres wordt een namespace genoemd. Door uw DNS records te monitoren, weet u zeker dat het Domain Name System traffic correct blijft doorsturen naar uw websites, diensten en elektronische communicatie. 

Het Domain Name System is een hiërarchisch gedistribueerde database waarbij elke database een deel van de informatie bevat die naar een specifieke website of apparaat leidt. Het Domain Name System werkt samen met het TCP/IP-netwerkprotocol om de gebruiker een rijke, gebruiksvriendelijke, volledige internetervaring te bieden.

Het DNS is de drukste database ter wereld die verzoeken van miljarden apparaten verwerkt. Het opvragen van één pagina kan resulteren in 50 of meer DNS requests. Tijdens het surfen op het web kunt u duizenden DNS queries genereren. Als u bedenkt dat miljarden mensen en apparaten (Internet of Things) hetzelfde doen, is het aantal requests dat door de DNS-servers wordt verwerkt verbijsterend, maar het DNS verwerkt de traffic prima en converteert domeinnamen in microseconden.

Hoe werkt DNS?

Het proces van het gebruik van een hostnaam (bijvoorbeeld google.com) om een IP-adres te krijgen (bijvoorbeeld 64.233.160.0) wordt resolving (omzetten) genoemd. Het omzetten van een hostnaam is onzichtbaar voor de gebruiker die de hostnaam in de adresbalk van de browser typt, maar gedurende die paar microseconden tussen het verzoek en het omzetten gebeurt er van alles waarbij vier verschillende types DNS-servers nodig zijn.

Types DNS-servers

Vier verschillende DNS-servers werken samen om u naar de inhoud te leiden die u nodig hebt.

DNS Recursor

Meestal voorziet de ISP (Internet Service Provider) in de DNS recursor of recursieve DNS-server. Deze server fungeert als een soort conciërge door clientaanvragen aan te nemen voor het omzetten van hostnamen naar IP-adressen, voert het voorwerk uit en retourneert het IP-adres aan de client.

De recursieve resolver controleert eerst zijn cache om te zien of deze al het gevraagde IP-adres heeft, anders neemt de recursieve resolver contact op met de Root Server.

Root nameserver

Wanneer de DNS Recursor geen gecachete respons heeft, neemt deze contact op met de DNS Root Nameserver. De DNS Root Nameservers werken bovenaan in de hiërarchie van de zones die de rootzone worden genoemd. De rootzone is het hoogste punt in de DNS-hiërarchie die requests naar de juiste zone leidt.

Er zijn 13 rootzone-servers die worden beheerd door 12 onafhankelijke organisaties. Deze 13 servers reageren op de recursieve server met het IP-adres naar de juiste Top Level Domain (TLD) nameservers.

TLD nameserver

De Top Level Domain nameservers houden de informatie bij voor de domeinnamen die dezelfde algemene domeinnaamextensies hebben, zoals .com, .gov, .net en .edu. De TLD nameservers reageren op de recursieve server met het IP-adres van de authoritative nameserver die de benodigde domeininformatie heeft.

Authoritative nameserver

De authoritative nameserver heeft alle informatie voor de specifieke domeinnaam, zoals google.com. De authoritative nameserver converteert de naam naar het juiste IP-adres, stuurt dit terug naar de resolver waar deze waarschijnlijk wordt gecachet en teruggestuurd naar de browser van de client. De browser opent vervolgens de site met behulp van het IP-adres.

Het proces voor het omzetten van een hostnaam klinkt alsof het wel even kan duren, maar feitelijk gebeurt dit meestal bijna onmiddellijk, doorgaans met resolutietijden van minder dan een microseconde. De eerste respons van de host bevat vaak extra URL's naar aanvullende inhoud, dus voor één enkele webpagina kunnen tientallen DNS-resoluties nodig zijn.

Wat is round-robin DNS?

Mogelijk hoort u zo nu en dan de term round-robin DNS. Een round-robin DNS is een authoritative nameserver met meerdere wachtrij-items voor één enkele hostnaam. Er komt een request binnen, de nameserver haalt de eerste DNS entry voor de hostnaam op en retourneert het IP-adres. Dat record komt dan achter aan de wachtrij. De volgende keer dat een DNS recursor de hostnaam voor omzetting verzendt, antwoordt de authoritative nameserver met het volgende DNS-item in de wachtrij.

Deze methode wordt gebruikt om load balancing te bieden naar een site met meerdere redundante servers. Problemen met deze methode zijn:

  • De nameserver weet mogelijk niet dat een server offline is gegaan en blijft requests naar de server verzenden. Sommige nameservers hebben ingebouwde uitvalbeveiliging (fail-safe) om de beschikbaarheid van het IP-adres te controleren voordat ze reageren.
  • De DNS recursor kan het IP cachen dat elke request naar hetzelfde IP-adres verzendt. Het instellen van een korte time to live (zie DNS caching hieronder) kan het aantal requests naar hetzelfde IP-adres verminderen, maar kan het probleem niet volledig voorkomen.

DNS caching

Het cachen van een namespace kan op elk niveau van de DNS-hiërarchie, hoewel dit het meest voorkomt op de DNS resolver. In plaats van het hele omzetproces voor hetzelfde IP-adres telkens opnieuw te doorlopen, bewaren de servers de informatie voor een hostnaam even voor het geval ze de informatie opnieuw nodig hebben. De eerste respons van een IP-adres bijvoorbeeld, bevat waarschijnlijk URL's naar hetzelfde IP-adres voor extra inhoud. Dus als de DNS recursor het IP-adres niet heeft gecachet, moet de recursor de namespace voor elk van deze requests omzetten.

De cache kan rechtstreeks op uw computer bestaan, op de router, bij uw ISP of waar dan ook op een van de DNS-servers. Deze caches verouderen erg snel, dus elke DNS-vermelding heeft een bepaalde levensduur. De levensduur staat bekend als time to live (TTL). Deze instelling vertelt de DNS-server hoe lang het de DNS-vermelding in de cache moet bewaren voordat deze wordt verwijderd.

Cachevergiftiging

DNS-caching leidt wel tot kwetsbaarheden in het Domain Name System. Deze kwetsbaarheid heet cachevergiftiging (cache poisoning). Een DNS-cache raakt vergiftigd of vervuild wanneer ongeldige IP-adressen in de cache worden ingevoegd. Vergiftiging is meestal het gevolg van virussen en malware met de bedoeling om requests naar een phishing- of andere site te leiden.

DNS Records (zonebestanden)

U weet al dat het DNS een enorm gedistribueerd hiërarchisch systeem is dat voor mensen leesbare domeinnamen verandert in computervriendelijke IP-adressen. Meestal als u iemand naar het DNS hoort verwijzen, verwijzen ze eigenlijk naar de DNS records of het zonebestand voor één enkel domein dat op de authoritative nameservers wordt bewaard.

Elke vermelding in het DNS heeft meerdere velden die specifieke informatie over het domein bevatten. Het DNS heeft 40 verschillende recordtypes (bekijk de volledige lijst). Hieronder worden de acht meest gebruikte DNS-recordtypes besproken.

A record

Het A record is de IPv4-versie van het IP-adres. De IPv4-versie is een 32-bits adres. IPv4 is sinds het begin van internet de standaard voor IP-adressen, maar het kleine aantal beschikbare adressen (4,29 miljard) is al een probleem geworden. Om het snelgroeiende aantal benodigde IP-adressen aan te kunnen is er al enige tijd sprake van een langzame maar progressieve overgang naar 128-bit IPv6-adressen.

AAAA record

Als een site IPv6 128-bits adressen ondersteunt, bevat het AAAA record het IP-adres. In numerieke termen zijn er 2128 of meer dan 340 hexiljoen adressen beschikbaar.

CNAME record

De “C” in CNAME staat voor “canonical.” In plaats van een IP-adres te retourneren, retourneert een CNAME-record een alias voor de request. Als u bijvoorbeeld uw hostnaam zou veranderen van mysite.com in mywebsite.com, kunt u de CNAME updaten naar “mywebsite.com.” Als er dan bij de authoritative nameserver een request voor mysite.com binnenkomt, is de respons mywebsite.com. De resolver weet dan dat hij in plaats daarvan het IP-adres voor mywebsite.com moet opvragen.

MX record

MX staat voor “mail exchange.” Wanneer de resolver om het MX record vraagt, vraagt hij hoe de mail voor het domein moet worden doorgestuurd met SMTP (Simple Mail Transfer Protocol).

NS record

NS staat voor nameserver. Het NS record vertelt de resolver welke nameserver de primaire is voor het domein. Aanvullende NS records geven back-upnameservers aan met de informatie over het domein. Het specificeren van back-upservers biedt redundantie in het geval van een storing op de primaire server (mits deze afzonderlijk wordt gehost).

SOA record

SOA staat voor “start of authority.” Dit record biedt informatie op domeinniveau, zoals het e-mailadres van de beheerder. Een belangrijke waarde die vaak wordt gemonitord, is het serienummer. Iedere keer dat u een DNS record bijwerkt, werkt het DNS het serienummer bij door het met 1 te verhogen. Door veranderingen in het SEO-nummer in de gaten te houden, kunt u zien of iemand met uw DNS-records heeft geknoeid.

SRV record

SRV staat voor “service.” Het servicerecord biedt de host en poort voor een service zoals instant messaging.

TXT record

TXT is een afkorting van “text.” Deze records zijn gewone tekstinvoer die u kunt gebruiken voor notities. Mailservers kunnen TXT records gebruiken voor Sender Policy Framework-codes waarmee een mailserver de bron van een e-mail kan verifiëren.

Wat is DNS Monitoring?

Zoals u hierboven hebt geleerd, leeft en sterft elke communicatie via internet door het DNS. Met DNS monitoring kunt u uw online aanwezigheid beschermen door uw DNS records regelmatig te controleren op onverwachte wijzigingen of lokale uitval als gevolg van menselijke fouten of kwaadaardige aanvallen. DNS records zijn een favoriet van hackers en worden vaak het slachtoffer van menselijke fouten. Naast het hacken van uw ISP-account en het rechtstreeks wijzigen van de waarden, volgen hier twee primaire manieren waarop hackers DNS gebruiken om een site plat te leggen.

DNS-vergiftiging

We hebben poisoning eerder genoemd in het gedeelte DNS caching. Er is sprake van DNS-vergiftiging wanneer iemand valse informatie invoegt in de DNS-cache op een server. Die ene server met de vergiftigde toegang voor een site reageert dan vanuit zijn cache op een request. Andere servers en routers cachen het vergiftigde record en het gif verspreidt zich. Bij deze aanvallen worden gebruikers doorgaans omgeleid naar een vervalste site waar de hackers gebruikersgegevens en andere informatie verzamelen, zoals creditcardinformatie.

Vergiftiging kan ook ontstaan door menselijke fouten. In Californië en Chili deed zich een dergelijk geval voor toen door DNS doorgestuurde gebruikers van Facebook, Twitter en YouTube naar Chinese sites werden gestuurd. Het probleem was het gevolg van een ISP die requests doorstuurde naar een root-server in China, waar de Chinese overheid deze kanalen blokkeert en ze doorstuurt naar door de overheid gecontroleerde sites.

DDoS- en DoS-aanvallen

DDoS (Distributed Denial of Service)- en DoS (Denial of Service)-aanvallen treden op wanneer één (Dos) of meer (DDoS) computers het DNS en een site steeds sneller beginnen aan te roepen in een poging de ondersteunende infrastructuur van een site plat te leggen door de buitensporig grote aantallen requests. Deze aanvallen zijn er in vele vormen en proberen alle beschikbare verbindingen te uit te putten en de servers te overweldigen met data die de performance beïnvloeden of ze volledig uitschakelen.

Monitoring kan u helpen een DNS-aanval in de kiem te smoren

Het monitoren van uw DNS entries moet boven aan uw prioriteitenlijst staan. Als er iets misgaat met uw DNS records, kan dit uw hele systeem in gevaar brengen en uw merkreputatie schaden. Monitor de volgende aspecten van uw DNS om uw DNS in de gaten te houden.

IP-adres(sen)

Deze is eenvoudig; een DNS query haalt het IP-adres op uit het systeem en vergelijkt het met de IP-adressen die u opgeeft (een of meer adressen die een reguliere expressie gebruiken). Als het IP-adres niet overeenkomt, brengt uw monitoring u op de hoogte. Als u IPv4 en IPv6 ondersteunt, moet u zowel het A-record (IPv4) als het AAAA-record (IPv6) monitoren, want het is mogelijk dat het ene faalt maar het andere niet.

SOA Record

Uw SOA record heeft een serienummer dat door het systeem telkens wordt bijgewerkt wanneer er ergens een wijziging in uw DNS-invoer plaatsvindt. Aan het nummer kunt u weliswaar niet zien wat er is veranderd, maar weten dat er iets is veranderd kan u helpen een aanval te voorkomen.

MX record en SRV record

Stel dat de e-mails en berichten van uw bedrijf plotseling verloren gaan of bouncen voor iedereen die u probeert te bereiken. Of, erger nog, wat als iemand het systeem heeft gehackt en berichten en e-mails naar elders doorstuurt? Het monitoren van uw MX records en SRV records kan u helpen voorkomen dat cruciale communicatielijnen verloren gaan.

NS record en root servers

U kunt uw NS records testen om er zeker van te zijn dat niemand heeft geknoeid met uw primaire en back-up-nameserverrecords. U kunt die nameservers ook rechtstreeks testen om er zeker van te zijn dat ze met de juiste informatie reageren. Monitoring is een geweldige manier om ervoor te zorgen dat uw DNS-records veilig blijven en betrouwbaar reageren.

Test uw DNS overal vandaan

Vaak zult u merken dat DNS-fouten lokaal zijn en alleen van invloed zijn op een deel van uw gebruikersbestand. Het gebruik van een externe monitoringdienst met een groot netwerk van testlocaties kan u helpen om zelfs de meest gedetailleerde lokale problemen snel vast te leggen.

Conclusie

IP-netwerk- en internetcommunicatie zijn afhankelijk van het DNS. Actief monitoren van uw records kan u helpen een DNS-aanval of -uitval te voorkomen. U zult altijd als eerste op de hoogte zijn in plaats van te wachten op klachten van klanten of besmette accounts.