OpenSSH: Key-Rotation für die Secure Shell

Bei der nächsten Version von OpenSSH wird es möglich sein, Server-Keys mit einem automatisierten Verfahren zu rotieren. Bislang ließen sich Schlüssel bei SSH nur mit viel manuellem Aufwand austauschen.

Artikel veröffentlicht am , Hanno Böck
OpenSSH wird bald Schlüssel reibungslos tauschen können.
OpenSSH wird bald Schlüssel reibungslos tauschen können. (Bild: OpenSSH)

Serveradministratoren, die SSH schon länger nutzen, kennen oft das Problem: Wer einmal einen Schlüssel für den SSH-Daemon erstellt hat, kann diesen nur umständlich wieder ändern. Anders als beispielsweise TLS-Zertifikate haben SSH-Keys kein Ablaufdatum und werden von keiner Zertifizierungsstelle signiert. Vielmehr basiert SSH auf einem Trust-on-first-use-System - genau das macht aber beim Schlüsselwechsel Probleme. Die nächste Version 6.8 von OpenSSH soll dies lösen mit einem System zur Schlüsselrotation.

Trust on First Use

Stellenmarkt
  1. Mitarbeiter Arbeitszeitmanagement / Projektleitung (w/m/d)
    Medizinische Einrichtungen des Bezirks Oberpfalz - medbo KU, Regensburg, Parsberg, Wöllershof
  2. Junior Sales Controller (m/w/div.)
    DMG MORI Management GmbH, Bielefeld
Detailsuche

Jeder SSH-Server benötigt dauerhaft ein oder mehrere Schlüsselpaare für ein Public-Key-Verfahren. Dieser Schlüssel dient dazu, den Verbindungsaufbau abzusichern und einen Sitzungsschlüssel auszuhandeln. Üblicherweise speichert der SSH-Client beim ersten Verbindungsaufbau einen Fingerabdruck des verwendeten öffentlichen Schlüssels. Bei künftigen Verbindungsversuchen wird der Serverschlüssel dann anhand dieses Fingerabdrucks geprüft.

Das funktioniert prima, solange der Server denselben Schlüssel behält. Doch ein reibungsloser Wechsel des Schlüssels ist in diesem Konzept nicht vorgesehen. Wenn der Serverbetreiber ein neues Schlüsselpaar erstellt, erhält der Nutzer eine Warnung. Im SSH-Client von OpenSSH gibt es auch keine Möglichkeit, diese Warnung einfach zu ignorieren. Vielmehr muss der alte Schlüssel zunächst aus der lokalen Konfiguration entfernt werden, damit ein neuer Schlüssel akzeptiert werden kann.

DSA-Schlüssel mit 1024 Bit

Dabei stecken viele Serverbetreiber in einem Dilemma. Aus Sicherheitsgründen wäre es eigentlich sinnvoll, den Schlüssel gelegentlich zu wechseln. Außerdem sind viele ältere Schlüssel aus heutiger Sicht nicht gerade optimal. Die ursprüngliche SSH-Spezifikation sah etwa vor, dass jeder Server das DSA-Verfahren unterstützen muss. Der Grund: Damals war RSA noch patentiert und galt somit als problematisch. Ursprünglich war DSA aber nur für 1024 Bit spezifiziert, DSA mit längeren Schlüsseln hat sich nie allgemein durchgesetzt. Und ganz generell gibt es Vorbehalte gegen das DSA-Verfahren: Bei schlechten Zufallsgeneratoren kann es katastrophal scheitern.

Golem Akademie
  1. Microsoft 365 Security Workshop
    9.-11. Juni 2021, Online
  2. Penetration Testing Fundamentals
    23.-24. September 2021, online
Weitere IT-Trainings

Auch ältere RSA-Schlüssel wurden oft in den Standardeinstellungen der Linux-Distributionen automatisch mit 1024 Bit generiert. Neben RSA und DSA unterstützen neuere OpenSSH-Versionen verschiedene Verfahren auf Basis elliptischer Kurven, als ideal gilt zurzeit der Ed25519-Algorithmus. Gegen ECDSA gibt es ähnliche Vorbehalte wie bei DSA.

Neben Problemen mit alten Krypto-Algorithmen kann es auch Notfälle geben, in denen ein Schlüssel ausgetauscht werden muss, etwa wenn der Server gehackt wurde. Doch die bisherige Funktionsweise von SSH macht den Schlüsselwechsel enorm umständlich. Ein Serverbetreiber muss alle Nutzer informieren, diese müssen manuell den alten Schlüssel entfernen.

Reibungsloser Schlüsselwechsel

All diese Probleme beschreibt OpenSSH-Entwickler Damien Miller in einem Blogeintrag - und bietet eine Lösung an. Künftig können OpenSSH-Server beim Verbindungsaufbau die Fingerprints mehrerer öffentliche Schlüssel an den Client senden. Das können Schlüssel mit neuen Algorithmen sein, aber auch Ersatzschlüssel für den Notfall, falls einmal der Server-Key kompromittiert wird.

Ein Client, der diese Funktion ebenfalls unterstützt, speichert dann alle Key-Fingerprints, die ein Server ausliefert, automatisch in seiner Konfiguration. Keys, die nicht vom Server geliefert werden, werden automatisch aus der Konfiguration entfernt.

Damit wird ein Schlüsselaustausch deutlich reibungsloser. Ein Serverbetreiber kann bereits für die Zukunft einen Ersatzschlüssel ausliefern. Dazu muss auf dem Server nur der öffentliche Schlüssel vorliegen - der privaten Schlüssel kann offline an einem sicheren Ort gespeichert werden. Probleme treten dann nur noch auf, wenn ein Nutzer sich im Zeitraum eines Schlüsselwechsels nie einloggt.

Voraussetzung für den reibungslosen Schlüsselwechsel ist natürlich, dass alle Nutzer eines Servers einen SSH-Client einsetzen, der diese Funktion auch unterstützt. Bislang ist das Feature nur in OpenSSH implementiert, und auch dort wird es erst ab der bislang nicht veröffentlichten Version 6.8 verfügbar sein. Insbesondere in der Windows-Welt wird häufig das Programm PuTTY eingesetzt, auf Embedded-Devices kommt vielfach Dropbear zum Einsatz.

Key-Management wird komplexer

Für Serveradministratoren ist die neue Funktion zum Schlüsselwechsel eine Erleichterung, sie erfordert aber auch ein ausgefeilteres Key-Management. Ersatzschlüssel müssen erzeugt und vorgehalten werden. Auch bei TLS wird das Schlüsselmanagement in Zukunft komplexer: Für HTTP Public Key Pinning ist das Bereithalten von Ersatzschlüsseln ebenfalls sinnvoll.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Raumfahrt
Astra startet mit großen Ambitionen Billigraketen in Alaska

Mit 250.000 US-Dollar sollen die Raketen von Astra zum Preis eines Sportwagens hergestellt werden können. Wie will die Firma das schaffen?
Von Frank Wunderlich-Pfeiffer

Raumfahrt: Astra startet mit großen Ambitionen Billigraketen in Alaska
Artikel
  1. Ubisoft: Avatar statt Assassin's Creed
    Ubisoft
    Avatar statt Assassin's Creed

    E3 2021 Als wichtigste Neuheit hat Ubisoft ein Spiel auf Basis von Avatar vorgestellt - und Assassin's Creed muss mit Valhalla in die Verlängerung.

  2. Fifa, Battlefield und Co.: Der EA-Hack startete mit Cookies für 10 US-Dollar
    Fifa, Battlefield und Co.
    Der EA-Hack startete mit Cookies für 10 US-Dollar

    Die Hacking-Gruppe erklärt dem Magazin Motherboard Schritt für Schritt, wie der Hack auf EA gelang. Die primäre Fehlerquelle: der Mensch.

  3. Onlinetickets: 17-Jähriger betrügt Bahn um 270.000 Euro
    Onlinetickets
    17-Jähriger betrügt Bahn um 270.000 Euro

    Mit illegal erworbenen Onlinetickets soll ein 17-Jähriger die Bahn um 270.000 Euro geprellt haben. Entdeckt wurde er nur durch Zufall.

Lala Satalin... 03. Feb 2015

Nein. Eher auf einem USB-Stick, der hinter 250 Meter dickem, massiven Panzerstahl liegt.

widdermann 03. Feb 2015

Genau deswegen ist OpenSSH nervig. Ich hab noch nie den Fingerprint verglichen. Das geht...

xnor 02. Feb 2015

Jein. Du kannst dann einen Ersatzschlüssel für den Fall eines Einbruchs auf dem Server...


Folgen Sie uns
       


  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Alternate (u. a. MSI Optix 27" WQHD/165 Hz 315,99€ und Fractal Design Vector RS Blackout Dark TG 116,89€) • Fractal Design Define S2 Black 99,90€ • Intel i9-11900 379€ • EPOS Sennheiser GSP 600 149€ • Amazon: PC-Spiele reduziert (u. a. C&C: Remastered Collection 9,99€) [Werbung]
    •  /