DNSSEC-validatiefouten opsporen XXL

Toen vanaf augustus 2012 in relatief korte tijd vrij massaal nl-domeinnamen met DNSSEC werden beveiligd, was het risico op mogelijke validatiefouten een belangrijk punt van aandacht.

Hierbij speelde mee hoe het .gov was vergaan. De Amerikaanse overheid verplichtte in 2008Link opent in een nieuwe browsertab dat alle .gov-domeinen beveiligd moesten worden met DNSSEC. Daarbij werden, misschien wel als gevolg van de opgelegde ‘dwang’, de nodige foutjesLink opent in een nieuwe browsertab gemaakt. Het vervelende van dit soort DNSSEC-fouten, is dat juist diegenen die de moeite hebben genomen om DNSSEC-validatie aan te zetten hier last van hebben, terwijl anderen ogenschijnlijk geen hinder ondervinden. Kortom, fouten zijn niet erg bevorderlijk voor DNSSEC(-validatie).

De DNSSEC-validatiemonitor

Eén van de middelen die we bij SIDN sinds april 2013 inzetten bij het opsporen van validatiefouten, is de DNSSEC-validatiemonitor. Dit systeem hebben we bij SIDN Labs ontwikkeld en ontvangt .nl-domeinnamen die niet valideren van enkele ISP’s die aan DNSSEC-validatie doen. Hiermee hebben we een goede indruk gekregen van het aantal en het soort in de praktijk gemaakte DNSSEC-fouten. Informatie over de niet-validerende domeinnamen delen we via de validatiemonitor met de desbetreffende registrars, die daarmee verbeteringen kunnen initiëren. Zodoende kwamen bijvoorbeeld software bugs, configuratiefouten en tekortkomingen in procedures boven water. Uit steekproeven met 30.000 domeinnamen die door ons werden getest, bleek dat het aantal fouten daaldeLink opent in een nieuwe browsertab. Bevatte eind 2012 0,48% van de DNSSEC-domeinnamen een fout, anderhalf jaar later (begin 2014) was dit gedaald tot 0,21%.

Toch hadden we nog enkele verbeterwensen, onder andere met betrekking tot de ‘granulariteit’ van de validatiemonitor. Want lang niet alle gemaakte fouten, in alle gesigneerde nl-domeinnamen kwamen aan het licht. Dit vertroebelde het beeld met betrekking tot de kwaliteit van DNSSEC onder .nl-domeinnamen. Eén van de oorzaken was dat de validatiemonitor reactief was: het rapporteerde alleen een fout als een klant van één van de aangesloten ISP’s daadwerkelijk zo’n niet-validerende domeinnaam opvroeg in het DNS.

Alle nl-domeinnamen, elke dag testen: de validatiemonitor XXL

De samenwerking met validerende ISP’s leverde waardevolle informatie op over de manieren waarop fouten ontstaan. En dat ging soms verder dan we in eerste instantie vermoedden. We zagen bijvoorbeeld flink wat fouten in de ‘denial of existence’-hoek van DNSSEC (terwijl vragen om iets dat wel bestond in dezelfde zone, op hetzelfde moment, gewoon goed ging).

Deze opgedane kennis hebben we bij SIDN Labs verwerkt in een nieuwe versie van de validatiemonitor. Deze ‘Validatiemontior XXL’ bevat drie belangrijke verbeteringen:

  1. het test zelf en continu alle ruim 2,4 miljoen gesigneerde nl-domeinnamen op DNSSEC-fouten,

  2. het doet dit dagelijks, waardoor registrars snel een melding ontvangen van een domeinnaam die niet goed valideert, ook als gebruikers de domeinnaam niet benaderen, en

  3. test ook domeinnamen op het derde niveau en dieper.

Bevindingen

Inmiddels draait de validatiemonitor XXL sinds april van dit jaar naar tevredenheid. Hij werd goed ontvangen door onze registrars. Het viel op dat zij daardoor hernieuwde aandacht kregen voor DNSSEC-fouten en het herstellen daarvan. Mogelijk omdat de Validatiemonitor XXL hogere aantallen fouten rapporteerde dan de oude versie en aan meer registrars.

Figuur 1 laat zien dat het aantal registrars met validatiefouten sinds de ingebruikname van de validatiemonitor XXL met ruim 28% is gedaald. De piek rond april 2015 komt doordat de XXL-versie van de validatiemonitor de hele nl-zone checkt en zo meer validatiefouten ontdekt dan de oude versie.

Bevatte eind 2012 0,48% van de gesigneerde .nl-domeinnamen een DNSSEC-fout en begin 2014 nog 0,21%, inmiddels hebben we met elkaar dit percentage terug kunnen brengen naar gemiddeld 0,12 % (zie Figuur 2).

Wel DS, geen DNSKEY

De meest in het oog springende fout is nog steeds dat in de .nl-zone een DS-record staat, terwijl de domeinnaam in kwestie geen DNSKEY-records (meer) heeft. Dit is vaak het gevolg van een verhuizing naar een registrar die geen DNSSEC-ondersteuning heeft en waarbij de betrokken registrars verzuimd hebben om het DS-record uit de nl-zone te halen. Ongeveer twee derde van alle DNSSEC-fouten heeft deze oorzaak. Er is een speciaal vinkje in ons registratiesysteem, dat hierbij kan helpen, maar ondanks de vele aandacht hiervoor Link opent in een nieuwe browsertabis dat vinkje helaas nog altijd niet bij alle registrars bekend.

Er gaan gelukkig veel dingen goed. Verlopen RRSIG’s bijvoorbeeld, komen nauwelijks voor. Het zijn er slechts rond de 30, op een totaal van meer dan 2,4 miljoen gesigneerde domeinnamen!

De overige fouten zijn vrij sporadisch en soms exotisch. Zo hebben drie domeinnamen een RRSIG ‘inception date’ die in de toekomstLink opent in een nieuwe browsertab ligt en zijn er enkele domeinnamen met zeldzame ‘crypto’-fouten. Je vraagt je soms af hoe men het voor elkaar krijgt. Want het zijn geen fouten die niet door een oplettende systeembeheerder kunnen worden opgemerkt en opgelost.

In de ‘denial of existence’-hoek zit ongeveer de andere een derde van de gemaakte fouten. Deze zijn wel ‘vaag’, in de zin dat je ze niet gemakkelijk ziet met tools als DNSvizLink opent in een nieuwe browsertab. Zelfs Google Public DNS valideert ze veelal gewoon met een AD-bit. Lastig dus, om een registrar te overtuigen dat het hier om een fout gaat.

Onderdeel van de Registrar Scorecard

Er zijn concrete plannen om de validatiemonitor XXL onderdeel te maken van de recent geïntroduceerde ‘Registrar Scorecard’. Dit is een incentiveprogramma van SIDN, waar registrars kunnen worden beloond voor bepaalde prestaties, zoals het aanbieden van een goed validerende domeinnaamportfolio. Feitelijk was de DNSSEC stimuleringsregeling hier een voorloper van, alleen maakt die geen onderscheid tussen goed of fout gesigneerde domeinnamen. Die mogelijkheid hebben we nu wel.

Conclusie: drempel om te gaan valideren is (zo goed als) weg

Nog steeds is het aantal fouten niet nul (vanzelfsprekend ons streefgetal), maar met de huidige aantallen fouten en de immer dalende trend, concluderen we dat de validatiemonitor en zijn XXL-opvolger zeker zijn vruchten hebben afgeworpen en de DNSSEC kwaliteit van de .nl-zone zondermeer tevredenstellend is. Ter vergelijking; een meting in het .com-domein, eind juli 2015 wees uit dat er van de 488.800 gesigneerdeLink opent in een nieuwe browsertab domeinnamen 7.997 fout waren, waarvan 3.996 in de ‘denial of existence’-hoek. Dat is dus 1,63% oftewel ruim 13 keer zoveel als .nl. Daarbij moet nog worden aangetekend dat Nederlandse registrars een groot aandeel hebben in het aantal gesigneerde .com-domeinnamen en daar vermoedelijk ook fouten herstellen, wanneer ze door ons gewezen worden op fouten in .nl-domeinnamen.

Het goede resultaat bij het .nl-domein is zeker ook de verdienste van de registrars die DNSSEC doen. Het toont aan dat de meerderheid daarvan niet alleen weet waar zij mee bezig is, maar ook dat ze meestal prompt en adequaat reageren op fouten die de validatiemonitor rapporteert. Wat ons betreft trekt dat nog meer registrars over de streep om ook te gaan signeren.

Maar we hopen vooral dat we hiermee samen met onze registrars de drempel hebben verlaagd voor DNSSEC-validatie en dat meer ISP’s dit zullen gaan aanbieden aan hun klanten.