# Reduserte eksponeringen i systemd‑sandkassen for hver enhet plattformen installerer — tjenesten for dødmannsknappen fra 9,6 UNSAFE til 1,5, en internetteksponert git‑forge fra 8,3 EXPOSED til 1,5 — og la til en parserkontroll ved konvergering etter å ha funnet et feilstavet direktiv som ble ignorert i det stille i tre enhetsmaler.

september 2026

**Situasjon.** Tretten enhetsfiler var installert av dette repoet og kjørte på produksjonsverten med de privilegiene tjenestestyreren gir som standard, og det er de fleste. En herdingsscore satte tjenesten for dødmannsknappen til 9,6 og kalte den usikker; den internetteksponerte git‑forgen fikk 8,3 og betegnelsen eksponert. Begge tallene var korrekte, og ingen av dem hadde ført til noe, fordi en score uten en terskel knyttet til seg er et tall folk lærer seg å hoppe over.

**Oppgave.** Hver enhet trengte en sandkasse som sto i forhold til det den faktisk gjør, og sandkassene trengte en sjekk, fordi feilmodusen til en feil sandkasse er at enheten starter og så svikter et sted parseren ikke kan se.

**Handling.** Privilegiebegrensninger gikk inn i alle enhetsmaler — et privilegietak låst til enhetens egne privilegier, et filter for systemkall, begrensede adressefamilier og minne som kan være skrivbart eller kjørbart, men aldri begge deler. De målte resultatene: dødmannsknappen gikk fra 9,6 til 1,5, forgen fra 8,3 til 1,5 og begge sikkerhetskopienhetene fra 9,6 til 2,3 og 2,5. Arbeidet med dem avdekket noe bedre enn scorene. Ett direktiv hadde vært feilstavet i tre enhetsmaler så lenge de rollene hadde eksistert — et navn som ser plausibelt ut, men ikke finnes, og som tjenestestyreren besvarer ved å logge at den ikke kjenner igjen nøkkelen, og så starte enheten likevel. Et søk med grep etter et direktiv beviser at det ble skrevet; bare parseren beviser at det trådte i kraft. Derfor kjører en verifiseringsrolle nå hver enhet gjennom tjenestestyrerens eget verifiseringsverktøy under kjøringen, og rollen inkluderes av hver rolle som installerer en enhet. Det dette fortsatt ikke fanger, står klart i de samme dokumentene: alle direktiver som kan ødelegge disse enhetene, ødelegger dem ved kjøretid, ikke ved parsing, og en score kan ikke si om et skript fortsatt når frem til sin siste linje.

**Resultat.** Hver enhet kjører med de privilegiene den trenger og ingen andre, tallene er målt og ikke påstått, og den typen feil der en skrivefeil blir et sikkerhetstiltak som i det stille mangler, får nå en kjøring til å feile. Begrensningene ved målingen står dokumentert ved siden av den, og det er den delen som hindrer neste leser i å stole for mye på en score i det grønne området.

---

- Rolle: Site Reliability Engineer
- Kategorier: [Infrastruktur](https://engineer.company/nb/categories/infrastructure/), [Containere (Docker/Kubernetes)](https://engineer.company/nb/categories/containers/), [Automatisering og CI/CD](https://engineer.company/nb/categories/automation/), [Linux og servere](https://engineer.company/nb/categories/linux/), [Sikkerhet](https://engineer.company/nb/categories/security/), [Testing og kvalitetssikring](https://engineer.company/nb/categories/testing/)
- Tjenester: [Infrastruktur som kode](https://engineer.company/nb/services/infrastructure-as-code/), [Containerisering og orkestrering](https://engineer.company/nb/services/containerization/), [Systemadministrasjon](https://engineer.company/nb/services/system-administration/), [Sikkerhet og tilgangsstyring](https://engineer.company/nb/services/security-access/)

<https://engineer.company/nb/portfolio/cut-systemd-sandbox-exposure-across-every-unit-119/>
