Door Anoniem: Door Anoniem: Bart Jacobs, hoogleraar ICT beveiliging aan de Radboud Universiteit Nijmegen, weet niet wat er precies is gebeurd, maar in algemene zin vindt hij dat het ontwerp van de digitale infrastructuur in Nederland heroverwogen moet worden. "De laatste decennia hebben we ontworpen vanuit vredesperspectief, waarin alles met elkaar is verbonden. Wat gebeurt er dan als Poetin een kabel lostrekt?" Volgens TIB expert Bert Hubert is het juist "heel opmerkelijk" dat het al zo lang duurt.
https://nos.nl/artikel/2534897-oorzaak-storing-in-beeld-in-9-van-10-gevallen-menselijke-fout Het grappige is dat internet (IP) is ontstaan uit ARPANET wat een fundament heeft dat het niet afhankelijk is van één route en dat het netwerkverkeer altijd een weg naar zijn bestemming vindt. In de kern zit het IP-protocol nog steeds zo in elkaar, maar we hebben er zoveel bovenop gebouwd, dat één klein defect een enorme storing kan veroorzaken. Bart Jacobs heeft hier wel een punt, want al deze toevoegingen en uitbreidingen zijn al lang niet meer ontwikkelt met de enorme robuustheid die bij het oorspronkelijke ARPANET de basis was.
Dat geleuter over ARPAnet en nucleaire robuustheid is ook maar een inleidend praatje in een netwerk boek voor beginners.
Dat nog steeds serieus aanhalen is een grote vlag 'ik zit niet in de IT' .
Waar een packetswitched netwerk (en dus ARPAnet) goed robuust tegen (te maken) zijn, zijn 'normale' storingen van het type er gaat een graafmachine (of atoombom) door een kabel, en er ligt een vermaasd netwerk dat begin en eindbestemming ook over andere paden kan bereiken.
Waar ARPANET - ook in die gouden tijd - NIET robuust tegen is , zijn "byzantijnse storingen" . De verbinding is niet down, maar een router begint te liegen dat ie de beste bestemming is naar alles . Of naar een specifiek stukje netwerk.
En dan werkt ARPA net precies als ontworpen - herrouteer de pakketjes over de (nieuwe) beste bestemming.
Zo'n liegende router kan een softwarebug zijn , of (98 van de 100 keer) een admin die iets verkeerd geconfigureerd heeft.
En misschien 1 van de 100x een hacker die bewust verkeerde informatie stuurt .
en wil je een oldskool valkuil - gebruik maar een classful routing protocol terwijl het netwerk classless bezig is te worden.
Die overgang was er ook in die mooie ARPAnet tijd . Het kan een tijd blijven werken totdat ... )
Om (meer) bestand te zijn tegen dat type configuratie fouten maak je de setups (weer) statischer - met allerlei filters en sanity checks dat sommige updates _nooit_ van een bepaalde kant kunnen komen .
Oops - daar lever je dus een stuk potentiele redundantie in , als je iets niet gezien hebt dat met een bepaalde combinatie van verstoringen 'het beste pad' _toch_ daarover kan gaan.
Of de filters blijven staan terwijl de omgeving langzaam verandert en de checks niet meer kloppen. Gaat goed totdat er een keer een verbinding uitvalt en het redundante pad ook niet gebruikt wordt want filters staan niet goed.
Firewall beheerders weten er ook alles van - oude regels blijven eeuwig staan .
DNS is ook een plek waar het simpel mis kan gaan.
Fysiek redundant is vrij simpel . Kan super mooi, en is enorm robuust tegen DNS servers die gewoon uitgaan.
Zet nu eens het verkeerde IP bij de naam van een belangrijke server . Goed zo. Vertel me nu hoe dat 'redundantie' daar moet helpen .
Ah, beheerder Kees weet wel wat : we gaan de _belangrijke_ servers hardcoden in de hosts file op alle servers en clients.
Goed zo . Nu zit je voor eeuwig gebonden aan de IP adres dat beheerder Kees ooit in die files gezet heeft.
Oh, we gaan de belangrijke servers migreren naar een ander DC. DNS aangepast. Oh, waar allemaal stond het hardcoded ?
En dan heb je een setje verstoringen omdat er dingen hardcoded stonden en natuurlijk gaandeweg vergeten zijn.
(oh, niet in host file, maar ook in de db config file. En de db client config file staat ook het IP hardcoded natuurlijk.).
Het is een heleboel van de regen in drup verhalen, en hoe harder je stuurt om een bepaald type storing te voorkomen, des te kwetsbaarder je wordt voor een ander type .
Een simpele fysieke uitval van een component is haast altijd prima op te vangen. Daar is nu redundantie voor.
Dubbele voeding, dubbele harddisk, dubbele nic , dubbele server, dubbel data center .
Wat er overblijft zijn complexe storingen - soms softwarematig, vaak samenloop van beheerfouten en eventueel storing.
En daar is geen simpel recept tegen.
(De Facebook storing was ook boeiend - alle beheer werd automatisch gedaan, dat voorkomt veel 'operator error op 1 device' . tot met het automatische systeem een verkeerde update automatisch breed uitgerold werd.
En het geheel was zo superveilig gemaakt dat de beheerders die ergens binnen moesten om direct op het apparaat dingen op te lossen daar ook niet binnen konden (of mochten) van de schaal 0 uniformen wiens toegangscontrole systeem geen toestemming kon geven ...)
Zo heb ik met een aantal jaren geleden verbaasd over nationaal noodnet. Nationaal Noodnet is een telefoonnetwerk dat ooit gemaakt is (was) met als doel dat het altijd functioneert (kort door de bocht: het zijn de rode telefoons in de nucleaire bunkers). Op een gegeven moment ging KPN de analoge telefooncentrales uitfaseren en zaten ze met Nationaal Noodnet in de maag. Dat is toen gemigreerd naar VoIP met overal routers en switches. Ik ben ervan overtuigd dat bij een landelijke stroomuitval veel van deze noodtelefoons "dood" zullen zijn.
Dat kan nog best behoorlijk opgelost zijn, dat soort fysieke availability. Ander punt is dat die 'rode telefoons' bij nogal wat gebruikers (gemeentes, brandweer, etc) zo onbekend zijn dat niemand weet waar ze staan en hoe ze werken en waar het telefoonboek ervan uithangt) . Aimgh bleek dat ergens in de corona crisis.