SSH Key Management: Sicherheit und Effizienz für Unternehmen
Die Secure Shell, kurz SSH, ist ein verschlüsseltes Netzwerkprotokoll zur Kommunikation mit Servern. Es bietet eine sichere Möglichkeit, über ein ungesichertes Netzwerk auf einen Computer bzw. ein System zuzugreifen.
Allerdings birgt die SSH-Authentifizierung einige Sicherheitslücken. In diesem Artikel erklären wir, wo diese liegen und wie Sie Sicherheitsrisiken mit unserem kostenlosen SSH-Key-Management-Tool effektiv umgehen.
SSH-Authentifizierung: SSH-Schlüssel vs. Passwort
Es gibt verschiedene Möglichkeiten, sich bei einem SSH-Server anzumelden. Die Authentifizierung mit einem Passwort ist die wohl bekannteste und einfachste Methode − allerdings nicht die sicherste.
Denn obwohl Passwörter auf sichere Weise an den Server gesendet werden, sind sie im Allgemeinen nicht lang und komplex genug, um wiederholten, hartnäckigen Angriffen standzuhalten. Hohe Rechenleistung kombiniert mit automatisierten Skripten machen das Brute-Forcing eines passwortgeschützten Kontos sehr gut möglich.
Um dieses Sicherheitsrisiko zu umgehen, sind SSH-Schlüssel eine zuverlässige und sehr sichere Alternative, die auch wir bei digital.manufaktur nutzen. SSH-Schlüsselpaare bestehen aus zwei kryptografisch sicheren Schlüsseln − dem Public Key und dem Private Key.
Die autorisierten dmf-Mitarbeiter:innen können sich mit ihrem privaten Schlüssel, der einzigartig und auf ihrem jeweiligen Computer gespeichert ist, mittels der Public-Key-Authentifizierung bei Kundensystemen und anderen Servern anmelden.
Sicherheitsrisiken auch bei SSH-Key-Authentifizierung
Doch auch die SSH-Authentifizierung mittels Key-Paaren ist mit Sicherheitsrisiken verbunden. Und zwar vor allem dann, wenn ein Private Key in fremde Hände gelangt. Wer im Besitz des privaten Schlüssels ist, hat Zugang zu Systemen, auf denen der dazugehörige öffentliche Schlüssel hinterlegt ist. Die Zugriffsrechte auf private Schlüssel müssen daher so gesetzt sein, dass nur die Eigentümer:in sie lesen kann.
Ein weiteres Sicherheitsrisiko: SSH Keys werden niemals automatisch ungültig. Das kann dazu führen, dass SSH-Schlüssel-Paare vorhanden sind, die mehrere Jahre alt sind bzw. zu Anwender:innen gehören, die inzwischen bereits das Unternehmen verlassen haben. Das bedeutet: Nicht autorisierten Benutzer:innen stehen Hintertüren zu unternehmenskritischen Systemen offen.
Viele Firmen, die die SSH-Key-Authentifizierung nutzen, verwalten die Schlüssel manuell. So werden beispielsweise die SSH-Keys aller Mitarbeitenden in einem Dokument gesammelt. Die Person, die einen neuen Server einrichtet, überträgt die Schlüssel dann per Hand auf das entsprechende System.
Die Folge: Systeme, die vor dem Einstieg neuer Mitarbeiter:innen eingerichtet wurden, haben einen veralteten Stand und müssen vom Systemadministrator manuell aktualisiert werden. Beim Austritt oder im Falle eines kompromittierten privaten Schlüssels müssen die öffentlichen Schlüssel von den Systemen ebenso manuell entfernt werden.
Dieser Vorgang ist nicht nur zeitaufwendig, sondern auch mit einer hohen Fehleranfälligkeit verbunden. Jared Falkenhagen, Backend-Entwickler bei digital.manufaktur, hat aus diesem Grund ein Tool entwickelt, das die SSH-Key-Authentifizierung effizienter und sicherer macht.
Unsere SSH-Key-Management-Lösung
“Bei digital.manufaktur haben wir Zugriff auf zahlreiche Systeme unserer Kund:innen. Das bedeutet für uns eine hohe Verantwortung”, erklärt Jared.
“Bei wechselnden Projekt-verantwortlichen und der stetig steigenden Anzahl an neuen Mitarbeitenden und Kundenprojekten ist die manuelle Verwaltung der SSH-Keys für uns keine Option mehr ‒ schon alleine aus Sicherheitsgründen”, fährt er fort.
Die Lösung: eine automatische Übertragung der SSH-Schlüssel via GitLab.
“Die Public Keys für jedes unserer Projekte sind in GitLab hinterlegt und bilden dadurch einen aktuellen Stand ab. Indem wir nun die Kundensysteme mit dem jeweiligen GitLab-Projekt verknüpfen, werden die aktuellen SSH-Keys automatisch übertragen”, erläutert Jared.
Jared hat dafür ein Tool gebaut, das die SSH-Schlüssel zentral und automatisch verwaltet. Darin ist genau definiert, welche Mitarbeiter:in zum aktuellen Zeitpunkt welches Zugriffsrecht auf das Kundensystem hat. Wenn es Änderungen bei den Projektverantwortlichen und Zugriffsrechten gibt, werden die SSH-Keys automatisch im System aktualisiert.
Fazit
Unser SSH-Key-Management-Tool löst die Probleme, die bei der manuellen Verwaltung von SSH-Keys entstehen. Die zentrale Steuerung und die Verknüpfung mit GitLab machen das System effizient und sicher. Auf diese Weise haben stets nur die autorisierten Mitarbeitenden Zugriff auf das jeweilige System.