Säkert skal, eller SSH, är ett nätverksprotokoll som normalt används för att ansluta en användare till ett fjärrsystem över ett osäkert nätverk. SSH autentiserar inte bara användare, utan också krypterar kommunikation över nätverk som internet. SSH används i organisationer av systemadministratörer, användare och automatiserade processer för att initiera filöverföringar, hantera infrastruktur och ge åtkomst till andra verksamhetskritiska systemoperationer. SSH fungerar även inom molntjänster för att hantera nätverks- och säkerhetsproblem. SSH-nycklar fungerar som ett sätt att autentisera användare utan att använda användarnamn och lösenord. Istället har användare ett betrott SSH-nyckelpar som autentiserar dem som den person de utger sig för att vara.
Hur används SSH-nycklar?
SSH-nyckelautentisering börjar med att ett nyckelpar skapas. Eftersom autentisering med SSH är asymmetrisk skapas ett asymmetriskt nyckelpar. Asymmetrisk kryptering använder ett nyckelpar som består av en offentlig och en privat nyckel, även kallad auktoriserad respektive identitetsnyckel. Den offentliga nyckeln ger användaren åtkomst till fjärrfilsystemet, så att inte vem som helst kan logga in i fjärrfilsystemet. Även om en obehörig användare skulle stjäla den offentliga nyckeln skulle de inte kunna komma åt någon information i fjärrfilsystemet, eftersom de också skulle behöva den privata nyckeln. Den privata nyckeln fungerar som autentisering för användarens identitet och ger den autentiserade användaren åtkomst till de data de har åtkomst till. Som med alla privata nycklar bör identitetsnyckeln förvaras säker och endast vara tillgänglig för den användare som autentiseras. Skapandet av nyckelparet sker endast en gång, vilket innebär att nyckelparet är relaterat till användaren under hela dess livstid. En lösenfras kan också användas för att lägga till en ytterligare säkerhetsåtgärd till SSH-autentiseringsprocessen. Informationen i meddelandet krypteras med symmetrisk kryptering.
Efter att det asymmetriska nyckelparet har skapats skickar klienten sedan den publika nyckel-ID:t till servern för autentisering. Servern söker efter ett matchande ID-nummer för den publika nyckeln, och om det hittas krypteras ett meddelande med den publika nyckeln och skickas till klienten. Klienten dekrypterar meddelandet, beräknar MD5-hashen för meddelandet och skickar tillbaka det till servern. Om hasherna matchar autentiseras klienten i systemet och kan arbeta i fjärrfilsystemet.
Varför är SSH-nyckelhantering viktigt?
SSH-nyckelhantering är av största vikt vid kryptering av anslutningar via SSH. Felaktig hantering av ett SSH-nyckelpar kan leda till att hela fjärrsystemet som åtkoms äventyras. Nedan följer en lista över de risker som SSH-nyckelhantering motverkar:
-
Förlust av information
Angripare som får kontroll över SSH-nycklar kan stjäla, radera eller modifiera all data som offret hade tillgång till. Detta kan resultera i exponering av känsliga uppgifter, såsom personligt identifierbar information (PII), eller förlust av samma data.
-
Generering av ovidkommande nyckel
Alla användare med åtkomst till fjärrsystemet kan skapa ett nyckelpar för andra autentiseringsändamål. Om ett SSH-nyckelpar hanteras felaktigt och en angripare skulle stjäla nycklarna, skulle de kunna skapa ett obegränsat antal nya nyckelpar. Detta skulle inte bara göra det svårt att hantera de legitima nycklarna, utan det skulle också tillåta angriparen att logga in via vilket som helst av de nyskapade nyckelparen om nyckelparet de stal raderades.
-
Brist på utgångsdatum
SSH-nycklar har inget utgångsdatum, som SSL/TLS-certifikat göra, vilket ökar risken för att ett SSH-nyckelpar hanteras felaktigt. Ju längre ett nyckelpar existerar, desto lättare är det att inte fortsätta skydda det när nya nycklar skapas. Äldre nycklar är mindre benägna att roteras också, eftersom systemadministratörer kanske inte känner till syftet bakom en nyckel. Ett annat problem som uppstår på grund av avsaknaden av utgångsdatum är att när teammedlemmar lämnar organisationen kan de fortfarande ha tillgång till sin nyckel, vilket gör att de kan komma åt all data de kan komma åt medan de är på företaget. Radering av äldre nycklar sker också sällan, eftersom systemadministratörer fruktar att de kommer att blockera viktig åtkomst om de tar bort nyckelparet.
-
Solo-tangenter
Om en anställd lämnar organisationen tenderar de att lämna kvar en enda nyckel, vilket leder till ett nyckelpar som inte kan användas. Användare kan också förlora sina nycklar, vilket orsakar fler problem när de försöker ta bort dem. Precis som tidigare är systemadministratörer tveksamma till att göra sig av med nycklar som de inte vet syftet med, särskilt eftersom det kan störa kritiska system.
-
Nyckelutbredning
Allt eftersom en organisation verkar under årens lopp skapas fler och fler nycklar. Med så många nycklar som skapas blir det svårt att spåra och hantera nycklarna i omlopp. Detta öppnar dörren för angripare att kompromettera nycklar, eftersom varje enskild nyckel sannolikt inte kan redovisas.
-
SSH-baserade attacker
SSH-baserade attacker blir allt vanligare varje dag. Hotaktörer kan utnyttja komprometterade privata nycklar och utge sig för att vara administratörer, modifiera krypterad trafik, läsa krypterad trafik och komma åt material som inte är avsett för obehöriga personer. Om en angripare får tillgång till en organisations fjärrsystem kan de modifiera data, radera data, stjäla data, implementera skadlig kod eller störa kritiska systemdrifter.
-
Compliance
En av de viktigaste anledningarna till att hantera nycklar korrekt är att följa säkerhetsstandarder och föreskrifter. Myndigheters efterlevnad och regleringsstandarder som PCI DSSoch FIPSkräver att organisationer hanterar sina SSH-nycklar väl. Det amerikanska National Institute of Standards and Technology (NIST) har släppt riktlinjer för de bästa sätten att säkerställa att SSH-nycklar hanteras korrekt i deras dokument. NIST IR 7966.
Efterlevnad av SSH-nyckelhantering
För att följa standarder som PCI-DSS, hippaoch FIPS, finns det krav som måste uppfyllas:
- Identiteter och SSH-nycklar bör hanteras korrekt för att säkerställa skydd av PII och annan känslig information.
- Tangenter bör roteras när de används under en längre tid och raderas om de inte längre är aktiva.
- Policyn med minsta möjliga privilegier bör följas. Det innebär att användare bara ska ha tillgång till information de absolut behöver, och inget mer. Detta hindrar angripare som stjäl nycklar från att komma åt hela fjärrsystemet.
- Nycklar bör snabbt bytas ut vid förlust eller kompromettering
- Säkerheten i områden som innehåller betalningsinformation eller PII-data bör särskilt övervakas och separeras från andra delar av nätverket.
Bästa praxis för SSH-nyckelhantering
Processen för att hantera SSH-nycklar korrekt är mycket viktig att utföra korrekt. Du måste säkerställa att din organisations nycklar är fullständigt täckta och att eventuella säkerhetsbrister är korrekt täckta. Följande är en serie förslag på bästa praxis för korrekt SSH-nyckelhantering.
-
Upptäckt och konsolidering
Det första steget i SSH-nyckelhanteringsprocessen är att ta reda på vilka och hur många nycklar som har distribuerats inom organisationen. Nycklar bör kopplas till de användare och servrar de motsvarar, och de bör kontinuerligt kontrolleras för hur länge de har använts. De bör roteras om de har funnits länge. Om användaren som autentiserats av nycklarna inte längre är inom organisationen bör nycklarna raderas för att förhindra missbruk av nyckelparet. Nycklarna bör också konsolideras till ett område inom organisationen. Detta hjälper till med hanteringen av nycklar samtidigt som det minskar attackytan för nycklarna. Att centralisera lagringen av nycklarna hjälper till att förhindra att enskilda nycklar och nyckelspridning uppstår.
-
Skapande och tillämpning av policyer
Nästa steg är att skapa policyer för att skydda nycklarna. Dessa policyer bör definiera:
- Vem kan skapa nycklar
- Hur man skapar och lagrar nycklar
- Vilka nycklar är skapade för
- Hur länge tangenterna ska finnas kvar innan de roteras
- Vad motiverar borttagning av en nyckel
- Den maximala åtkomst en nyckel bör ha
- Så länge dessa policyer tillämpas av organisationen bör nycklar inte misskötas och attackvektorer för hotaktörer bör minskas kraftigt. Dessa policyer är kärnan i SSH-nyckelhantering, så tillämpningen av dessa policyer bör prioriteras i alla organisationers säkerhetsplaner.
-
Riskidentifiering och neutralisering
Alla säkerhetsbrister relaterade till SSH-nycklar bör identifieras och elimineras. Med centraliseringen av SSH-nyckelparen blir det enklare att identifiera problem. Säkerhetstekniker bör leta efter gamla eller oanvända nycklar, osäkra lagringsalternativ eller komprometterade nycklar. Som tidigare nämnts bör gamla nycklar roteras och oanvända nycklar bör raderas. Detta steg i processen underhåller fjärrsystemen och säkerställer deras fortsatta säkerhet.
-
Tangentrotation
Nycklar bör roteras regelbundet när de har använts ett tag. Båda nycklarna i nyckelparet måste roteras mot nya nycklar. Detta minskar risken för att en nyckel komprometteras på grund av att säkerhetstekniker inte skyddar nyckeln eftersom de inte vet vad den är till för. Detta minskar också risken för att nyckelspridning sker. Automatisering av detta steg minskar avsevärt risken för mänskliga fel där en nyckel förbises och inte roteras.
-
Kontinuerlig övervakning och revision
Det sista steget är att kontinuerligt övervaka och granska nycklarna för att säkerställa att de roteras och raderas vid lämpliga tidpunkter. Utan kontinuerlig övervakning kan nycklar falla mellan luckorna och bli kvar efter att användaren har lämnat organisationen, vilket gör att företaget kan komma åt hoten från aktörer. Genom kontinuerlig övervakning elimineras risken för nyckelspridning, enskilda nycklar och bristande efterlevnad av regelefterlevnad. Automatisering av detta steg i processen skulle eliminera mänskliga fel.
SSH-nyckelhantering med krypteringskonsulting
Krypteringskonsulting erbjuder en mängd olika metoder för att skapa ditt eget framgångsrika system för SSH-nyckelhantering. Vi håller månatliga möten webbseminarier gällande SSH-nyckelhantering, krypteringsnycklarhantering, nyckelskydd i molnet med mera. Vi tillhandahåller även bedömningar och utbildning för Molnnyckelhantering på AWS, Azureoch Google Cloud PlatformVi kan säkerställa att ditt system uppfyller efterlevnadsstandarder och skyddar data med de bästa tillgängliga metoderna. Vi skriver även varje vecka. bloggar som kan hjälpa dig att hitta de bästa metoderna att använda för dina behov av nyckelhantering och lära dig mer om de olika aspekterna av din organisations datasäkerhetsbehov.
Slutsats
SSH, ett viktigt nätverksprotokoll för säkra anslutningar, förlitar sig på nyckelpar för autentisering och kryptering. Korrekt SSH-nyckelhantering är avgörande, eftersom felhantering kan leda till dataförlust, obehörig åtkomst och regelöverträdelser. Bästa praxis inkluderar identifiering och konsolidering av nycklar, skapande och tillämpning av policyer, riskidentifiering, nyckelrotation och kontinuerlig övervakning.
