Hernoemen van de DNS-root: mogelijkheden, valkuilen en een testbed
Het invoeren van nieuwe naamgevingsschema’s zou niet zonder problemen verlopen
Kies jouw kleur
Veel bezocht
Veelgestelde vragen
Via de Whois kun je de huidige houder van een domeinnaam opzoeken. Om de persoonsgegevens in te zien moet je vanwege de privacygevoelige informatie eerst de gebruikersvoorwaarden van de Whois accepteren. Gegevens van privé personen kunnen ook afgeschermd zijn vanwege de AVG (Algemene verordening gegevensbescherming).
Op de pagina domeinnaam zoeken lees je meer over wat een domeinnaam is, de werking van de Whois en de privacy van persoonsgegevens.
Je wilt je domeinnaam verhuizen naar een andere registrar. Vraag dan je verhuistoken op bij je huidige registrar. Lees de verhuisstappen op de pagina domeinnaam verhuizen.
Neem contact op met je registrar. Jouw registrar kan de contactgegevens bij je domeinnaam voor je aanpassen. Wij raden je aan het resultaat te controleren via de Whois. Lees meer over het aanpassen van je gegevens bij contactgegevens wijzigen.
Wij weten niet wat de reden van de opheffing is. Neem contact op met je registrar. Het voordeel van de quarantaine is dat je altijd de mogelijkheid hebt om een opheffing die je niet had bedoeld te herstellen.
Voorbeeld: In de voorwaarden van je registrar staat dat je elk jaar je abonnement moet verlengen. Dat gebeurt dan niet automatisch. Zo kan het gebeuren dat je domeinnaam wordt opgeheven zonder dat je er om gevraagd hebt.
Wanneer je een klacht hebt over of een geschil met je registrar dan zijn er verschillende mogelijkheden om tot een oplossing te komen. Hierover lees je meer op pagina klacht over registrar. SIDN heeft geen formele klachtenprocedure voor het behandelen van een klacht over jouw registrar.
Wil je zelf direct domeinnamen kunnen registreren bij SIDN voor je klanten of voor je eigen organisatie? Dan kun je .nl-registrar worden. Lees meer over de voorwaarden en de manier waarop je je kunt inschrijven als registrar via de pagina registrar worden.
Het invoeren van nieuwe naamgevingsschema’s zou niet zonder problemen verlopen
Auteurs: Moritz Müller, Marco Davids (SIDN Labs), Willem Toorop, Yorgos Thessalonikefs en Benno Overeinder (NLnet Labs).
In opdracht van ICANN deden we samen met NLnet Labs onderzoek naar de effecten van 5 alternatieve naamgevingsschema’s voor de rootservers van het Domain Name System (DNS). Deze schema's verminderen onder andere de afhankelijkheid van de root op het .net-topleveldomein (TLD). ICANN heeft ons onderzoeksrapport in oktober gepubliceerd, waaruit blijkt dat het invoeren van een nieuw naamgevingsschema niet zonder uitdagingen is. In dit artikel geven we een overzicht van onze resultaten. De details vind je in ons rapport.
Aan de top van het DNS staan de rootservers. 12 internationale organisaties zijn verantwoordelijk voor het managen van deze servers en het publiceren van de rootzone, het startpunt voor DNS-query’s. Deze organisaties beheren in totaal 13 rootservers, te herkennen aan de letters A tot en met M (één organisatie is verantwoordelijk voor 2 rootservers). Elk van deze servers is bereikbaar onder de domeinnaam letter.root-servers.net, dus bijvoorbeeld k.root-servers.net voor de rootserver die wordt beheerd door het RIPE NCC.
Figuur 1 laat de opbouw van het huidige naamgevingsschema zien. Root (de lege kring helemaal rechts), .net en root-servers zijn hun eigen zone. De rootzone delegeert naar .net, die ook weer delegeert naar root-servers.net.
Figuur 1: Opbouw van het huidige schema (genoemd 5.1 in het RSSAC028-document) en het schema 5.2.
Resolvers bevragen de rootservers bijvoorbeeld als een topleveldomein zoals .org of .nl voor hen nog volledig onbekend is (ze hebben geen informatie in hun cache), maar ook direct na het opstarten. Recursieve resolvers worden geleverd met een lijst van rootservers en hun bijbehorende IPv4- en IPv6-adressen, het zogenaamde root-hints-bestand. Na het opstarten, maar normaliter ook een keer per dag, sturen de recursieve resolvers een query naar een van de rootservers in hun root-hints-bestand om te verifiëren of de IP-adressen in het bestand nog actueel zijn - de zogenaamde priming-query.
Dat betekent in de huidige situatie dat een priming query, naar bijvoorbeeld k.root-servers.net, ook naar de servers van .net gaat. De .net-TLD is met DNSSEC beveiligd, maar root-servers.net is dat niet. Dit zou priming-query’s mogelijk kwetsbaar maken voor “Node re-delegation attacks”, waar query’s van een resolver omgeleid worden naar malafide rootservers. Ook zal een storing bij .net gevolgen hebben voor de priming-query’s.
Het Root Server System Advisory Committee (RSSAC) van ICANN heeft in zijn publicatie RSSAC028 uiteengezet hoe de namen van de rootservers aangepast kunnen worden, zodat de informatie over de rootservers ook met DNSSEC beveiligd kunnen worden en zodat de rootservers in sommigen gevallen niet meer afhankelijk zijn van .net.
Het Root Server System Advisory Committee heeft 5 schema's bedacht. In dit artikel en in ons rapport noemen we de schema's naar de secties waarin RSSAC028 ze opvoert: 5.2 tot en met 5.6. 5.1 i het huidige naamgevingsschema. 2 schema's hebben nog een variant: 5.3.1 en 5.5.1. We bespreken de schema’s hier kort.
Schema 5.2. is het huidige naamgevingsschema, met de uitbreiding dat ook de zone van root-servers.net met DNSSEC is gesigneerd (zie Figuur 1). DNSSEC beveiligd ook alle zones van de schema’s 5.3, 5.4, 5.5 en 5.6.
Figuur 21: In-zone NS Names (schema 5.3 en 5.3.1).
Schema’s 5.3 en 5.3.1 zijn schema’s waarin de naam root-servers onderdeel wordt van de rootzone zelf - de namen zijn “in-zone”. 5.3.1. gaat nog iets verder en verkort de naam van de rootservers.
Figuur 3: Shared Delegated TLD (schema 5.4)
Schema 5.4 scheidt de rootzone en de zone weer van de rootservers. Dit schema introduceert een nieuw topleveldomein (TLD), gedeeld door alle rootserverbeheerders.
Figuur 4: Names Delegated to Each Operator (schema 5.5 en 5.5.1).
Schema’s 5.5 en 5.5.1 gaan nog een stap verder. Hier heeft elke rootserver zijn eigen TLD.
Figuur 5: Single Shared Label for All Operators (schema 5.6 en 5.6.1).
Schema’s 5.6 en 5.6.1. Bij deze schema’s verdwijnen de domeinnamen voor enkele rootservers. In plaats daarvan gebruiken 5.6 en 5.6.1 een gezamenlijke domeinnaam om alle rootservers te identificeren. De domeinnaam heeft dan 13 IPv4- en 13 IPv6-adressen.
Het doel van ons onderzoek was om te begrijpen wat er gebeurt als de rootservers naar een van de schema’s zouden overstappen. We wilden vooral weten of priming-query’s van huidige resolvers nog steeds succesvol zouden zijn. Dat betekent dat resolvers gebruik zullen maken van de nieuwe namen en deze ook onthouden.
Daarnaast wilden we weten hoe gevoelig resolvers voor fouten zouden zijn. Denk bijvoorbeeld aan resolvers die de DNSSEC-handtekeningen van de nieuwe records niet zouden kunnen valideren.
We wilden de naamgevingsschema’s in een omgeving testen die zo realistisch mogelijk was. Hiervoor wilden we het gedrag van de huidige rootnameservers kunnen simuleren en testen tegen verschillende resolverversies.
Hiervoor hadden we de configuraties van de rootservers nodig, maar die zijn over het algemeen niet publiek bekend. We hebben daarom een vragenlijst met rootoperators gedeeld om, bijvoorbeeld, de soorten nameserversoftware die ze gebruiken in kaart te brengen.
Tabel 1 vat de configuraties van de rootservers samen. Een deel van deze informatie is vertrouwelijk (maar bij ons bekend), bijvoorbeeld omdat operators “proprietary“-software draaien. Deze operators hebben ons echter wel geholpen om het gedrag van hun software af te leiden, waardoor we alsnog de naamgevingsschema's in een realistische omgeving konden testen. Hiervoor hebben we gebruikgemaakt van NLnet Labs eigen ldns-testns (met enkele aanpassingen), een tool waarmee we het gedrag van de proprietary software konden simuleren.
Letters | Operating System | Software | Version |
---|---|---|---|
A and J | Confidential | ||
B | Confidential | ||
C | CentOS 7 | BIND | 9.16 |
D | NSD | 4.1.20 | |
E | FreeBSD | BIND | 9.16.x |
F | FreeBSD 12.x and 13.x -------------------- | BIND -------------------- Confidential | 9.16.x -------------------- |
G | BIND | 9.16.29-S1 | |
H | Linux | NSD | 4.5.0 |
I | Confidential | ||
K | RedHat Linux derivative | BIND -------------------- Knot DNS -------------------- NSD | 9.16.x -------------------- 3.1.x -------------------- 4.x.x |
L | Ubuntu 18.04 | Knot DNS -------------------- NSD | 3.1.8 -------------------- 4.6.0 |
M | Confidential |
Tabel 1: Configuraties van de rootservers.
De configuratie van de rootservers uit tabel 1 vormt de basis van ons testbed. Met behulp van Vagrant en ideeën uit een eerder testbed van ICANN, hebben we ons eigen opensourcetestbed gebouwd om alle rootservers geautomatiseerd te kunnen testen met de 5 verschillende naamgevingsschema’s. Inmiddels zijn onze aanpassingen geïntegreerd in het testbed van ICANN.
Met ons testbed is het mogelijk om eenvoudig verschillende versies van resolvers toe te voegen. Voor dit onderzoek hebben we een aantal populaire open source resolversoftwarepakketten getest, namelijk BIND, Knot Resolver, PowerDNS Recursor en Unbound. Van elke software testten we zowel oudere versies als ook de nieuwste versies.
Per schema hebben we gemeten of resolvers (i) succesvol een testdomeinnaam kunnen resolven en (ii) of resolvers ook daadwerkelijk het nieuwe naamschema overnemen, dus of ze ook voor opvolgende query’s gebruik zouden maken van het nieuwe naamschema.
Daarnaast onderzochten we een aantal parameters, zoals het aantal query’s dat werd verstuurd tijdens het primen, en of de query via UDP of TCP werd verstuurd.
Je vindt ons testbed hier en het rapport bevat een uitgebreidere omschrijving van het testbed. Het hele testbed is open source, zodat je het ook zelf kunt gebruiken.
Figuur 6 geeft een eerste overzicht van de resultaten. De 13 rootservers hebben we volgens de antwoorden op onze vragenlijst geconfigureerd.
Figuur 6: Priming query’s per schema en resolver.
Figuur 6 laat zien dat priming in de meeste gevallen lukt, maar enkele resolvers vertonen onverwacht gedrag. En zelfs als het een resolver lukt om te primen, betekent dat niet dat priming met alle rootservers lukt. Maar omdat niet elke rootserver dezelfde software en configuratie gebruikt, lukt het de resolvers uiteindelijk alsnog om een antwoord op hun priming-query te ontvangen.
Zo laten we in ons rapport zien dat rootservers die gebruikmaken van BIND geen IP-adressen in het additional-field van het DNS-pakket meesturen voor schema’s 5.3, 5.3.1, 5.6 en 5.6.1. De schema’s hebben gemeen dat hier de rootzone direct authoritative is voor de rootserverdomeinnaam. Dit heeft als gevolg dat de meeste resolvers voor deze schema’s een groot aantal query’s naar de rootservers sturen die BIND-software draaien om de IP-adressen te achterhalen. Alleen PowerDNS Recursor doet dit niet en het lukt daarmee dan ook niet om succesvol te primen.
Zoals te verwachten, zien we in figuur 6 ook meer resolvers die hun priming-query’s via TCP versturen. Veel versies van de resolver van BIND sturen sowieso altijd priming-query’s met een buffer size van 512 byte, wat bijna altijd leidt tot fragmentatie en dus tot een vervolg query via TCP. Alleen schema 5.3.1 is een uitzondering: hier zijn de antwoorden kleiner dan 512 byte en hoeven dus ook niet via TCP worden verstuurd.
Sommige rootservers antwoorden altijd met een TC-vlag als niet alle aanvullende informatie in het pakket past. Dit heeft als gevolg dat in heel veel gevallen resolvers gebruik gaan maken van TCP - iets wat mogelijk niet wenselijk is voor de rootserverbeheerders.
Zoals eerder genoemd, zijn alle antwoorden van de nieuwe schema’s met DNSSEC beveiligd. We vroegen ons daarom af wat er zou gebeuren als resolvers de handtekeningen niet zouden kunnen valideren en of dat invloed op de priming-query’s zou hebben. Hiervoor hebben we opzettelijk de tijd op de machines van de resolvers aangepast, zodat het voor hen leek alsof alle handtekeningen verlopen waren.
We zagen dat dit voor de meeste gevallen geen invloed had op priming-query’s. Alleen sommige versies van Knot Resolver en PowerDNS Recursor konden niet meer succesvol primen, wat erop duidt dat de resolvers ook priming-query’s proberen te valideren.
Tabel 2 vat wat algemenere inzichten over resolvergedrag samen.
Property | Resolvers | Observered behavior |
---|---|---|
Moment of priming | knot-resolver-* pdns-recursor-* unbound-* bind-* | After startup Before it starts working on a query Just after it starts working on a query |
Address queries | pdns-recursor-* unbound-* bind-9.10.8 … 9.19.13 bind-9.9.11 & knot-resolver-* | Never query for root server addresses Query root server addresses when there were none in the priming response Always query for root server addresses |
DNSSEC validation | pdns-recursor-4.7.5 … 4.8.4 knot-resolver-5.5.3 … 5.6.0 | Does not resolve with a clock skewed outside of DNSSEC validity period |
Truncated responses | unbound-* bind-9.13.7 … 9.14.10 | The content of truncated responses is ignored. The content is expected to be acquired in the follow-up query over TCP |
Tabel 2: Samenvatting van de eigenschappen van resolvers.
Uit de experimenten met ons rootservertestbed blijkt dat het invoeren van de 5 nieuwe naamgevingsschema’s niet zonder problemen zal verlopen. De schema’s 5.3 en 5.3.1 leiden in veel gevallen bijvoorbeeld tot veel meer query’s dan in de huidige situatie. PowerDNS Recursor is zelfs niet in staat om de nieuwe namen te leren als hij specifieke rootservers bevraagt. Schema 5.6 en 5.6.1 hebben vergelijkbare problemen.
Schema 5.4 kan op dit moment niet worden uitgerold omdat Knot niet in staat is om te primen. Zelfs het huidige schema (5.1 en 5.2) zal al tot problemen leiden als het de rootzone verandert, zoals bijvoorbeeld het aanpassen van de IP-adressen van rootservers. Alleen voor 5.5 en 5.5.1 zien we geen grote “deal-breakers”.
Veel meer metingen en inzichten vinden jullie in ons rapport.
De ICANN-gemeenschap gaat zich nu over ons rapport buigen en mogelijke vervolgstappen bespreken. In de tussentijd nodigen we iedereen, die interesse in de rootservers heeft, uit om ons testbed te verkennen. Tot slot bedanken we alle operators van de root en bij ICANN voor de goede samenwerking.
Artikel door:
Deel dit artikel