Spring til indhold

Har bevist hele bandlysningsstien ved hver hærdningskørsel ved at bandlyse en reserveret testadresse, læse den resulterende kerneregel og ophæve bandlysningen i en garanteret oprydningsblok, så et fængsel, der holder op med at virke, får kørslen til at fejle i stedet for at melde sig rask.

Situation. Indtrængningsblokeringstjenesten var allerede blevet grebet i at blokere en port, som SSH‑dæmonen ikke lyttede på. At rette porten lukkede det tilfælde. Det gjorde intet ved grunden til at fejlen overlevede så længe, nemlig at en blokeringsvej ikke har nogen synlig fejl: tjenesten kører, fængslet står som aktivt, og intet noget sted siger, om en blokering nogensinde når kernen.

Opgave. Blokeringsvejen skulle afprøves ved hver konvergering, mod det levende regelsæt, frem for udledes af at tjenesten var oppe.

Handling. Konvergeringen blokerer nu en adresse fra den blok, standarderne reserverer til dokumentation, læser den resulterende regel tilbage i kernens pakkefilter og ophæver blokeringen i en oprydningsblok, der kører uanset om tjekket bestod eller fejlede. Det reserverede område er det bærende valg — testadressen tilhører ingen, så en efterladt blokering, der overlever en fejlet kørsel, ikke kan lukke et rigtigt netværk ude. Tilbagelæsningen fra kernen er den anden halvdel: tjenestens egen statusudskrift ville rapportere succes for en blokering, der ikke frembragte nogen regel, hvilket er præcis den fejl der testes for. Ved siden af den er blokeringsbackenden fastlåst frem for overladt til tjenestens egen detektion, og logbackenden er sat til detektion, fordi styresystemet ikke leverer nogen traditionel autentificeringslog, og det forkerte valg fejler tavst ved at holde øje med en fil, der aldrig dukker op.

Resultat. En blokeringsvej der holder op med at virke, fejler nu en konvergering i stedet for at blive ved med at rapportere sundt, hvilket var den eneste egenskab der betød noget. Det koster nogle få sekunder ved hver kørsel, og det skriver og trækker en firewallregel tilbage mod produktion hver gang, hvilket er et reelt indgreb i et levende system og blev accepteret på den baggrund, at alternativet allerede var påvist at være værre.