Härdning

SSH

SSH är ofta den primära kanalen för fjärradministration. Härdning av SSH handlar om stark autentisering, strikt åtkomstkontroll och säker drift, så att fjärråtkomst förblir tillförlitlig utan att bli en enkel ingångspunkt.

Lärandemål

Det här ska du kunna efter genomläsning.
  • Konfigurera SSH för stark autentisering och begränsad exponering
  • Minska risken för brute force och dra åt vem som kan logga in
  • Använd modern driftpraxis för administratörsåtkomst och nyckelhantering
  • Validera ändringar på ett säkert sätt och undvik att låsa dig ute

I korthet

En snabb mental modell innan du går på djupet.
🧠
Huvudmål
  • Nycklar eller certifikat istället för lösenord där det är möjligt
  • Ingen direkt rotinloggning och rensa listor för användares tillåtelse
  • Begränsad nätverksexponering och hastighetsbegränsning
  • Loggar så att du kan undersöka åtkomstförsök
Hög effektkontroller
  • Inaktivera lösenordsautentisering om möjligt
  • Ställ in PermitRootLogin på ingen eller förbjud lösenordsbaserad rotinloggning
  • Använd AllowUsers eller AllowGroups för att begränsa åtkomsten
  • Använd en bastion eller VPN istället för att exponera SSH offentligt
Praktiskt arbetsflöde
  • Testa ändringar i en andra session innan du startar om sshd
  • Behåll nödåtkomstplaner och kända bra konfigurationer
  • Vrid på nycklar och ta bort åtkomst omedelbart när folk går
  • Övervaka autentiseringsloggar för misslyckade inloggningar och ovanliga källor

Översikt

SSH härdning handlar mindre om hemliga magiska inställningar och mer om att kontrollera förtroendegränser. Bestäm vem som kan nå SSH-tjänsten, vem som kan autentisera och vad de kan göra efter inloggning.

Nyckelbaserad autentisering är vanligtvis starkare än lösenord eftersom den inte är sårbar för onlinegissning på samma sätt. Att kombinera nycklar med nätverksrestriktioner och hastighetsbegränsning minskar drastiskt risken för brute force.

Driftsäkerhet har betydelse. Tillämpa alltid ändringar medan du har en andra öppen session, och validera konfigurationssyntaxen innan du startar om tjänsten.

  • Föredrar nycklar eller certifikat och inaktivera lösenord där det är möjligt
  • Tillåt inte direkt rotinloggning och använd sudo för elevation
  • Begränsa åtkomst efter användare, grupp och källnätverk
  • Logga och övervaka autentiseringshändelser
Varning
Undvik självlåsning
Innan du startar om sshd, håll en andra session öppen och validera konfigurationssyntaxen. Ett misstag kan avbryta fjärråtkomst.
⚠️

Härdningsåtgärder

Varje åtgärd nedan är säker på de flesta system, men validera alltid i en testsession. Alla miljöer kan inte inaktivera lösenord omedelbart, så behandla listan som en stegvis härdningsplan.

Handling Vad du gör Varför gör du det Säkerhetseffekt
Använd SSH-tangenterna för autentisering Generera nycklar per användare, lagra privata nycklar säkert och distribuera offentliga nycklar till auktoriserade nycklar. Nycklar är resistenta mot onlinegissning och kan roteras per användare. Minskar meriters fyllning och brute force effektivitet.
Inaktivera lösenordsautentisering där det är möjligt Ställ in lösenordsautentisering på nej och se till att alla användare har fungerande nycklar först. Lösenord är lätta att råka ut för och lätta att nätfiska. Eliminerar lösenordsbaserad brute force som en ingångsväg.
Inaktivera direkt rotinloggning Ställ in PermitRootLogin på ingen eller åtminstone förbjud lösenordsbaserad rotinloggning och använd sudo för elevation. Root är ett högvärdigt mål och ofta brutalt forcerat. Minskar risken för direkt privilegieövertagande.
Begränsa vem som kan logga in Använd AllowUsers eller AllowGroups för att definiera explicita tillåtna identiteter. En mindre tillåten uppsättning minskar exponeringen och förenklar övervakningen. Begränsar åtkomst och minskar risken för kontomissbruk.
Begränsa nätverksexponeringen Bind SSH till hanteringsgränssnitt, använd brandväggsregler och föredrar VPN eller en bastionvärd för internetåtkomst. Om färre nätverk kan nå SSH, kan färre angripare testa autentiseringsuppgifter. Stor minskning av attackytan.
Aktivera hastighetsbegränsning och missbrukskontroller Använd verktyg som fail2ban eller brandväggshastighetsgränser för att bromsa upprepade fel. Angripare förlitar sig på gissningar med hög volym. Minskar brute force-genomströmning och buller.
Använd moderna kryptostandarder Håll OpenSSH uppdaterad och undvik att aktivera äldre chiffer eller svaga nyckeltyper för kompatibilitet om det inte krävs. Äldre kryptoalternativ är svagare och ökar risken. Förbättrar sessionernas konfidentialitet och integritet.
Logga och övervaka SSH aktivitet Samla in autentiseringsloggar och varna om upprepade fel, nya källplatser och administratörsinloggningar. SSH attacker är synliga om du tittar på rätt signaler. Förbättrar detekterings- och utredningskvaliteten.
Använd separata administratörskonton Använd inte personliga konton för privilegierade uppgifter. Använd sudo med auditerbarhet. Det minskar oavsiktlig privilegiekrypning och förbättrar ansvarsskyldigheten. Bättre spårbarhet och minskad sprängradie.
Tips
Ändra en sak i taget
Vänd inte många SSH inställningar samtidigt. Tillämpa, validera och dokumentera varje ändring så att du kan rulla tillbaka på ett säkert sätt.
💡

Signaler att bevaka

Mönster som är värda att undersöka vidare.
📡
  • Upprepade autentiseringsfel från många IP-adresser
  • Framgångsrika inloggningar från nya geografier eller ovanliga undernät
  • Oväntade root-inloggningsförsök eller sudo toppar
  • Nya nycklar har lagts till auktoriserade nycklar utan en spårad ändring

FÖRDJUPNING

Mental modell: SSH är ditt ledningsplan

SSH är inte bara ett inloggningsverktyg, det är ett kontrollplan. Om SSH misslyckas får din angripare samma hanteringsräckvidd som dina administratörer. Det är därför SSH härdning bör behandlas som att skydda en API för full systemkontroll.

En användbar mental modell är identitet plus kanal plus auktoritet. Identitet är hur du autentiserar. Kanal är hur sessioner upprättas och vidarebefordras. Auktoritet är vad sessionen kan göra när den är ansluten.

SSH härdning lyckas när du gör identiteten stark, gör sessioner förutsägbara och gör privilegierade handlingar granskbara. Du måste också undvika lockouter, eftersom lockouttryck får människor att försvaga konfigurationer permanent.

• Minska vem som kan försöka logga in, inte bara vem som kan lyckas.

• Minska vad en session kan nå, till exempel genom att begränsa vidarebefordran och begränsa adminomfattningen.

• Öka bevis: sessionsloggar och tydliga register över nyckelägande.

Baslinjeprioriteter i sshd-konfiguration

Den största säkerhetsvinsten kommer vanligtvis från att kontrollera autentiseringsmetoder och begränsa antalet tillåtna användare. Nycklar är säkrare än lösenord när de hanteras väl, men ohanterade nycklar kan bli en osynlig bakdörr.

Nyckelhantering har avvägningar: om du inaktiverar lösenordsinloggningar måste du vara säker på din nyckellivscykel, inklusive rotation och återkallelse. Annars blir en stulen privat nyckel en långlivad legitimation.

Modern SSH-härdning handlar också om att begränsa riskabla funktioner som är bekväma men som utökar räckvidden, som agentsändning, TCP-sändning och obegränsade hamntunnlar.

En annan kompromiss är användbarhet inom automatisering. CI-system och konfigurationshantering behöver åtkomst. Det säkra mönstret är att använda separata tjänstekonton, scoped principals och begränsade kommandon snarare än att ge bred interaktiv åtkomst.

När du antar striktare inställningar, planera en säker utrullning så att du kan bekräfta åtkomsten innan du stänger den sista dörren.

En bra konfiguration är en du kan förklara. Om du inte kan förklara varför ett direktiv finns, kommer det att missbrukas under incidentrespons.

Vanliga fällor i SSH härdning

Ett vanligt felläge är att behandla SSH som inställt och glömt. Med tiden läggs fler nycklar till, gamla konton förblir aktiverade och undantag görs för enkelhetens skull. Åtkomstytan växer långsamt.

En annan fälla är att endast förlita sig på nätverksplats. SSH som exponeras för interna nätverk attackeras fortfarande genom komprometterade slutpunkter, VPN åtkomst och feldirigerad trafik. Antag att angripare kan nå interna SSH så småningom.

Operativa misstag spelar också roll: administratörer testar ändringar på fel värd, glömmer att ladda om eller underhåller flera konfigurationsfiler som beter sig annorlunda än förväntat.

Se upp för dold nåbarhet genom vidarebefordran. En användare med SSH-åtkomst kan ofta skapa tunnlar som kringgår nätverkskontroller om vidarebefordran inte är begränsad.

• Föräldralösa nycklar: nycklar utan ägare är hög risk eftersom du inte kan rotera dem med förtroende.

• Missbruk av krossglas: nödåtkomst som blir daglig åtkomst är en förutsägbar väg till svag autentisering.

Säker utrullning och förändringskontroll

Säker förändringskontroll för SSH är inte byråkrati, det är hur man undviker lockouter och undviker att försvaga kontroller under press. Validera alltid nya inställningar i en parallell session innan du stänger din sista arbetssession.

Rulla ut ändringar i etapper. Börja med en kanariefågelvärd, sedan en undergrupp av värdar och sedan flottan. Om du har en bastionmodell, tillämpa strängare regler vid bastionen först eftersom det är chokepunkten.

Använd explicita tillåtelselistor för vem som kan logga in och varifrån. Detta minskar chansen att ett oväntat konto eller nyckel fungerar tyst.

När ska du slappna av härdning: ibland behöver du tillfällig lösenordsautentisering för en leverantör eller en tillfällig tunnel för migrering. Det säkra mönstret är tidsboxad tillgång plus övervakning, sedan automatisk återgång.

Dokumentera undantag som du skulle dokumentera brandväggsregler: omfattning, ägare, utgångsdatum och teststeg för att bekräfta borttagning.

Föredrar att slappna av genom att begränsa omfattningen istället för att försvagas globalt, tillåt till exempel en användare från ett källnätverk under en kort period.

Loggning och detektering som kompletterar härdning

SSH härdning behöver detekteras för att fånga upp det som härdning inte kan förhindra, såsom stulna nycklar eller insidermissbruk. Målet är att synliggöra onormal åtkomst snabbt.

Verifiering börjar med att bekräfta effektiv konfiguration, inte bara vad som är skrivet i en fil. Olika inkluderar och matchningsblock kan få två värdar att bete sig olika även om de ser likadana ut.

Så här verifierar du och hur det ser ut:

• Effektiv konfiguration: du kan bekräfta den slutgiltiga utvärderade konfigurationen och den matchar din avsikt

• Åtkomstyta: inloggningsförsök kommer från förväntade nätverk och den tillåtna användarlistan är kort

• Autentiseringsbeteende: lösenordsautentisering inaktiveras där det är avsett, och nyckelbaserad autentisering är knuten till kända ägare

• Sessionsbevis: loggar visar vem som anslutit, varifrån och vad som kördes för privilegierade sökvägar

När du ska slappna av detta: akut återhämtning och initial bootstrap. Dokumentera bootstrap-fönstret, håll det kort och se till att värden automatiskt övergår till standardbaslinjen.

Behandla varje permanent avslappning som en riskacceptans. Para ihop den med kompenserande kontroller som tightare nätverksomfång, starkare MFA vid en gateway eller sessionsinspelning.