# Härdade SSH till 24 kontrollerade direktiv med validering i tre steg — kandidatfilen, den sammansatta konfigurationen och sedan daemonens egen återläsning — efter att återläsningen hade avslöjat att den körande servern tyst åsidosatte två av de tjugofyra.

september 2026

**Situation.** SSH är den enda interaktiva vägen in på företagets värd, och dess konfiguration skrivs av en automatiseringsroll som i månader hade gått felfritt. En åtkomstrapport i september 2026 läste av de inställningar som daemonen själv faktiskt tillämpade och fann två som avvek från det rollen hade skrivit vid varje enskild konvergenskörning.

**Uppgift.** Härdningen måste bli något som daemonen bekräftar snarare än något som repot påstår, eftersom glappet mellan de två redan hade stått öppet i månader utan att någon märkt det.

**Handling.** Orsaken var konfigurationens ordningsföljd. Operativsystemet levereras med egna standardvärden som inte är bortkommenterade, ovanför det ställe där en drop‑in‑fil hamnar, och för de två inställningarna i fråga vinner den första förekomsten. Lösningen var ett filnamnsprefix som sorteras före leverantörens, en ändring i storleksordningen ett tecken och precis den sortens ändring som förblir trasig eftersom ingen kommer på tanken att titta. Det som byggdes runt den väger tyngre: tre steg av validering vid varje konvergenskörning. Kandidatfilen syntaxkontrolleras innan den installeras, så att en ogiltig konfiguration aldrig når värden. Den sammansatta konfigurationen kontrolleras efter installationen. Sedan läses daemonens egen utdata med de gällande värdena tillbaka och 24 direktiv kontrolleras mot den, så att en inställning som har skrivits men åsidosatts får körningen att misslyckas. Två direktiv utelämnades medvetet, båda eftersom daemonen inte längre implementerar dem och att skriva dem bara skulle se grundligt ut.

**Resultat.** Säkerhetsläget för SSH är nu daemonens svar snarare än repots påstående, och skillnaden är inte teoretisk — den var redan två inställningar bred när kontrollen skrevs. En konvergenskörning som inte kan se om en säkerhetsåtgärd fick effekt har inte verifierat den, och att greppa efter ett direktiv bevisar bara att det skrevs.

---

- Roll: Säkerhetsingenjör
- Kategorier: [Infrastruktur](https://platform.engineer.company/sv/categories/infrastructure/), [Automatisering och CI/CD](https://platform.engineer.company/sv/categories/automation/), [Linux och servrar](https://platform.engineer.company/sv/categories/linux/), [Säkerhet](https://platform.engineer.company/sv/categories/security/), [Test och kvalitetssäkring](https://platform.engineer.company/sv/categories/testing/), [Systemadministration](https://platform.engineer.company/sv/categories/system-administration/)
- Tjänster: [Infrastruktur som kod](https://platform.engineer.company/sv/services/infrastructure-as-code/), [Systemadministration](https://platform.engineer.company/sv/services/system-administration/), [Säkerhet och behörighetshantering](https://platform.engineer.company/sv/services/security-access/)

<https://platform.engineer.company/sv/portfolio/hardened-ssh-with-three-stage-validation-111/>
