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 KSK-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.
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.5
- opwaarderen, anders handmatige installatie via de Lua-interface
Infoblox
- geen ondersteuning van RFC 5011
- handmatige installatie vereist; Infoblox Nederland geeft aan zijn klanten hierover actief te informeren
Windows DNS Server
- ondersteuning van RFC 5011 vanaf Windows Server 2012
- handmatige installatie voor Windows Server 2008, de eerste implementatie van DNSSEC in Windows (via de DNS Manager of de Dnscmd.exe tool)
Knot DNS Resolver
- ondersteuning van RFC 5011
- handmatig/bootstrap via '-k root.keys' optie of in 'trust_anchors.file', of met behulp van 'trust_anchors.add' configuratie-optie
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.