Veilige Shell, of SSH, is een netwerkprotocol dat normaal gesproken wordt gebruikt om een ​​gebruiker via een onveilig netwerk met een extern systeem te verbinden. SSH authenticeert niet alleen gebruikers, maar ook versleutelt Communicatie via netwerken zoals internet. SSH wordt in organisaties gebruikt door systeembeheerders, gebruikers en geautomatiseerde processen om bestandsoverdrachten te initiëren, infrastructuur te beheren en toegang te bieden tot andere bedrijfskritische systeembewerkingen. SSH wordt ook gebruikt in cloud computing om netwerk- en beveiligingsproblemen op te lossen. SSH-sleutels fungeren als een manier om gebruikers te authenticeren zonder gebruikersnamen en wachtwoorden te gebruiken. In plaats daarvan hebben gebruikers een vertrouwd SSH-sleutelpaar dat hen authenticeert als de persoon die ze zeggen te zijn.
Hoe worden SSH-sleutels gebruikt?
SSH-sleutelauthenticatie begint met het aanmaken van een sleutelpaar. Omdat authenticatie met SSH asymmetrisch is, wordt er een asymmetrisch sleutelpaar aangemaakt. Asymmetrische encryptie maakt gebruik van een sleutelpaar dat bestaat uit een publieke en een privésleutel, ook wel respectievelijk de geautoriseerde en identiteitssleutel genoemd. De publieke sleutel geeft de gebruiker toegang tot het externe bestandssysteem, zodat niet zomaar iedereen kan inloggen op het externe bestandssysteem. Zelfs als een ongeautoriseerde gebruiker de publieke sleutel steelt, heeft deze geen toegang tot informatie in het externe bestandssysteem, omdat hiervoor ook de privésleutel nodig is. De privésleutel fungeert als authenticatie voor de identiteit van de gebruiker en geeft de geauthenticeerde gebruiker toegang tot de gegevens waartoe hij toegang heeft. Zoals met alle privésleutels, moet de identiteitssleutel veilig worden bewaard en mag deze alleen toegankelijk zijn voor de gebruiker die ermee wordt geauthenticeerd. Het sleutelpaar wordt slechts één keer aangemaakt, wat betekent dat het sleutelpaar gedurende de gehele levensduur aan de gebruiker is gekoppeld. Een wachtwoordzin kan ook worden gebruikt om een ​​extra beveiligingsmaatregel toe te voegen aan het SSH-authenticatieproces. De gegevens in het bericht worden versleuteld met symmetrische encryptie.
Nadat het asymmetrische sleutelpaar is aangemaakt, stuurt de client de openbare sleutel-ID naar de server voor authenticatie. De server controleert of er een overeenkomend ID-nummer voor de openbare sleutel is en versleutelt, indien gevonden, een bericht met de openbare sleutel en stuurt dit naar de client. De client stuurt vervolgens decodeert Het bericht, berekent de MD5-hash van het bericht en stuurt deze terug naar de server. Als de hashes overeenkomen, wordt de client geauthenticeerd in het systeem en kan hij binnen het externe bestandssysteem werken.
Waarom is SSH-sleutelbeheer belangrijk?
SSH-sleutelbeheer is van cruciaal belang bij het versleutelen van SSH-verbindingen. Slecht beheer van een SSH-sleutelpaar kan ertoe leiden dat het volledige externe systeem wordt gecompromitteerd. Hieronder vindt u een lijst met de risico's die SSH-sleutelbeheer tegengaat:
-
Verlies van informatie
Aanvallers die de controle over SSH-sleutels krijgen, kunnen alle gegevens waartoe het slachtoffer toegang had, stelen, verwijderen of wijzigen. Dit kan leiden tot het blootleggen van gevoelige gegevens, zoals persoonlijk identificeerbare informatie (PII), of tot het verlies van diezelfde gegevens.
-
Generatie van vreemde sleutels
Elke gebruiker met toegang tot het externe systeem kan een sleutelpaar aanmaken voor andere authenticatiedoeleinden. Als een SSH-sleutelpaar verkeerd wordt beheerd en een aanvaller de sleutels steelt, kan hij een onbeperkt aantal nieuwe sleutelparen aanmaken. Dit maakt het niet alleen lastig om de legitieme sleutels te beheren, maar stelt de aanvaller ook in staat om in te loggen met elk van de nieuw aangemaakte sleutelparen als het gestolen sleutelpaar is verwijderd.
-
Ontbreken van vervaldatum
SSH-sleutels hebben geen vervaldatum, zoals SSL/TLS-certificaten Dit vergroot het risico dat een SSH-sleutelpaar verkeerd wordt beheerd. Hoe langer een sleutelpaar bestaat, hoe gemakkelijker het is om het niet langer te beschermen wanneer er nieuwe sleutels worden aangemaakt. Oudere sleutels worden ook minder snel gerouleerd, omdat systeembeheerders mogelijk niet weten waarvoor een sleutel dient. Een ander probleem dat voortkomt uit het ontbreken van een vervaldatum, is dat teamleden die de organisatie verlaten, mogelijk nog steeds toegang hebben tot hun sleutel, waardoor ze toegang hebben tot alle gegevens die ze konden openen toen ze nog bij het bedrijf waren. Het verwijderen van oudere sleutels gebeurt ook zelden, omdat systeembeheerders vrezen dat ze belangrijke toegang blokkeren als ze het sleutelpaar verwijderen.
-
Solo-toetsen
Als een medewerker de organisatie verlaat, laat hij of zij vaak maar één sleutel achter, wat resulteert in een sleutelpaar dat niet gebruikt kan worden. Gebruikers kunnen hun sleutels ook kwijtraken, wat leidt tot meer problemen bij het verwijderen ervan. Systeembeheerders aarzelen nog steeds om sleutels te verwijderen waarvan ze het doel niet kennen, vooral omdat dit kritieke systemen zou kunnen verstoren.
-
Sleutelspreiding
Naarmate een organisatie in de loop der jaren groeit, worden er steeds meer sleutels aangemaakt. Met zoveel sleutels wordt het lastig om de sleutels in omloop te volgen en te beheren. Dit opent de deur voor aanvallers om sleutels te compromitteren, aangezien waarschijnlijk niet elke sleutel afzonderlijk kan worden achterhaald.
-
SSH-gebaseerde aanvallen
SSH-aanvallen komen steeds vaker voor. Kwaadwillenden kunnen gecompromitteerde privésleutels gebruiken en zich voordoen als beheerders, versleuteld verkeer wijzigen, versleuteld verkeer lezen en toegang krijgen tot materiaal dat niet bedoeld is voor onbevoegden. Als een aanvaller toegang krijgt tot de externe systemen van een organisatie, kan hij gegevens wijzigen, verwijderen, stelen, malware implementeren of de werking van kritieke systemen verstoren.
-
Compliant
Een van de belangrijkste redenen om sleutels goed te beheren, is het voldoen aan beveiligingsnormen en -regelgeving. Overheidsnormen voor naleving en regelgeving, zoals PCI DSSen FIPS, vereisen dat organisaties hun SSH-sleutels goed beheren. Het Amerikaanse National Institute of Standards and Technology (NIST) heeft richtlijnen gepubliceerd over de beste manieren om ervoor te zorgen dat SSH-sleutels correct worden beheerd in hun document. NIST IR 7966.
SSH-sleutelbeheernaleving
Om te voldoen aan standaarden zoals PCI-DSS, HIPPAen FIPS zijn er vereisten waaraan moet worden voldaan:
- Identiteiten en SSH-sleutels moeten goed worden beheerd om de bescherming van PII en andere gevoelige gegevens te garanderen.
- Toetsen moeten worden gedraaid als ze gedurende een lange tijd in gebruik zijn, en worden verwijderd als ze niet langer actief zijn.
- Het beleid van minimale privileges moet worden gevolgd. Dit betekent dat gebruikers alleen toegang mogen hebben tot informatie die ze absoluut nodig hebben, en niets meer. Dit voorkomt dat aanvallers die sleutels stelen toegang krijgen tot het volledige externe systeem.
- Sleutels moeten bij verlies of beschadiging snel worden vervangen
- De beveiliging van gebieden die betalingsinformatie of PII-gegevens bevatten, moet speciaal worden bewaakt en gescheiden van andere delen van het netwerk.
Aanbevolen procedures voor SSH-sleutelbeheer
Het is erg belangrijk om SSH-sleutels correct te beheren. Zorg ervoor dat de sleutels van uw organisatie volledig worden beschermd en dat eventuele beveiligingslekken worden afgedekt. ​​Hieronder vindt u een reeks aanbevolen best practices voor correct SSH-sleutelbeheer.
-
Ontdekking en consolidatie
De eerste stap in het SSH-sleutelbeheerproces is het achterhalen welke en hoeveel sleutels er binnen uw organisatie zijn verspreid. Sleutels moeten worden gekoppeld aan de gebruikers en servers waarmee ze corresponderen, en ze moeten continu worden gecontroleerd op hoe lang ze in gebruik zijn. Ze moeten worden gerouleerd als ze al langere tijd in gebruik zijn. Als de gebruiker die met de sleutels is geauthenticeerd niet meer bij de organisatie werkt, moeten de sleutels worden verwijderd om misbruik van het sleutelpaar te voorkomen. De sleutels moeten ook worden geconsolideerd binnen één locatie binnen de organisatie. Dit helpt bij het beheer van sleutels en verkleint tegelijkertijd het aanvalsoppervlak van de sleutels. Centralisatie van de opslag van de sleutels helpt te voorkomen dat er losse sleutels en sleutelspreiding optreden.
-
Beleidscreatie en -handhaving
De volgende stap is het creëren van beleid om de sleutels te beschermen. Dit beleid moet het volgende definiëren:
- Wie kan sleutels aanmaken?
- Hoe sleutels aanmaken en opslaan
- Voor welke sleutels worden er gemaakt
- Hoe lang sleutels moeten bestaan ​​vóór rotatie
- Wat rechtvaardigt het verwijderen van een sleutel?
- De maximale toegang die een sleutel mag hebben
- Zolang dit beleid door de organisatie wordt gehandhaafd, zouden sleutels niet verkeerd beheerd moeten worden en zouden aanvalsvectoren voor cybercriminelen aanzienlijk moeten worden verminderd. Dit beleid vormt de kern van SSH-sleutelbeheer, dus de handhaving ervan zou een prioriteit moeten zijn in het beveiligingsplan van elke organisatie.
-
Risico-identificatie en -neutralisatie
Alle beveiligingskwetsbaarheden met betrekking tot SSH-sleutels moeten worden geïdentificeerd en geëlimineerd. Door de centralisatie van de SSH-sleutelparen wordt het identificeren van problemen eenvoudiger. Beveiligingstechnici moeten zoeken naar oude of ongebruikte sleutels, onveilige opslagopties of gecompromitteerde sleutels. Zoals eerder vermeld, moeten oude sleutels worden gerouleerd en ongebruikte sleutels worden verwijderd. Deze stap in het proces onderhoudt de externe systemen en garandeert hun continue veiligheid.
-
Toetsrotatie
Sleutels moeten regelmatig worden gewisseld, nadat ze een tijdje in gebruik zijn geweest. Beide sleutels van het sleutelpaar moeten worden gewisseld met nieuwe sleutels. Dit verkleint het risico dat een sleutel wordt gecompromitteerd doordat beveiligingstechnici de sleutel niet beschermen omdat ze niet weten waarvoor deze dient. Dit verkleint ook het risico op sleutelspreiding. Automatisering van deze stap verkleint aanzienlijk het risico op menselijke fouten, waarbij een sleutel over het hoofd wordt gezien en niet wordt gewisseld.
-
Continue monitoring en auditing
De laatste stap is het continu monitoren en controleren van de sleutels om ervoor te zorgen dat ze op het juiste moment worden geroteerd en verwijderd. Zonder continue monitoring kunnen sleutels door de mazen van het net glippen en achterblijven nadat de gebruiker de organisatie heeft verlaten, waardoor het bedrijf kwetsbaar wordt voor aanvallen van kwaadwillenden. Door continue monitoring wordt het risico van sleutelspreiding, losse sleutels en het niet voldoen aan de compliance-vereisten volledig onder controle gehouden. Automatisering van deze stap in het proces zou menselijke fouten elimineren.
SSH-sleutelbeheer met Encryption Consulting
Encryptie Consulting biedt een verscheidenheid aan methoden om uw eigen succesvolle systeem voor SSH-sleutelbeheer te creëren. We houden maandelijks webinars met betrekking tot SSH-sleutelbeheer, encryptiesleutelbeheer, sleutelbescherming in de cloud en meer. We bieden ook beoordelingen en training besteld, Cloudsleutelbeheer op AWS, Azuuren Google Cloud PlatformWij kunnen ervoor zorgen dat uw systeem voldoet aan de nalevingsnormen en dat uw gegevens worden beschermd met de beste beschikbare methoden. We schrijven ook wekelijks blogs die u kunnen helpen de beste werkwijzen voor uw sleutelbeheerbehoeften te vinden en meer te leren over de verschillende aspecten van de gegevensbeveiligingsbehoeften van uw organisatie.
Conclusie
SSH, een essentieel netwerkprotocol voor beveiligde verbindingen, is afhankelijk van sleutelparen voor authenticatie en encryptie. Goed SSH-sleutelbeheer is cruciaal, aangezien wanbeheer kan leiden tot gegevensverlies, ongeautoriseerde toegang en schendingen van de nalevingsregels. Aanbevolen procedures omvatten het detecteren en consolideren van sleutels, het opstellen en handhaven van beleid, risico-identificatie, sleutelrotatie en continue monitoring.
