Tierney - stock.adobe.com
SSH: Die Verwaltung der Schlüssel automatisieren
SSH-Schlüssel und -Zertifikate gelten vor allem bei Linux- und Unix-Rechnern seit langem als Standardauthentifizierung, sind unter Sicherheitsaspekten jedoch nicht unumstritten.
Das Netzwerkprotokoll Secure Shell (SSH) wird seit Jahrzehnten als De-facto-Methode für den Zugriff auf entfernte Systeme über ein ungesichertes Netzwerk wie das Internet verwendet. Der Grund für seine Popularität liegt dabei insbesondere in der hohen Benutzerfreundlichkeit und Produktivität, welche SSH den Administratoren bietet. Denn diese können schnell und effizient auf Dutzende oder Hunderte von Remote-Systemen zugreifen.
Vor allem die Tatsache, dass fast jeder Nutzer auf nahezu jedem System Schlüsselpaare generieren kann, sowie die unbegrenzte Gültigkeit von Private- und Public-Keys begünstigen Hintertüren zu unternehmenskritischen Systemen. Um dieses Problem so effizient wie möglich anzugehen, müssen IT- und Security-Teams ihren Sicherheitsansatz ändern und SSH-Schlüssel und -Zertifikate mit einer Kombination aus Privileged Access Management (PAM) und Zero-Trust-Strategie absichern.
Vom Passwort bis zum Zertifikat: Authentifizierung bei SSH
Doch mit vermehrtem Einsatz von SSH steigt auch das Risiko: So zeigt der 2021 Vulnerability Statistics Report von EdgeScan (PDF) eine Zunahme der Gefährdung im Zusammenhang mit dem Fernzugriff über SSH- und RDP-Anmeldedaten von 40 Prozent. Umso wichtiger ist es, dass SSH neben der klassischen (aber auch riskanteren) Authentifizierung über Benutzernamen und Passwort mit SSH-Keys und SSH-Zertifikaten auch zwei fortschrittlichere Authentifizierungsmethoden bereitstellt.
SSH-Keys beruhen auf kryptografischer Stärke und sind daher sicherer als Passwörter. Der Benutzer erstellt ein öffentliches beziehungsweise privates Schlüsselpaar, bewahrt den privaten Schlüssel sicher auf seinem Notebook auf und fügt den öffentlichen Schlüssel dem lokalen Konto auf dem Server hinzu, auf den er zugreifen möchte. Bei der Authentifizierung über SSH-Zertifikate müssen hingegen nicht auf jedem Server öffentliche Schlüssel installiert werden. Ein SSH-Zertifikat ist eine Datei, die den öffentlichen SSH-Schlüssel mit Informationen über die Identität des Benutzers und anderen Optionen verknüpft, die für die Verwendung des darin enthaltenen öffentlichen Schlüssels relevant sind.
Doch auch wenn Keys und Zertifikate mehr Sicherheit bieten als standardmäßige Anmeldungen mit Username und Passwort, so stellen auch sie die Security-Teams vor Herausforderungen, da ihre Überwachung und Absicherung ohne Zentralisierung und Automatisierung sehr aufwendig sind.
Die Herausforderungen beim Management von SSH Keys
Praktisch stellt jedes SSH-Schlüsselpaar einen potenziellen Angriffsvektor dar und vergrößert die Bedrohungsfläche eines Unternehmens damit nachweislich. Denn sowohl die öffentlichen als auch die privaten Schlüssel bleiben auf der Festplatte gespeichert und sind dauerhaft als vertrauenswürdig eingestuft. Um die Anmeldung über alle Systeme hinweg zu vereinfachen, installieren Administratoren zudem nicht selten einen Public Key im „Root"-Hauptverzeichnis aller Server, auf die sie zugreifen müssen. Dies ist riskant, denn wird auch nur ein einziger privater Schlüssel kompromittiert, kann sich ein Angreifer unkontrollierten Zugriff auf jedes System verschaffen, auf dem der öffentliche Schlüssel installiert ist, und sich dann lateral im System weiterbewegen.
Aus operativer Sicht wird die Verwaltung von SSH-Schlüsseln immer schwieriger, je größer der Bestand ist, und erfordert einen vergleichbaren Aufwand wie die Verwaltung von Schlüsseln in der Public Key Infrastructure (PKI). Um Schlüsselpaare zu erstellen und wirksam abzusichern, Public Keys für jedes System bereitzustellen, Private Keys sicher zu verteilen, nicht mehr verwendete Bereitstellungen aufzuheben und den Ersatz zu regeln, wenn ein privater Schlüssel verloren geht oder beschädigt wird, sind letztlich effektive Methoden erforderlich, die teils auf Automatisierung beruhen. Nur so kann sichergestellt werden, dass Administratoren nicht alles manuell erledigen müssen und sich einzelne Benutzer nicht mit SSH-Clients, Schlüsselverteilung, kryptischen Fehlern und Sicherheitswarnungen von SSH-Client-Anwendungen auseinandersetzen müssen. Dies ist umso wichtiger, als bei der Verwaltung von SSH-Keys stets die Gefahr mitschwingt, dass das Entfernen beziehungsweise Austauschen eines Schlüssels einen kritischen Dienst unterbrechen könnte.
Nicht zuletzt spielt das SSH-Key-Management auch für die Compliance sowie das Einhalten gesetzlicher Vorschriften und Regularien wie HIPAA, PCI DSS oder die EU-DSGVO eine wichtige Rolle. So kann eine unvollständige Zuordnung von öffentlichen Schlüsseln zu den entsprechenden privaten Schlüsselbesitzern schnell zu einem Problem für entsprechende Audits werden. Die gemeinsame Nutzung privater SSH-Keys durch einen Administrator erschwert zudem die Feststellung und Verfolgung von Verantwortlichkeiten.
SSH-Schlüssel sicher verwalten
Die mit SSH-Keys verbundenen Sicherheitsrisiken werden von Unternehmen häufig unterschätzt, lassen sich durch die Implementierung von PAM-Lösungen jedoch nachhaltig reduzieren. Viele von ihnen bieten einen effektiven Passwort-Vault, der dank der folgenden Funktionen eine zentrale Schlüsselverwaltung ermöglicht.
- Durch eine automatisierte Identifizierung von SSH-Schlüsseln wird sichergestellt, dass die IT- und Sicherheitsteams stets einen vollständigen Überblick über ihre Schlüssellandschaft haben und bei unerlaubter Erstellung unmittelbar benachrichtigt werden.
- Die automatisierte Rotation von Schlüsselpaaren kann das Zeitfenster für Bedrohungsakteure nachhaltig verringern. Dabei kann die Rotation zeitgesteuert, nach Bedarf oder durch eine Aktion wie etwa einen geheimen Check-in-Vorgang ausgelöst werden.
- Rollenbasierte Zugriffskontrollen (RBAC) im Tresor schränken ein, wer dort Zugriff auf private SSH-Schlüssel haben darf. Optional kann für einen noch stärkeren hardwarebasierten Schutz ein Hardware Security Modul (HSM) zum Einsatz kommen.
- Approval-Workflows ermöglichen es, dass sowohl interne Benutzer als auch externe Partner für einen begrenzten Zeitraum Just-in-Time-Zugriff beantragen.
- Eine Multifaktor-Authentifizierung (MFA) sorgt beim Zugriff auf gesicherte SSH-Secrets für zusätzliche Identitätssicherheit und trägt dazu bei, menschliche Angreifer, Bots und Malware zu stoppen.
- Audit-Protokolle und Sitzungsaufzeichnungen weisen nach, dass wesentliche Sicherheitskontrollen vorhanden und funktionsfähig sind, und helfen zudem die Reaktion auf Vorfälle zu optimieren.
Entlastete Teams: SSH-Zertifikat-Erstellung mit PAM
Doch PAM unterstützt IT- und Security-Verantwortliche nicht nur dabei, die operative Kontrolle über die Schlüssel zurückzubekommen, sondern reduziert auch den administrativen Aufwand, den die manuelle SSH-Zertifikatserstellung und das Management der Schlüsselpaare für sie bedeuten. So sind einige moderne PAM-Lösungen in der Lage, SSH-Schlüsselpaare zu generieren und mit Hilfe einer integrierten Zertifizierungsstelle (Certification Authority/CA) SSH-Zertifikate on-Demand herauszugegeben.
„Praktisch stellt jedes SSH-Schlüsselpaar einen potenziellen Angriffsvektor dar und vergrößert die Bedrohungsfläche eines Unternehmens damit nachweislich.“
Andreas Müller, Delinea
Das bedeutet, dass die PAM-Lösung für einen Administrator – vorausgesetzt er verfügt über die notwendigen Berechtigungen – ein SSH-Zertifikat sowie ein Schlüsselpaar generiert, den öffentlichen Schlüssel in das Zertifikat einbettet, das Zertifikat über Zertifikatsattribute an den anfordernden Benutzer bindet und es dann mit dem privaten Schlüssel der CA signiert. Das Zertifikat ist dann nur für eine bestimmte Benutzer-ID und einen bestimmten Zielrechner für eine begrenzte Zeit gültig. Nachdem es anschließend an den benannten Server zur Validierung weitergeleitet wurde, werden die definierten PAM-Richtlinien abgefragt, um zu bestätigen, dass der Benutzer tatsächlich zur Anmeldung autorisiert ist. Ist dies der Fall, wird die privilegierte SSO-Benutzersitzung ohne weitere Benutzerinteraktion oder Beteiligung des Betriebsteams initiiert. Da das Zertifikat nur eine kurze Gültigkeitsdauer hat, droht auch bei Weitergabe oder Abfangen keine größere Gefahr.
Dies vereinfacht nicht nur den Zugriff für interne Administratoren, sondern zerstreut auch die Bedenken über kompromittierte SSH-Schlüssel, die von Drittanbietern verwendet werden, wenn sie mit Zugriffsworkflows kombiniert werden. Und da die Schlüssel- und Zertifikatsverarbeitung automatisch im Hintergrund abläuft, können auch gängige Sorgen hinsichtlich der allgemeinen Verwendung von SSH-Zertifikaten ausgeräumt werden: So wird keine Public-Key-Infrastruktur (PKI) und damit kein PKI-Fachwissen mehr benötigt, um SSH-Zertifikate zu installieren, zu konfigurieren und anzuwenden.
Fazit
Wenn man bedenkt, wie viele SSH-Keys und -Zertifikate in den Unternehmenssystemen existieren, wird deutlich, dass manuelle Verwaltung und Absicherung keine Option mehr darstellen. Vielmehr braucht es eine Strategie, die einen hohen Grad an Zentralisierung und Automatisierung bietet. Ein modernes PAM kann dabei helfen, diese Strategie umzusetzen.
So verwaltet ein Passwort-Vault die Identifizierung, den Zugriff, die Rotation, das Absichern und Monitoring von SSH-Schlüsseln und bietet eine zentrale Überwachung gemäß Zero Trust. Zudem ermöglicht PAM die Automatisierung von auf SSH-Zertifikaten basierendem Zugriff, die optimal für die Risikominderung und die betriebliche Effizienz ist.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.