Ponera att jag med min dator vill kontakta www.dn.se. Då måste min dator först av allt ta reda på vilken IP-adress som www.dn.se motsvarar. I normala fall skulle det fungera så här (överskådligt):
- Min dator frågar min internetoperatörs DNS-server om IP-adressen till www.dn.se.
- Internetoperatörens DNS-server kollar om det här är en adress som slagits upp nyligen, och svarar i så fall med det gamla, undansparade, svaret.
- I annat fall frågar den IIS' servrar om vilka DNS-servrar som har hand om domänen dn.se, och får tillbaka en lista av tre servrar, kristina.qbranch.se, maud.qbranch.se och grace.qbranch.se. (Det här svaret lägger den på minnet, för den händelse att vi vill prata med dem fler gånger.)
- Internetoperatörens DNS-server kontakter en godtycklig server bland dessa tre och frågar om IP-adressen till www.dn.se och får svaret 62.119.189.4. (Det här svaret lägger den också på minnet.)
- Och slutligen kommer svaret, 62.119.189.4, tillbaka till min dator.
Det som komplicerar saken är alla sparade svar. För stora sajter som www.dn.se gick det ganska bra, för sannolikheten är stor att en internetoperatörs DNS-server redan hade slagit upp www.dn.se nyligen, och alltså aldrig behövde göra ett nytt uppslag under tiden som avbrottet pågick.
Men för mer udda domäner, låt oss säga rebusrally.se, gör de sparade svaren saken tvärtom mycket värre. Ponera att någon försökte kontakta www.rebusrally.se under tiden avbrottet pågick. Dennes DNS-server hade förmodligen inget sparat svar, utan behövde göra en ny uppslagning, varvid den fick veta att den skulle kontakta ns1.loopia.se.se (vilket inte gick). Och det svaret lade den på minnet, så den kommer att fortsätta att tro att det är ns1.loopia.se.se som har hand om rebusrally.se, trots att felet i IIS' servrar är avhjälpt! Och det här drabbar alla kunder som använder den här DNS-servern.
Alla stora svenska internetoperatörer är medvetna om det här och har startat om sina DNS-servrar för att tömma dem på felaktiga sparade uppgifter, men det finns naturligtvis en oändlig mängd DNS-servrar runt hela världen som inte är omstartade och som fortfarande sitter med felaktigt data. Ett vanligt värde för hur länge man tillåter data att sparas är 86400 sekunder, det vill säga ett dygn, så inte förrän i kväll kommer det mesta återigen att fungera. Och det kan förekomma att vissa domäners data sparas ännu längre, kanske uppåt en vecka.
Att det här kunde hända är riktigt, riktigt illa. Jag förutspår att allehanda kroppsdelar, inte bara huvuden, kommer att rulla på IIS. Rimligen håller PTS just nu, even as we're speaking, på att kvittera ut tjänstebatongerna.
4 kommentarer:
En sådan helt förträfflig sammanfattning. Perfekt att peka folk på ju.
Det finns ett kort meddelande om det hela nu http://www.iis.se/2009/10/13/felaktig-dns-information/
Men de fortsätter väl att utreda vem som råkat göra felet så risken att det händer igen minimeras. Det intressanta är väl att det här visar hur viktigt det är att köra dnssec och att dns är något som illvilliga krafter skulle kunna attackera.
Du glömde ett steg. Att en fråga går till rootnamnservrarna för att fråga var .SE finns
Jonas: Jag skippade medvetet det steget för att inte bli för långrandig. (Jag skippade glue records också.)
Skicka en kommentar