Spring til indhold

Har hærdet SSH til 24 validerede direktiver

Har hærdet SSH til 24 direktiver, der alle kontrolleres med assertions, med validering i tre trin — kandidatfilen, den samlede konfiguration og til sidst dæmonens egen tilbagelæsning — efter at tilbagelæsningen afslørede, at den kørende server ubemærket tilsidesatte to af de fireogtyve.

  • Castle, combination lock, close
    Foto: MelSi / Pixabay
  • Keys, open locks, security
    Foto: stevepb / Pixabay

24 SSH‑direktiver kontrolleret og derefter læst tilbage fra dæmonen

Situation. SSH er den eneste interaktive vej ind på virksomhedens vært, og dens konfiguration skrives af en automatiseringsrolle, der havde kørt rent i måneder. En adgangsrapport i september 2026 læste dæmonens egne effektive indstillinger og fandt to af dem i uoverensstemmelse med det, rollen havde skrevet ved hver eneste konvergering.

Opgave. Hærdningen skulle være noget, dæmonen bekræfter, og ikke noget, repositoryet påstår, for kløften mellem de to havde allerede stået åben i måneder, uden at nogen havde opdaget det.

Handling. Årsagen var rækkefølgen i konfigurationen. Styresystemet leverer sine egne standardværdier som aktive linjer, der ikke er udkommenteret, over det sted, hvor en drop‑in‑fil lander, og for de to omtalte indstillinger vinder den første forekomst. Rettelsen var et filnavnspræfiks, der sorterer foran leverandørens, hvilket er en ændring på ét tegn og præcis den slags, der forbliver i stykker, fordi ingen tænker på at kigge efter. Det, der blev bygget omkring den, betyder mere: tre valideringstrin ved hver konvergering. Kandidatfilen syntakstjekkes, før den installeres, så en ugyldig konfiguration aldrig når værten. Den samlede konfiguration tjekkes efter installationen. Derefter læses dæmonens eget output med de effektive indstillinger tilbage, og 24 direktiver efterprøves mod det, så en indstilling, der er skrevet, men bliver tilsidesat, får kørslen til at fejle. To direktiver blev bevidst udeladt, i begge tilfælde fordi dæmonen ikke længere understøtter dem, og fordi det kun ville se grundigt ud at skrive dem.

Resultat. SSH‑sikkerheden er nu dæmonens svar og ikke repositoryets påstand, og forskellen er ikke teoretisk — den var allerede to indstillinger bred, da tjekket blev skrevet. En konvergering, der ikke kan se, om en kontrol er trådt i kraft, har ikke verificeret den, og en søgning efter et direktiv beviser kun, at det blev skrevet.

Ét stykke af en længere fortegnelse — og det hele ligger her på sitet.

Hver post er skrevet på samme måde: situationen, opgaven, hvad vi gjorde, og hvad der ændrede sig.

Se hele fortegnelsen