SSH-härdning är ett område där små designval ofta avgör om kontrollen blir robust eller bara ser bra ut på papper. SSH är ofta den viktigaste fjärradministrativa vägen till en Linuxmaskin och bör behandlas som en identitetskontroll, inte bara som en öppen TCP-port.
SSH-härdning i praktiken
Första byggstenen: Nyckelbaserad autentisering minskar beroendet av återanvända lösenord. Det behöver kopplas till ett tydligt syfte och kunna observeras i den miljö där kontrollen faktiskt ska användas.
En annan viktig del: Root-inloggning bör undvikas när separata administratörskonton kan användas. Det behöver kopplas till ett tydligt syfte och kunna observeras i den miljö där kontrollen faktiskt ska användas.
Det tekniska ankaret: AllowUsers eller grupper kan begränsa vilka identiteter som får nå tjänsten. Det behöver kopplas till ett tydligt syfte och kunna observeras i den miljö där kontrollen faktiskt ska användas.
Det som ofta avgör kvaliteten: Rate limiting och nätverksbegränsning minskar onödig exponering. Det behöver kopplas till ett tydligt syfte och kunna observeras i den miljö där kontrollen faktiskt ska användas.
Praktisk införandeordning
- Bekräfta en fungerande reservsession innan sshd-konfiguration ändras.
- Validera konfigurationen syntaktiskt före reload.
- Begränsa autentiseringsmetoder och administratörsgrupper.
- Flytta inte portnumret som ersättning för riktig policy.
- Granska auth-loggar efter ändringen.
För SSH-härdning håller jag därför införandet i små steg. Då går det att skilja ett säkerhetsproblem från ett rent driftfel och att rulla tillbaka just den ändring som gav ett oväntat resultat.
Så kan det se ut
Jag föredrar att hålla en etablerad SSH-session öppen, testa sshd -t och öppna en andra session efter reload. Först när den andra sessionen fungerar stänger jag den första.
Tre risker i implementationen
- Att stänga ute sig själv genom att ändra flera autentiseringskrav samtidigt.
- Att lämna gamla nycklar kvar efter rollbyte.
- Att anta att en ovanlig port gör tjänsten säker.
När jag anser ändringen färdig
För SSH-härdning vill jag avsluta med mätbara efterkontroller i stället för att nöja mig med att en statusruta visar ”enabled”. De viktigaste kontrollerna här är:
- Ny inloggning fungerar med avsedd nyckel.
- Lösenordsinloggning misslyckas där den ska vara avstängd.
- Obehöriga användare stoppas innan shell ges.
Ett negativt test hör också till SSH-härdning: den väg, identitet eller operation som inte ska vara tillåten ska misslyckas på ett förutsägbart sätt. Då kan nästa tekniker upprepa kontrollen och förstå både avsikten och gränsen.
Slutsats
SSH-härdning – nycklar, policy och minsta möjliga exponeringsyta handlar därför inte om att samla fler säkerhetsinställningar. Det handlar om att minska en konkret risk med en kontroll som har tydligt scope, tydlig ägare och ett verifierbart resultat. När före-läge, förändring och eftertest dokumenteras blir säkerhetsarbetet både säkrare och lättare att förvalta.