System för DNSSECadministration Examensarbete Alexander Lindqvist Joakim Åhlund KTH
Introduktion Examensarbete - En del i.se:s DNSSEC-projekt Beställare Styrgrupp Projektledare och deltagare Staffan Hagnell Patrik Wallström, Jakob Schlyter, Anne-Marie Eklund Löwinder Alexander Lindqvist, Joakim Åhlund
Beskrivning av problemområdet DNSSEC komplext Hanteringen av nycklar är kritisk Känsligare för fel Fel resulterar i otillgänglighet Kräver mer tid
Lösning Verktyg underlättar hanteringen. Minskar arbetstiden Medför bättre kvalité Mindre risk för otillgänglighet
Syfte med projektet Resultera i en verktygslåda Underlätta införandet av DNSSEC Klara av minst 1000 domäner
Vad vi har gjort En sammanställning av intressanta verktyg Gjort en utvärdering av dem En demonstrerbar systemlösning Generell kravspec. på system för DNSSEC
Att göra Använda systemlösningen för automatisering av administration av DNSSEC för.se:s egna zoner.
Presentation av verktyg ZKT DNSSEC-Tools DISI CADR
ZKT Skapare: Holger Zuleger Version: 0.91T Programspråk: C Webbplats: http://www.hznet.de/dns/zkt/ Verktyg i programpaketet: dnssec-zkt: Används för att skriva ut information om nycklar samt ändra status på nycklar. dnssec-signer: Används för signering av zoner och automatisk hantering av nycklar.
DNSSEC-Tools Skapare: SPARTA med flera Version: 1.1.1 Programspråk: Perl Webbplats: http:// www.dnssec-tools.org Verktyg i programpaketet: zonesigner - Genererar nycklar och signerar zoner. genkrf - Skapar en keyrec-fil som innehåller info om zonen. krfcheck - Kollar en keyrec-fil efter fel. lskrf - Används för att visa info från keyrec-filen. expchk - Kontrollerar keyrec-filer efter förfallna zoner. fixkrf - Rättar till en keyrec-fil. cleankrf - Rensar en keyrec-fil från föräldralösa nycklar.
DISI Skapare: RIPE NCC Version: 0.0013 Programspråk: Perl Webbsida: http://www.ripe.net/disi/dnssec_maint_tool/ Verktyg i programpaketet: maintdb - Tar hand om och genererar nycklarna. Dnssigner - Signerar zonerna med nyklarna.
Ordförklaringar KSK - Nyckelsigneringsnyckel (Key Signing Key). Används för att signera ZSK. ZSK - Zonsigneringsnyckel (Zone Signing Key). Används för att signera zoner. DS - Delegation Signer, ett kondensat (fingeravtryck) av domännamnsinnehavarens publika DNSSEC-nyckel (DNSKEY).
Ordförklaringar (forts.)
Testprotokoll Allmänna frågor Nyckelgenerering ZSK och KSK Rollover för ZSK och KSK Zonsignering
Allmänna frågor Använder verktyget dnssec-signzone eller dnsseckeygen som grund? Krävs det speciell katalogstruktur för verktyget? Är det viktigt vad zonfilerna heter? Är det viktigt var zonfilerna ligger?
Allmänna frågor (forts.) Går det att importera nycklar? Går det att exportera nycklar? Finns det möjlighet att logga?
Nyckelgenerering ZSK och KSK Val av algoritm? Längd på nyckeln? Går det att generera nycklar till flera zoner med ett kommando? Tid att generera nycklarna? Finns administrativt stöd för nycklarna? Går det att skapa DS-poster till föräldern?
Key rollover Hanteras KSK rollover? Emergency KSK rollover? Hanteras ZSK rollover? Emergency ZSK rollover?
Zonsignering Går det att signera flera zoner med ett kommando? Går det att signera alla zoner med en enda nyckel? Möjlighet att välja giltighetstid på signaturen?
Zonsignering (forts.) Tid att signera 1000 zoner? Uppdaterar verktyget SOA-serial? Signerar verktyget vid förändring av zonfil?
Sammanfattning av testerna Utan script DISI ZKT DNSSEC-Tools Nyckelgenerering Enstaka Bra Bra Bra Flera Bra Bra Dåligt ZSK rollover Enstaka Bra Bra Bra Flera Dåligt Bra Acceptabelt KSK rollover Enstaka Bra Bra Bra Flera Dåligt Obefintligt Obefintligt
Statusrapport, nycklar Enstaka Bra Bra Bra Flera Bra Bra Bra Skriptbarhet Bra Bra Bra Export av nycklar Obefintligt Obefintligt Obefintligt Import av nycklar Obefintligt Obefintligt Obefintligt Val av randomkälla Bra Bra Bra Signering Enstaka Acceptabelt Bra Bra Flera Dåligt Bra Dåligt
Statusrapport, signering Enstaka Obefintligt Obefintligt Bra Flera Obefintligt Obefintligt Bra Automatisk uppräkning av SOA-serial Obefintligt Acceptabelt Acceptabelt Loggar Dåligt Obefintligt Dåligt Övervakning/larm Obefintligt Obefintligt Dåligt
Sammanfattning, DISI + Hög säkerhet på nyckelhantering. + Enkelt användargränssnitt. - Svårt att installera. - Svårt att lägga till nya zoner i efterhand. - Dålig på signering och information om signering. - Loggar inte.
Sammanfattning, DNSSEC-tools + Går att få ut mycket information. + Kontroll på vad man gör. - ZSK rollover-funktionen kräver att alla filer ligger i samma katalog. - Svårt att lägga till nya zoner i efterhand. - Många olika kommandon. - Loggar bara ZSK rollover.
Sammanfattning, ZKT + Sköter allt utom KSK rollover automatiskt. + Lätt att lägga till nya zoner i efterhand. + Enkelt att använda. - Allt sköts automatiskt, känns inte som att man har kontroll på vad som händer ibland. - Kräver speciell katalogstruktur. - Loggar inte.
Vårt system Baserat på verktyget ZKT. Zonfiler skapas/modifieras lokalt. Automatiskt Lätt att använda.
Systemkonstruktion
Demonstration
Demonstration (forts.)
Demonstration (forts.)
Demonstration (forts.)
Kravspecifikation Önskelista över vad ett DNSSEC-verktyg och system bör hantera Alla önskemål går i dagsläget inte att uppfylla
Nyckelgenerering Det skall gå att generera KSK och ZSK till flera zoner med ett kommando Det skall gå att välja RSASHA1 som algoritm Det bör även gå att välja andra algoritmer
Nyckelgenerering (forts.) Det skall gå att välja längd på nyckeln Det skall gå att manuellt ta bort valfria nycklar Det bör gå att importera nycklar Det bör gå att exportera nycklar Det bör finnas möjlighet att spara gamla nycklar Det bör finnas möjlighet att ta bort gamla nycklar
Zonsignering Det skall gå att signera flera zoner med ett kommando Det skall gå att ställa in giltighetstid på signaturen Zonen skall automatiskt bli omsignerad innan giltig signatur gått ut
Zonsignering (forts.) Om zonen är förändrad vid körning av signeringsverktyget skall zonen signeras Om zonen är oförändrad bör zonen inte signeras, förutsatt att signaturen inte gått ut
Double signature Två nycklar
Pre-publish ZSK Key Lifetime Month 1 Month 2 Month 3 Month 4 1 15 1 15 1 15 1 ZSK n-1 post publish pre publish ZSK n post publish pre publish ZSK n+1 RRSIG (KSK)
Key rollover Det skall gå att manuellt göra en KSK rollover, enligt double signature -metoden, på en eller flera zoner Det bör gå att göra en KSK rollover för flera zoner automatiskt, enligt double-signature -metoden.
Key rollover (forts.) En double signature KSK rollover skall ske enligt 1. Ny KSK skapas 2. Den nya KSK:n inkluderas i den osignerade zonfilen 3. ZSK:n signeras med både den aktiva och den nya KSK:n, zonen signeras med ZSK:n 4. Föräldern uppdateras med den nya DS-posten. (Not: kan ännu ej ske per automatik hos.se). 5. Föräldern förutsätts därefter signera den nya DS-posten. 6. Efter ett konfigurerbart intervall ska den gamla KSK:n tas bort, vilket inte får understiga två gånger den längsta TTL:en för zonen.
Key rollover (forts.) Det skall gå att göra en ZSK rollover på en eller flera zoner (Enligt pre-publish -metoden.). ZSK rollover skall kunna ske helt automatiskt för en eller flera zoner (Enligt pre-publish -metoden.). Det skall gå att ställa in livslängden på ZSK:n vid automatisk ZSK rollover.
Administration Zonfilerna skall skickas via en säker förbindelse eller genereras lokalt Det skall gå att välja vilka zoner som ska vara signerade Det skall gå att göra en signerad zon osignerad Det bör finnas som val att kunna uppdatera SOAserial
Administration (forts.) Det skall gå att föra loggar över: Signering Nyckelgenerering KSK rollover ZSK rollover Export av nycklar Import av nycklar
Administration (forts.) Det skall gå att lista information om: Zonnamn ZSK:er KSK:er Aktuella ZSK:er Aktuella KSK:er Förpublicerade ZSK:er Historik över tidigare nycklar
Administration (forts.) Informationen bör kunna sorteras efter: Ålder på nycklar Ålder på signaturer Algoritm på nycklar Längd på nycklar Livslängd på nycklar Tidpunkt för signering Livslängd för signering
Administration (forts.) Det bör gå att placera zonfilerna i valfri katalog Det bör gå att placera nycklarna i valfri katalog Det bör gå att lagra KSK:n på valfritt medie, t.ex ett smartcard eller liknande Det skall gå att skapa fil med DS-post
Sammanfattning och slutsatser Här är vi nu Nästa steg är.se