Et manglende punktum slukkede for Sveriges internet

Svenskerne har fundet forklaringen på, hvad der fik det svenske toplevel-domæne til at gå i sort mandag aften: Der var et punktum for lidt i et script.

Mandag aften skete der det, der bare ikke må ske: En fejl hos den svenske domæne-administrator .SE fik sat samtlige 900.000 svenske domæner ud af drift.

Nu har fundet frem til, hvad der helt præcist gik galt. Og synderen var alfabetets mindste tegn - et punktum. Eller rettere manglen på samme.

Under en rutinemæssig opdatering af zonefilen for det svenske topleveldomæne, blev der brugt et script, hvor der manglede et helt afgørende punktum efter endelsen '.se'. Fordi der ikke var dette punktum, der er kendt som 'the trailing dot', blev linjen i scriptet ikke betragtet som afsluttet af softwaren Bind, der bruges på stort set alle navneservere.

Derfor lagde Bind selv en ekstra '.se'-endelse til, så alle domæner pludseligt hed .se.se til efternavn. Det lagde kl. 21.39 hele det svenske internet ned.

Sådan lyder den officielle forklaring fra den svenske domæneadministrator .SE. Opdateringen havde været igennem test, men her blev fejlen ikke opdaget.

En time efter at Sveriges internet var blevet slukket, havde teknikerne hos .SE en ny version af scriptet klar og løste problemet. Men på grund af caching på navneservere hos blandt andet internetudbydere, gik der mange timer før alt igen fungerede normalt.

Dem, der bruger den sikrede protokol DNSSEC, som ikke er indført i Danmark endnu, måtte trækkes med problemerne i endnu længere tid.

Teknikerne valgte nemlig i første omgang at droppe DNSSEC-signaturerne i zonefilen, for at kunne få liv i det svenske internet hurtigst muligt. Derfor gik der en time mere, før DNSSEC-brugerne kunne få hul igennem til svenske domæner.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (12)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Peter Makholm Blogger

Teknikeren valgte ikke at droppe DNSSEC-signaturen i zonefilen. Tilsyneladende valgte teknikeren at tage en allerede signeret zonefil og så rette SOA-recorden.

Dermed er zonen ganske indlysende ikke længere valid.

Men denne undskyldning er selvfølgelig bare et skalkskjul for at undgå at offentligheden får at vide at israelerne har hacket .SE

  • 0
  • 0
Christian Hvid

Måske skulle de overveje en testopstilling - og teste deres opdateringer på denne først? Den der lukning af sverige kan da ikke være hel billigt, sådan nationaløkonomisk betragtet ...

  • 0
  • 0
Anonym

Det er menneskeligt at fejle, total kaos kræver en computer

Sorry - kunne ikke lade være, men det gamle ordsprog gælder åbenbart stadig :-)

  • 0
  • 0
Jonas Høgh

Tja, det er et menneske, der har begået fejlen (det er en dokumenteret feature, at bind opfatter et DNS-navn uden "." til sidst som "relativt") så jeg kan ikke se hvorfor du skyder skylden på computeren her :-)

  • 0
  • 0
Jørgen A Thomsen

Det interessante i denne situation er, hvordan den blev håndteret menneskeligt. Selvom udviklernes test fejlede, så greb systemet ind og advarede om massive ændringer, men den slags advarsler havde operatøren set før, når der faktisk var gennemført store ændringer. Han gennemtvang derfor distributionen af zonefilen manuelt uden at få en forståelse af, hvorfor der var advarsler.

Godt det ikke var et atomkraftværk, han styrede !

  • 0
  • 0
Anonym

Tja, det er et menneske, der har begået fejlen (det er en dokumenteret feature, at bind opfatter et DNS-navn uden "." til sidst som "relativt") så jeg kan ikke se hvorfor du skyder skylden på computeren her :-)

Jeg synes nu ikke jeg skyder skylden på nogen computer, men at eskalere en simpel menneskelig fejl til at lægge .se ned, kræver en computer :-) (samme gælder andre Single Point Of Failure systemer) Nævner ingen navne - ingen nævnt, ingen glemt ;)

  • 0
  • 0
Klavs Klavsen

Se det løses jo ganske nemt - put navnet i din hosts fil sådan her skal linien se ud:

ip navn(e)

1.2.3.4 www.hjemmeside-du-vil-se.dk

Og så kan du bare skrive www.hjemmeside-du-vil-se.dk i din brwoser og webserveren i den anden vil vise dig den rigtige side.

Forklaringen er såre simpel at browseren vedligger en Host: header - hvori det navn du angiv i browseren står - og således findes det relevante site man ønsker - uanset om man bruger hosts fil eller dns.

At man så skal kunne ip'en i forvejen er selvfølgelig så at gøre det lidt besværligt - men det ændrer ikke ved at det er muligt uden DNS :)

  • 0
  • 0
Log ind eller Opret konto for at kommentere