Et manglende punktum slukkede for Sveriges internet
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.
Kommentarer (12)
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
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 ...
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 :-)
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 :-)
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 !
Så vidt jeg ved virker internettet uden DNS - omend det er lidt svært at bruge i praksis til mange ting, når man nu ikke lige kender sine IP numre udenad.
Nu er det sådan at der typisk ligger rigtigt mange websites under samme IP adresse. Din browser fortæller så webserveren i den anden ende hvilket specifikt site du ønsker at se.
Mvh
HP
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 ;)
Nu er det sådan at der typisk ligger rigtigt mange websites under samme IP adresse. Din browser fortæller så webserveren i den anden ende hvilket specifikt site du ønsker at se.
Nå, man kunne ikke bruge WWW på nogle sider. Men derfor virkede internettet jo fint..
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 :)
Sikke en omgang håbløs pindehuggeri. Til beskeden "Forbindelsen over storebælt lukket pga. uheld", ville i så skrive "Lukket? Man kan da stadig fælde nogle træer, binde dem sammen til en tømmerflåde, og sejle sin bil over. Det kræver bare man har en motorsav, og påhængsmotor samt noget reb i bagagerummet"?

