Abo
  • Services:

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. Ipsos GmbH, Nürnberg
  2. persona service AG & Co. KG, Lüdenscheid bei Dortmund

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.

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.



Anzeige
Blu-ray-Angebote
  1. (u. a. Logan, John Wick, Alien Covenant, Planet der Affen Survival)
  2. (u. a. 3 Blu-rays für 15€, 2 Neuheiten für 15€)

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
       


Amazons Echo Show (2018) - Test

Wir haben den neuen Echo Show getestet. Der smarte Lautsprecher mit Display profitiert enorm von dem größeren Touchscreen - im Vergleich zum Vorgängermodell. Die Bereitstellung von Browsern erweitert den Funktionsumfang des smarten Displays.

Amazons Echo Show (2018) - Test Video aufrufen
Apple Mac Mini (Late 2018) im Test: Tolles teures Teil - aber für wen?
Apple Mac Mini (Late 2018) im Test
Tolles teures Teil - aber für wen?

Der Mac Mini ist ein gutes Gerät, wenngleich der Preis für die Einstiegsvariante von Apple arg hoch angesetzt wurde und mehr Speicher(platz) viel Geld kostet. Für 4K-Videoschnitt eignet sich der Mac Mini nur selten und generell fragen wir uns, wer ihn kaufen soll.
Ein Test von Marc Sauter

  1. Apple Mac Mini wird grau und schnell
  2. Neue Produkte Apple will Mac Mini und Macbook Air neu auflegen

Drahtlos-Headsets im Test: Ohne Kabel spielt sich's angenehmer
Drahtlos-Headsets im Test
Ohne Kabel spielt sich's angenehmer

Sie nerven und verdrehen sich in den Rollen unseres Stuhls: Kabel sind gerade bei Headsets eine Plage. Doch gibt es so viele Produkte, die darauf verzichten können. Wir testen das Alienware AW988, das Audeze Mobius, das Hyperx Cloud Flight und das Razer Nari Ultimate - und haben einen Favoriten.
Ein Test von Oliver Nickel

  1. Sieben Bluetooth-Ohrstöpsel im Test Jabra zeigt Apple, was den Airpods fehlt
  2. Ticpods Free Airpods-Konkurrenten mit Touchbedienung kosten 80 Euro
  3. Bluetooth-Ohrstöpsel im Vergleichstest Apples Airpods lassen hören und staunen

Autonome Schiffe: Und abends geht der Kapitän nach Hause
Autonome Schiffe
Und abends geht der Kapitän nach Hause

Weite Reisen in ferne Länder, eine Braut in jedem Hafen: Klischees über die Seefahrt täuschen darüber hinweg, dass diese ein Knochenjob ist. Doch in wenigen Jahren werden Schiffe ohne Besatzung fahren, überwacht von Steuerleuten, die nach dem Dienst zur Familie zurückkehren. Daran arbeitet etwa Rolls Royce.
Ein Bericht von Werner Pluta

  1. Elektromobilität San Francisco soll ein Brennstoffzellenschiff bekommen
  2. Yara Birkeland Autonome Schiffe sind eine neue Art von Transportsystem
  3. Power Pac Strom aus dem Container für Ozeanriesen

    •  /