Tio år med säkrare DNS!

Idag för 10 år sedan och med 300 000 domäner i zonfilen så införde vi DNSSEC i .se. Det var slutet på en ganska lång resa, eller i alla fall första etappen. Den första svenska workshopen för att testa den nya funktionen enligt specifikationerna från Internet Engineering Task Force arrangerades 1999. Då var jag fortfarande anställd på IT-kommissionens sekretariat, och standarden långt ifrån färdig skulle det visa sig. Vår ambition var att förändra världen, åtminstone den värld som fanns på internet.

Read this blog post in English.

Falsk DNS-information medför risk för att e-posttrafik leds till oönskat ställe, att information stjäls eller att transaktioner störs. Om exempelvis en användare vill till en specifik webbplats, kan falsk DNS-information göra att användaren hamnar på en annan webbplats som kan ha falskt innehåll eller som på ett bedrägligt sätt lockar användare att lämna ifrån sig känsliga uppgifter genom att föreställa någon annan som banken, skatteverket, försäkringskassan eller vad det nu kan vara. Det här visste DNS-världen om tidigt, men det tog ganska många år att få fram ett motmedel. Svaret på frågan kom alltså att bli DNS Security Extensions (DNSSEC), vilket ger möjlighet till upptäckt av manipulerad och förfalskad information från namnservrar genom användning av digitala signaturer.

I och med att vi var först var vi också tvungna att uppfinna alla hjul på egen hand. Väl medvetna om att vi skulle uppfattas som förebilder för resten av världen var vi väldigt noggranna med att dokumentera och att göra övergången på ett kontrollerat sätt. Med början den 13 september levererade vi en signerad zonfil till en operatör per dag. Tanken bakom denna stegvisa process var att vi skulle ha möjlighet att hantera eventuella problem utan tidspress. Under en kort övergångsperiod distribuerade NIC-SE som vi hette då alltså både en osignerad och en signerad version av se-zonen från våra distributionspunkter. Allt förflöt utan problem och den 16 september var vi klara med övergången.

Den svenska toppdomänen var den första toppdomänen i världen som införde DNSSEC. Det var dock inte tillräckligt att .se-zonen kunde hantera DNSSEC. Namnservrar för underliggande domäner och användarens namnserver som sköter uppslagningen av namn till IP-adress, den så kallade resolvern, måste också kunna hantera tekniken. Där har vi genom åren genomfört många insatser för att förmå dem att agera.

Den tillsynsansvariga myndigheten PTS har varit mycket stöttande i arbetet och de bestämde sig tidigt för att testa hur svårt det var att införa DNSSEC. Resultatet av utförda tester visade att införandet av DNSSEC generellt sett var enkelt att genomföra för namnserveroperatörer. Det som saknades var automatiserade och standardiserade verktyg för nyckelgenerering och zonsignering, vilket var en viktig förutsättning för att användandet av DNSSEC skulle ta fart och för att det ökade manuella arbetet inte skulle förta den förhöjda säkerhet som DNSSEC i övrigt förde med sig.

Nu, så här tio år senare har .se-zonen vuxit till 1 257 830 domäner varav 585 088 domäner är signerade. De flesta internetoperatörer i Sverige validerar svar signerade med DNSSEC. DNSSEC är fortfarande rätt väg att gå för att få ökad tillit till DNS-tjänsten och därmed internet. Idag är 895 toppdomäner signerade med DNSSEC.

Dyrt? Nej.

Det finns fria programvaror för signering. En uppgradering av den egna it-miljön måste ändå göras ibland. Passa på när det händer så blir det inte så betungande. Det finns välspridda DNS-programvaror som stödjer validering. Det krävs obetydligt mera hårdvara och det kräver inte så mycket extra skötsel.

Svårt? Nja.

Det är inte svårt att börja signera. Men det krävs förstås lite ordning och reda i it-miljön. Det är inte heller svårt att börja validera men det krävs mera kunskap för att förstå och kunna felsöka. Med DNSSEC är felsökning svårare än traditionell DNS.

Vad har vi lärt oss?

Att vi rörde om i myrstacken och så småningom med lock och pock fick allt fler registrarer att signera kunddomäner avslöjade svagheter och brister i tillgängliga programvaror, något som alla har nytta av.

Vi lärde oss att morötterna får vara tämligen saftiga för att attrahera registrarerna, så vi införde en möjlighet att få en ersättning för varje registrerad domän förutsatt att de svarade korrekt på DNS-frågor.

Vårt arbete med DNSSEC har gett oss erfarenhet – både internt och åt andra som arbetar med DNSSEC; utvecklare, registryer, registrarer och internetoperatörer.

Är det klart nu?

Signering av DNS med DNSSEC är bara början. Något som vi tidigt konstaterade var att signering av domännamnssystemet med DNSSEC skapade en fantastisk distributionskanal för andra säkerhetsattribut. Ett exempel är den nyligen accepterade standarden Domain-based Authentication of Named Entities (DANE).

Att blint lita på ett stort antal certifikatsutfärdare (CA) som vi de facto gör idag eftersom de är förinstallerade i till exempel webbläsare är dumt. En CA som utsatts för ett intrång eller bara är ond, kan utfärda certifikat för vilken domän som helst. Vi har sett flera exempel på att det inträffat de senaste 2-3 åren. DANE gör det möjligt för en domänadministratör att certifiera de nycklar som används i domänens TLS-klienter och servrar genom att lagra dem i DNS. Dessutom tillåter DANE domäninnehavare att specificera vilka CA som tillåts utfärda certifikat för en viss resurs, vilket löser problemet med att en CA kan utfärda certifikat för vilken domän som helst.

Det behövs fortfarande arbete för att övertyga fler registrarer, det är fortfarande inte alla registrarer som har signerat vare sig sina egna eller kundernas zoner. Det behövs fortfarande arbete för att övertyga fler domäninnehavare, framför allt de som företräder viktiga samhällsfunktioner.

Vi trodde tidigt, måhända lite naivt, att alla viktiga funktioner i samhället skulle tycka att det här med DNSSEC var angeläget för att skydda sina användare och kunder. Vi kunde inte haft mer fel. Om vi tar svenska banker är de inte alls med på banan. De flesta kommuner är signerade, men av de som är signerade har definitivt inte gjort allt rätt när det gäller DNS-driften. 65 av 217 statliga myndigheter har signerat sina domäner, med blandat resultat även här.

Tålamod är en dygd. Jag har gott om den varan. Jag tror på att fler kommer att upptäcka behovet av DNSSEC. Vill ni veta mer om vad som händer i världen har ISOC mycket information. Hör av er om det är något ni saknar och som ni tror att vi på IIS kan bidra med när det gäller vidareutveckling av ett säkrare internet.

Etiketter: , , ,
Fyll gärna i vår enkät.

Om bloggaren

Anne-Marie Eklund Löwinder Säkerhetschef, IIS Rankad som en av Sveriges främsta IT-säkerhetsexperter. En av få utvalda i världen att delta i nyckelgenereringen för DNSSEC i rotzonen för internet. Ledamot i ett flertal styrelser och remissvarare på statens offentliga utredningar om internet och säkerhet.

Lämna en kommentar

Svara på en kommentar

Obligatoriskt

Obligatoriskt

Frivilligt

Kommentarer

  • Magnus 16 september 2015, kl 09.56

    Kul att ni är ett så bra föredöme!
    Efter lite sökande hittade jag en lista med vilka registrarer som stödjer DNSSEC: https://www.icann.org/resources/pages/deployment-2012-02-25-en (senast uppdaterad: 2014-12-15). Synd att listan är så kort.

    Svara
  • Jonathan 16 september 2015, kl 10.30

    Det här var en fin liten historieomskrivning. Låt mig nu får berätta hur det egentligen gick till.

    När jag var verksamhetschef på Loopia och vi signerade det första kommersiella DNSSEC-certifikatet, i början av 2007, så debiterade .SE 250 kr för ett DNSSEC-certifikat. .SE såg inte DNSSEC som något som gemene man skulle få använda. Det var en extratjänst, något som var till för banker, finansinstitut och andra säkerhetskritiska företag.

    Det tyckte vi var vansinnigt på Loopia och därför sålde vi det första certifikatet till en helt vanlig privatperson, utan någon extra kostnad (utöver .SE:s 250 kr, som vi givetvis täckte för denna kund). Detta samtidigt som vi kraftigt ifrågasatte .SE:s syn på DNSSEC i media (vi ”rörde om i myrstacken”, så att säga). Efter mycket om och men gav .SE med sig och tog bort den extra avgiften för DNSSEC.

    Den enda anledningen till att .SE nu har 585K DNSSEC-signerade domännamn är att .SE betalar sina registrarer för varje signerat domännamn. Det är bara att kolla på statistiken för DNSSEC, där antalet signerade domäner hoppade från 350K till 570K domännamn mellan april och maj 2015 när en enskild registrar började signera alla sina (kunders) .se domäner: https://www.iis.se/domaner/statistik/tillvaxt/?chart=per-type

    DNSSEC är, tyvärr, ett enda långt misslyckande för .SE. Det är synd, då DNSSEC är en väldigt bra sak.

    Om DNSSEC någonsin ska få en ordentlig spridning och bred användning så måste gemene man bli varse om DNSSEC. De måste få en indikation på att det domännamn som de besöker/använder är säkerställt via DNSSEC. Något i stil med https-ikonen i webbläsarna. Men det vet .SE redan om, för det har jag tjatat om i snart 10 år också. ;)

    Svara
    • Jakob 16 september 2015, kl 15.50

      Som jag kommer ihåg det så kostade det extra att köra DNSSEC i början för att göra introduktionen långsam, men den kostnaden togs rätt snart bort. Att IIS tidvis ger rabatt till de registrarer som har signerade domäner (alternativt tar mer betalt för de som är osignerade) tycker jag är en utmärkt morot för få fler att köra DNSSEC.

      Koppling till HTTPS/TLS är på gång, men går långsamt framåt. Jag är författare till standarden för detta (DANE, RFC 6698) och även om jag önskat att den redan var fullt implementerad är jag trots allt förhoppningsfull inför framtiden. IIS har tyvärr inte så mycket att säga till om rörande detta utan får fortsätta att dra sitt strå till stacken.

      Svara
      • Jonathan 17 september 2015, kl 10.04

        Visst är det en bra morot för registrarerna, det håller jag med om. Men det är ingen hållbar lösning. Tänk t ex om/när en DNSSEC-vänlig registrar blir uppköpt (vilket ofta sker i denna bransch) och sedan migreras över till en plattform utan DNSSEC-stöd. Det motsatta kan också hända, absolut, men du förstår principen. Det är inte hållbart i längden.

        Roligt att höra om DANE. Läste en del av RFC:n och det verkar vettigt att ”smyga in DNSSEC” på detta sätt. Det är klart att IIS, eller .SE, inte kan göra så mycket åt detta. Men det kanske kan vara en idé att försöka samarbeta med ISRG, apropå Let’s Encrypt (https://letsencrypt.org/) som jag tror kommer få väldigt stort genomslag.

        Svara
  • Daniel 16 september 2015, kl 10.56

    Ta exemplet med bankerna; Vad är incitamentet för dem att införa DNSSEC utöver TLS, som de redan använder? Vilken ytterligare säkerhet ger DNSSEC i det fallet? All känslig e-post till/från kunder går ju exempelvis genom respektive internetbank. Känslig banktrafik skyddas på andra, mer fullständiga vis.

    Svara
    • Patrik Wallström 17 september 2015, kl 12.25

      Bankernas incitament att införa DNSSEC borde rimligtvis vara den generellt höjda säkerhetsnivån det ger, eftersom DNS är en viktig pusselbit i säkerheten på nätet. Givet den försämrade säkerhetsnivån på TLS och CA-strukturen (vilken CA litar du på?), så vill du kunna knyta certifikatet till ytterligare en tillitskedja, och här passar DNSSEC bra in i bilden. Precis som Jakob skriver är TLSA ett viktigt användningsområde för att med hjälp av DNSSEC öka säkerheten i andra protokoll.

      Det är inte svårt att genomföra en nedgraderingsattack på TLS. En MiTM kan lätt strippa bort all TLS och skicka ren HTTP till användaren, och det är väl snarare regel än undantag att en vanlig användare inte ser skillnad på HTTP och HTTPS. Därför måste vi ha flera lager av säkerhet.

      Vi kan inte lita på att användaren förstår vare sig TLS eller DNSSEC, och den här övertron på att användaren ska förstå det är det som gjort många protokoll misslyckade.

      Svara