Automatische installatie nieuwe DNSSEC trust anchor

De meeste software voor DNSSEC-validerende resolvers ondersteunt inmiddels RFC 5011. Dat betekent dat deze resolvers in staat zijn om automatisch de nieuwe publieke root KSK-sleutel als trust anchor te installeren.

Hoewel RFC 5011 ontwikkeld is om (root) KSK roll-overs zonder tussenkomst van de systeembeheerder te laten verlopen, is het belangrijk om te controleren of de huidige installatie/configuratie van je resolvers inderdaad de automatische installatie van het nieuwe trust anchor ondersteunt. Is een validerende resolver uiterlijk op 11 oktober 2017 niet van het nieuwe trust anchor voorzien, dan zijn vanaf dat moment alle internet-domeinen voor de gebruikers/applicaties van de betreffende resolver onbereikbaar.

In een eerder artikel beschreven we de verschillende manieren waarop beheerders van validerende resolvers het nieuwe trust anchor op hun systemen kunnen installeren, gevolgd door specifieke informatie voor verschillende resolver software-pakketten.

In dit artikel bespreken we RFC 5011 en geven we een overzicht van de ondersteuning door de meest gebruikte resolvers. In een follow-up artikel laten we zien hoe je de goede werking van het nieuwe trust anchor kunt testen.

RFC 5011

RFC 5011 is een gestandaardiseerd protocol waarmee een validerende resolver zelf een volledige roll-over kan uitvoeren. Als eerste wordt de nieuwe publieke sleutel in de vorm van een DNSKEY-record opgehaald van een authoritatieve server voor de root zone (of een ander trust point). Omdat dit record is voorzien van een digitale handtekening verankerd op het oude, al vertrouwde sleutelpaar, kan de resolver de authenticiteit ervan gewoon met behulp van de bestaande DNSSEC-functionaliteit valideren. Door het gezette SEP-bit (Secure Entry Point; zie RFC 3757) in het DNSKEY-record weet de resolver dat het hier om een geldige sleutel gaat.

Later kan door het zetten van de REVOKE-vlag van het DNSKEY-record de oude publieke sleutel op zijn beurt uit de lijst van trust anchors worden gehaald. Deze al bestaande optie wordt nu dus niet meer alleen gebruikt voor het ongeldig verklaren van onveilige sleutelparen maar ook voor het opruimen van verlopen sleutels.

Omdat deze methode geheel en al rust op de aanwezigheid van een vertrouwde publieke sleutel aan resolver-zijde, werkt deze alleen voor systemen die al een trust anchor geïnstalleerd hebben. Vandaar dat de meeste ontwikkelaars van resolver software de actuele trust anchors standaard meeleveren als hard-gecodeerd onderdeel van hun pakket (de zogenaamde bootstrap hints).

KSK-2017

De nieuwe KSK-2017 sleutel is op 11 juli jongstleden in de root zone gepubliceerd. Je kunt de actuele publieke sleutels in de root zone als volgt opvragen:

  dig +multiline . DNSKEY

De output ziet er dan als volgt uit:

  .    13775 IN DNSKEY  257 3 8 (
           AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQ
           bSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh
           /RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWA
           JQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXp
           oY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3
           LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGO
           Yl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGc
           LmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=
           ) ; KSK; alg = RSASHA256; key id = 19036
  .    13775 IN DNSKEY  257 3 8 (
           AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTO
           iW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN
           7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5
           LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8
           efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7
           pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLY
           A4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws
           9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
           ) ; KSK; alg = RSASHA256; key id = 20326
  .    13775 IN DNSKEY  256 3 8 (
           AwEAAYvxrQOOujKdZz+37P+oL4l7e35/0diH/mZITGjl
           p4f81ZGQK42HNxSfkiSahinPR3t0YQhjC393NX4TorSi
           TJy76TBWddNOkC/IaGqcb4erU+nQ75k2Lf0oIpA7qTCk
           3UkzYBqhKDHHAr2UditE7uFLDcoX4nBLCoaH5FtfxhUq
           yTlRu0RBXAEuKO+rORTFP0XgA5vlzVmXtwCkb9G8GknH
           uO1jVAwu3syPRVHErIbaXs1+jahvWWL+Do4wd+lA+TL3
           +pUk+zKTD2ncq7ZbJBZddo9T7PZjvntWJUzIHIMWZRFA
           jpi+V7pgh0o1KYXZgDUbiA1s9oLAL1KLSdmoIYM=
           ) ; ZSK; alg = RSASHA256; key id = 15768

De sleutel met key id 20326 is de nieuwe publieke KSK-sleutel. Aan de waarde 257 (gezet SEP-bit) kun je zien dat het hier om een geldige KSK-sleutel gaat.

Activering

RFC 5011 schrijft voor dat een nieuwe publieke KSK-sleutel uit veiligheidsoverwegingen op zijn vroegst pas 30 dagen na zijn verschijning (de Hold-Down periode) aan de trust anchors mag worden toegevoegd. In de tussentijd moeten resolvers minstens elke twee weken controleren of die nieuwe sleutel er inderdaad nog steeds staat. Dat betekent dat resolvers de op deze manier binnengehaalde sleutel in de periode 10-24 augustus daadwerkelijk als trust anchor zullen activeren.

Ondersteuning

Hieronder geven we een overzicht van de meest gebruikte resolver software-pakketten en hun ondersteuning van RFC 5011.

BIND named

  • ondersteuning van RFC 5011 vanaf versie 9.7.0 ('managed-keys')
  • handmatige installatie vanaf versie 9.6.2 ('trusted-keys'), de eerste implementatie van DNSSEC-validatie in BIND

Unbound

  • ondersteuning van RFC 5011 vanaf versie 1.4.0 (managed keys in 'auto-trust-anchor-file')
  • handmatige installatie als statisch trust anchor voor oudere versies (via 'unbound-anchor')
  • KSK-2017 trust anchor meegeleverd met software vanaf versie 1.6.1
  • release 1.6.5 repareert een probleem met Unbound-installaties die gedaan worden tussen 11 september en 11 oktober aanstaande; beheerders die binnenkort Unbound installeren moeten dus deze laatste versie gebruiken

PowerDNS Recursor

  • ondersteuning van validatie pas sinds versie 4.0, nog geen ondersteuning van RFC 5011
  • KSK-2017 trust anchor meegeleverd met software vanaf versie 4.0.7
  • opwaarderen, anders handmatige installatie via de Lua-interface

Infoblox

Windows DNS Server

Knot DNS Resolver

Dnsmasq

  • geen ondersteuning van RFC 5011
  • KSK-2017 trust anchor meegeleverd met software vanaf versie 2.77
  • handmatige installatie vereist (vanaf versie 2.69, de eerste implementatie van DNSSEC, via trust-anchors.conf)
  • ontwikkelaar Simon Kelley geeft aan dat versies ouder dan 2.76 sowieso niet meer gebruikt moeten worden vanwege bugs in het validatie-gedeelte

Volgende stap: testen

Dit overzicht, samen met de eerder gepubliceerde informatie over de handmatige update van het trust anchor, vormt een goed uitgangspunt om je resolvers klaar te maken voor de daadwerkelijke roll-over (dit najaar). Belangrijk daarbij is dat bestaande installaties er in de praktijk heel anders uit kunnen zien dan hier beschreven. Zo kan de maintainer van een OS-distributie de KSK-2017 sleutel al als trust anchor aan "zijn" packages hebben toegevoegd. Of een installatie bevat wel een nieuwe versie van de resolver software, maar deze maakt nog gebruik van een inmiddels verouderde configuratie.

De volgende stap is het testen of alles inderdaad naar behoren functioneert. Dat onderwerp behandelen we in een follow-up artikel, als alle resolvers die RFC 5011 ondersteunen het nieuwe trust anchor geactiveerd zouden moeten hebben.