Zum Inhalt

47-Tage-Zertifikate sind in Planung. Bist du bereit?

Jetzt handeln →

Der ultimative Leitfaden zur Verhinderung von SSH-Schlüssel-Wildwuchs

SSH-Schlüssel

Sicherlich haben Sie schon einmal persönliche Informationen aus dem Internet herunterladen oder versenden müssen. Laut einer aktuellen Studie senden rund 52 % der Unternehmen vertrauliche und sensible Daten an öffentliche Clouds, und 28 % planen, dies in den nächsten 12 bis 24 Monaten zu tun.  

Aber hatten Sie schon einmal Zweifel an der Sicherheit Ihrer Daten, beispielsweise Ihrer Zugangsdaten oder Dateiübertragungen über das Internet von einem anderen Remote-Computer? Möglicherweise versuchen Angreifer, an die persönlichen Informationen zu gelangen, die Sie über das ungeschützte Netzwerk teilen. Laut einem Bericht von Rapid7 ereigneten sich 41 % der Vorfälle aufgrund nicht erzwungener oder fehlender Multi-Faktor-Authentifizierung (MFA), insbesondere bei VPNs und virtuellen Maschinen.  

Um solche Szenarien und Angriffe wie Credential Stuffing, Brute Force und Schlüsseldiebstahl zu verhindern, SSH oder Secure Shell Das SSH-Protokoll wurde 1995 von Tatu Ylönen entwickelt, um eine einfache Identifizierung und sichere Verbindung zum Server zu ermöglichen. SSH basiert auf einem Client-Server-Modell, das einen sicheren Tunnel zwischen Ihrem Computer (Client) und dem Server ermöglicht, um unbefugten Zugriff auf Ihre Daten zu verhindern. SSH bietet zahlreiche Anwendungsfälle, vor allem für die Remote-Verwaltung von Diensten und Servern, wie z. B. Fernzugriff und Befehlsausführung, Dateiübertragung, VPN-Implementierung und vieles mehr. 

SSH bietet verschiedene Arten der Benutzerauthentifizierung, die gängigsten sind jedoch die Kennwort- und Public-Key-Authentifizierung. Bevor wir uns nun mit der Verbreitung von SSH-Schlüsseln und der Schlüsselverwaltung befassen, wollen wir anhand der folgenden Abbildung den grundlegenden Prozess des SSH-Protokolls verstehen: 

SSH-Protokoll

SSH-Schlüssel

SSH-Schlüssel sind eine sichere Authentifizierungsmethode und werden in vielen Diensten verwendet. Beispielsweise verwenden Cloud-Plattformen wie AWS, Azure und Google Cloud SSH-Schlüssel für den Zugriff auf virtuelle Maschinen und andere Cloud-Dienste. Diese Schlüssel werden auch von vielen Entwicklern weltweit verwendet, um auf ihre GitHub-Repositories zuzugreifen und ihre CI/CD-Pipelines zu automatisieren.  

SSH-Schlüssel basieren auf asymmetrischen Schlüsseln, öffentlichen und privaten, die das SSH-Schlüsselpaar bilden. Diese Schlüsselpaare werden mithilfe starker Kryptografiealgorithmen generiert, wie z. B. Rivest–Shamir–Adleman (RSA) und Algorithmus für digitale Signaturen mit elliptischer Kurve (ECDSA). Diese Algorithmen verwendeten unterschiedliche Methoden und Kombinationen, um die Stärke und Integrität des Schlüsselpaars gegen böswillige Aktivitäten und Angriffe zu gewährleisten. RSA ist weit verbreitet, weist jedoch Einschränkungen hinsichtlich Leistung und Effizienz auf. ECDSA verfügt über kleinere Schlüsselgrößen, was zu schnelleren Vorgängen und geringerem Ressourcenverbrauch führt und es somit zu einer praktikableren Option für moderne Berechnungen macht. 

Nun denken Sie vielleicht, dass SSH-Schlüssel hauptsächlich zur Authentifizierung verwendet werden und Sie daher von der herkömmlichen Authentifizierungsmethode mit Benutzername und Kennwort abweichen sollten.  

Digitale Sicherheit ist das A und O in unsicheren Netzwerken. Passwörter waren einst eine sinnvolle Wahl, doch mit der Weiterentwicklung der Technologie verliert diese Methode an Glaubwürdigkeit. Sie sind langsam zugänglich und leicht zu stehlen. Laut einer von GoodFirms durchgeführten Umfrage mit dem Titel „Die größten Stärken und Schwachstellen von Passwörtern: Bedrohungen, Präventivmaßnahmen und Wiederherstellungsmöglichkeiten“ verwenden 45.7 % der Befragten dasselbe Passwort für mehrere Konten, und 52.9 % geben ihre Passwörter an Freunde und Familie weiter. Die Passwortsicherheit hängt hauptsächlich von menschlichen Faktoren ab, die diese Art der Authentifizierung anfällig für Cyberangriffe machen, was ein großes Problem darstellt.  

SSH-Schlüssel sind eine bessere und bequemere Lösung für Fernzugriff und -betrieb. Sie ermöglichen schnellere Verbindungen und Automatisierung, da Sie sich keine Passwörter für verschiedene Client-Systeme merken oder eingeben müssen. Darüber hinaus bietet die Integration Multi-Faktor-Authentifizierung (MFA) Die Authentifizierung mit SSH-Schlüssel kann die Sicherheit und Belastbarkeit Ihres Systems erheblich verbessern. 

Die Kennwortauthentifizierung ist jedoch nicht schlecht; sie ist lediglich für den Fernzugriff ungeeignet. Sie können Ihren privaten SSH-Schlüssel weiterhin mit Kennwörtern schützen und so für zusätzliche Sicherheit sorgen. 

Passwort-AuthentifizierungSSH-Schlüsselbasierte Authentifizierung
Relativ weniger sicher und anfällig für Angriffe. Es ist sicherer, da es extrem schwierig ist, den privaten Schlüssel zu knacken. 
Einfacher und schneller einzurichten. Erfordert die Generierung von Schlüsselpaaren und die anfängliche Konfiguration des Servers. 
Nicht effizient für die Automatisierung. Gute Unterstützung für Skripting und automatisierte Dienste. 
Bei der Arbeit mit großen Teams ist die Flexibilität geringer. In großen Organisationen relativ skalierbarer und praktischer.  

SSH-Schlüssel-Wildwuchs 

Nun, da Sie eine Vorstellung davon haben, warum Sie die Verwendung von SSH-Schlüsseln bevorzugen sollten, kann es einige Konsequenzen einer schlechten SSH-SchlüsselverwaltungOrganisationen generieren, teilen und geben eine große Anzahl von Schlüsselpaaren für alle ihre Geräte aus, was deren Handhabung und Verwaltung erschwert. Diese Ansammlung vieler nicht verwalteter SSH-Schlüssel wird als SSH-Key-Sprawl bezeichnet. In großen Unternehmen sind verschiedene Faktoren wie schnelles Infrastrukturwachstum, häufige Mitarbeiterfluktuation, Skalierungsvorgänge, das Fehlen einer zentralen Schlüsselverwaltungslösung, die Verwendung von Legacy-Systemen und vieles mehr die Hauptursache für die SSH-Key-Sprawl-Situation.  

Die Verbreitung von SSH-Schlüsseln trägt direkt zu erheblichen organisatorischen Risiken bei, insbesondere im Zusammenhang mit Compliance-Verstößen gegen Vorschriften wie Datenschutz, CCPA, PCI DSS, HIPAAund viele mehr. Nicht verwaltete SSH-Schlüssel können unbefugten Personen den Zugriff auf Daten ermöglichen, wodurch das Prinzip der geringsten Privilegien verletzt und möglicherweise vertrauliche Informationen preisgegeben werden, was im Widerspruch zu diesen Vorschriften steht. 

Im Oktober 2015, NIST Einführung des IR 7966 (Sicherheit der interaktiven und automatisierten Zugriffsverwaltung mit Secure Shell) Es enthält spezifische Richtlinien, die Unternehmen bei der sicheren Verwaltung und Nutzung des SSH-Protokolls unterstützen. Es erwähnt die Schwachstellen des SSH-basierten Zugriffs und bietet außerdem bewährte Methoden zum Schutz Ihrer persönlichen Daten. 

Organisationen müssen sicherstellen, dass nur bestimmte Benutzer auf Systeme zugreifen können, um eine Ausbreitung von Schlüsseln zu verhindern. Laut einer Umfrage aus dem Jahr 2022 hielten rund 57 % der Befragten die Verwaltung von SSH-Schlüsseln für mühsam und schwierig. Da sich die Menschen dieses Problems jedoch zunehmend bewusster wurden, sank diese Zahl im Jahr 2024 deutlich auf 27 %.  

Trotz dieses starken Rückgangs stellen SSH-Schlüssel weiterhin eine Bedrohung dar, wenn sie nicht verantwortungsvoll gehandhabt werden. Bevor wir jedoch die Best Practices für den Umgang mit SSH-Schlüsseln besprechen, wollen wir einige Faktoren verstehen, die zu einer Ausbreitung von SSH-Schlüsseln führen. 

  1. Keine zentrale Schlüsselverwaltung

    Viele Unternehmen nutzen SSH-Schlüssel, die an vielen verschiedenen Orten gespeichert sind und nicht ordnungsgemäß verwaltet werden. Ohne ein geeignetes System können Sie den Überblick über die Schlüssel verlieren und die Sicherheit Ihres Zugangssystems gefährden.

    Laut dem Bericht „State of Machine Identity Management 2023“ verfügen 54 % der Unternehmen nicht über ein zentralisiertes System und nutzen manuelle Prozesse wie Tabellenkalkulationen zur Verwaltung von SSH-Schlüsseln. Diese Methoden der manuellen Schlüsselverwaltung sind anfällig für menschliche Fehler und zeitaufwändig. Sie bieten nur begrenzte Skalierbarkeit und sind anfällig für Inkonsistenzen, was zu erhöhten Sicherheitsrisiken führt.

  2. Ad-hoc-Schlüsselgenerierung

    SSH-Schlüssel lassen sich relativ einfach generieren, und viele Benutzer generieren Schlüssel ad hoc, ohne formale Verfahren zu befolgen. Stellen Sie sich einen Entwickler vor, der auf seinem Laptop schnell einen SSH-Schlüssel für eine schnelle Testverbindung zu einem Server generiert, ohne etablierte Schlüsselverwaltungsrichtlinien zu befolgen und eine schwache Passphrase zu verwenden.

    Dies führt zu einem erhöhten Risiko einer Gefährdung und beeinträchtigt die Gesamtsicherheit Ihres Systems. Die Organisation benötigt eine strenge Aufsicht und Richtlinien, um die Nutzbarkeit und Zugänglichkeit dieser Schlüssel zu kontrollieren.

  3. Unsichere Schlüsselrotationspraktiken

    SSH-Schlüssel verfallen standardmäßig nicht und bleiben daher jahrelang aktiv, auch wenn sie nicht mehr benötigt werden. Manchmal sind alte Schlüssel ehemaliger Mitarbeiter noch aktiv, oder für bestimmte Projekte erstellte Schlüssel bleiben auch nach Abschluss dieser Projekte erhalten. Dies kann zu Sicherheitsrisiken führen, da es für Administratoren schwierig sein kann, diese inaktiven SSH-Schlüssel zu verfolgen und zu entfernen. Die regelmäßige Verwaltung dieser Schlüssel ist für die Aufrechterhaltung einer sicheren Umgebung unerlässlich.

Situationen wie Key Sprawl können schwerwiegende Folgen für das Unternehmen haben und eine Bedrohung für Benutzerdaten darstellen. SSH Key Sprawl erhöht das Risiko von Datenlecks und unbefugtem Zugriff. Angreifer können sich zudem lateral innerhalb eines Netzwerks bewegen und so auf weitere Systeme und sensible Daten zugreifen. 

Bekommt ein Angreifer beispielsweise ein gültiges SSH-Schlüsselpaar in die Hände, erhält er nicht nur Zugriff auf den Remote-Rechner, sondern kann auch ein Information-Steeler-Programm installieren, das alle Tastatureingaben verfolgt und aufzeichnet, Dateien extrahiert, Browserdaten, Cookies, Sitzungsdaten und vieles mehr stiehlt. Laut dem Bericht „Cyber ​​Threat Trends 2024“ von Cisco blockierten Information-Steeler-Programme durchschnittlich rund 246 Millionen Angriffe pro Monat. 

SSH-Schlüssel verfallen nie und müssen explizit widerrufen werden. Dies kann leicht ausgenutzt werden, beispielsweise von ehemaligen Mitarbeitern oder Angreifern, wenn nicht verantwortungsvoll vorgegangen wird. Zudem drohen Ihnen rechtliche Schritte und Geldstrafen aufgrund von Datenschutzverletzungen, die durch die Verbreitung von Schlüsseln entstehen und den Ruf Ihres Unternehmens schädigen und das Vertrauen Ihrer Kunden untergraben können.

KategorieBeschreibungAuswirkungen auf die Organisation
DatenverstößeKompromittierte SSH-Schlüssel können zu unbefugtem Zugriff auf vertrauliche Daten und damit zu Datenlecks führen. Finanzielle Strafen: Bußgelder von Aufsichtsbehörden wie GDPR, CCPA und PCI DSS.
Reputationsschaden: Verlust des Kundenvertrauens, negative Medienberichterstattung und Schädigung des Markenimages. 
Klage: Klagen von betroffenen Personen und Aufsichtsbehörden. 
Mangel an VerantwortlichkeitEine mangelhafte Schlüsselverwaltung erschwert die Verfolgung und Prüfung des Zugriffs auf kritische Systeme und Daten. Schwierigkeiten bei der Einhaltung: Unfähigkeit, die Einhaltung von Vorschriften nachzuweisen, die genaue Aufzeichnungen über Datenzugriffe und Sicherheitsmaßnahmen erfordern.
Erhöhtes Prüfungsrisiko: Verstärkte Kontrolle durch Prüfer und Aufsichtsbehörden, die möglicherweise zu Feststellungen und Empfehlungen führt, die erhebliche Sanierungsanstrengungen erfordern. 
Unzureichender DatenschutzNicht verwaltete SSH-Schlüssel können zu Situationen führen, in denen Daten für Personen zugänglich sind, die keinen Zugriff haben sollten, wodurch das Prinzip der geringsten Privilegien verletzt wird. Nichteinhaltung: Verstoß gegen Datenschutzbestimmungen wie DSGVO und CCPA. 
Betriebsstörungen Kompromittierte Schlüssel können kritische Vorgänge wie Serverzugriff, Anwendungsbereitstellungen und Netzwerkkonnektivität stören. Betriebsunterbrechung: Verlust von Produktivität, Umsatz und Kundenservice. 
Finanzielle Verluste: Kosten im Zusammenhang mit der Reaktion auf Vorfälle, der Systemwiederherstellung und Geschäftsunterbrechung. 

Um die Risiken von SSH Key Sprawl besser zu verstehen, nutzen wir die im April 2024 entdeckte Sicherheitslücke CVE-2024-31497 im PuTTY SSH-Client. Sie ermöglichte es einem Angreifer, den geheimen (privaten) NIST P-521-Schlüssel eines Benutzers wiederherzustellen, indem er etwa 60 digitale SignaturenDiese Sicherheitslücke ist auf eine Verzerrung bei der Generierung von ECDSA-Geheimnissen durch PuTTY unter Verwendung der elliptischen Kurve NIST P-521 zurückzuführen. Wenn eine Organisation beispielsweise mit einem Key Sprawl zu kämpfen hat und die vorhandenen SSH-Schlüssel widerrufen muss, um die Sicherheitslücke CVE-2024-31497 zu beheben, ist eine schnelle Reaktion und Behebung des Problems eine zeitaufwändige Aufgabe. 

Sicherheitsforscher entdecken solche Schwachstellen häufig mithilfe verschiedener Methoden, darunter Code-Audits, Fuzzing und Penetrationstests. Sie suchen häufig nach Sicherheitslücken oder unerwarteten Problemen in der Software. Finden sie etwas, informieren sie in der Regel den Softwarehersteller. Dieser untersucht das Problem, arbeitet an einer Lösung (einem Patch) und stellt diesen den Nutzern zur Verfügung. Wie schnell dies geschieht, hängt von der Schwere des Problems und der Reaktionsgeschwindigkeit des Unternehmens ab. Bei schwerwiegenden Schwachstellen legen Unternehmen in der Regel Wert darauf, umgehend Patches zu veröffentlichen, um die Nutzer vor einer möglichen Ausnutzung zu schützen. 

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Praxisbeispiele 

SSH-Schlüssel spielen eine entscheidende Rolle sowohl im Identitätsmanagement als auch bei der Authentifizierung für sicheren Fernzugriff. IAM (Identity and Access Management) bietet die grundlegenden Sicherheitskontrollen in jedem Unternehmen, d. h. Zugriff und Kontrolle. Es gibt keinen besseren Weg, Benutzern Zugriff zu gewähren, als SSH-Schlüssel. Dieser Ansatz vereinfacht die Schlüsselverwaltung, reduziert das Risiko menschlicher Fehler und bietet eine sicherere und effizientere Möglichkeit, den Zugriff auf kritische Systeme und Daten zu verwalten. 

Sie können die Ausbreitung von SSH-Schlüsseln effektiv vermeiden, indem Sie branchenübliche Standards einhalten, die die Sichtbarkeit, Kontrolle und Sicherheit von SSH-Schlüsseln verbessern. Dies reduziert letztendlich das Risiko von Cyberangriffen. Sehen wir uns die Best Practices um Ihre SSH-Schlüssel und -Systeme zu schützen. 

  1. Management: Sie sollten eine dedizierte SSH-Schlüsselverwaltungslösung implementieren, die Sie bei der Verwaltung, Generierung, Speicherung, Verteilung und dem Widerruf von SSH-Schlüsseln unterstützt und die Gesamteffizienz Ihres Unternehmens steigert. Der Einsatz solcher automatisierten Systeme zur Schlüsselgenerierung und -verteilung reduziert manuelle Fehler und Inkonsistenzen.  
  1. Monitoring: Durch die regelmäßige Schlüsselrotation, z. B. monatlich oder vierteljährlich, werden die Auswirkungen kompromittierter und veralteter Schlüssel minimiert. Sie sollten die nicht verfolgten SSH-Schlüssel löschen und durch neu generierte ersetzen.  
  1. Einfache Anwendung: Die Kontrolle der Berechtigungen von SSH-Schlüsseln ist sehr wichtig, da nur autorisierte und bestimmte Benutzergruppen das Recht haben sollten, auf die Remote-Server und -Maschinen zuzugreifen.  
  1. Wirtschaftsprüfung: Sie müssen regelmäßige Sicherheitskontrollen durchführen und Maschinenaudits um Nutzungsmuster von SSH-Schlüsseln zu überprüfen, die Ihrem Unternehmen dabei helfen, Anomalien oder verdächtige Aktivitäten zu erkennen. 
  1. Kein Hardcoding: Vermeiden Sie die Verwendung von Standardpassphrasen und die Festcodierung von SSH-Schlüsseln in Anwendungscode und Dateien, da dies eine Hintertür für Angreifer schaffen kann.  
  1. Tastenbelegung: Sie können SSH-Schlüssel auch einer bestimmten Person und nicht einem Konto zuordnen. Dadurch wird verhindert, dass mehrere Benutzer auf denselben SSH-Schlüssel zugreifen, und Sie können den Schlüssel effektiver überwachen. 

Fazit 

Die Verbreitung von SSH-Schlüsseln kann für Unternehmen zu einigen Herausforderungen führen, wie z. B. Datenverstöße, Ineffizienzen und Betriebsstörungen. Es kann sich auch negativ auf den Ruf des Unternehmens auswirken. Wenn Schlüsselverwaltung Wird der Zugriff nicht gut kontrolliert, wird es für Unternehmen schwieriger, ihn zu überwachen und zu verwalten. Dies erhöht das Risiko unbefugten Zugriffs und des Verlusts personenbezogener Daten. Maßnahmen zur Eindämmung der Schlüsselausbreitung sind unerlässlich, da sie Unternehmen vor möglichen späteren rechtlichen und finanziellen Problemen schützen. 

SSH-Schlüssel werden auch als Signaturschlüssel verwendet, die für die Überprüfung der Integrität und Authentizität von Daten entscheidend sind. Sie stellen sicher, dass Daten, wie z. B. Code-Commits, unverändert bleiben und aus der angegebenen Quelle stammen. Beispielsweise ermöglichen SSH-Schlüssel die Signierung von Git-Commits auf GitHub und verifizieren die Authentizität und Integrität von Commits, indem sie deren Herkunft vom authentifizierten Benutzer bestätigen.  

Verschlüsselungsberatung CodeSign Secure Die Lösung bietet Ihnen eine robuste Plattform für die Verwaltung des gesamten Lebenszyklus von SSH-Schlüsseln, die Automatisierung von Schlüsselverwaltungsprozessen, die Verbesserung der Hörbarkeit und eine deutliche Entlastung der Sicherheitsteams.  

Wir bieten Experten Beratungsdienste Wir unterstützen Ihr Unternehmen bei der effektiven Verwaltung von SSH-Schlüsseln. Unser Team unterstützt Sie bei der Entwicklung einer sicheren Strategie zur Verwaltung von SSH-Schlüsseln, führt regelmäßige Audits und Schwachstellenanalysen durch und analysiert Bedrohungsinformationen, um die mit SSH-Schlüsseln verbundenen Risiken zu minimieren.