SSH Host Updates und Schlüsselrotation

Am Dienstag, den 08.03.2022, werden wir eine neue SSH-Serverkonfiguration ausrollen und neue SSH-Hostschlüssel bereitstellen. Du wirst eine Warnung sehen, wenn du nach dem Upgrade versuchst, dich über SSH mit deiner Instanz zu verbinden. Ersetze einfach den alten Schlüssel in deiner Datei known_hosts durch den neuen Fingerabdruck.

Krypto entwickelt sich weiter

Sicherheit ist ein fortlaufender Prozess und erfordert ständige Anpassungen. Wenn neue Schwachstellen entdeckt und neue Algorithmen entwickelt werden, muss die Konfiguration angepasst und die kryptografischen Schlüssel ersetzt werden.

Auch wenn es bessere Algorithmen gibt, kannst du nicht immer alle älteren Algorithmen entfernen, weil noch nicht alle Server und Clients sie unterstützen. Du musst nicht nur die Host-Schlüssel der Chiffren berücksichtigen, sondern auch Chiffren, Kompressionsformate, Schlüsselaustauschprotokolle (KEX), Nachrichtenauthentifizierungscodes (MACs) und vieles mehr.

Vor kurzem haben wir unser Docker-Basis-Image und alle abgeleiteten Images auf eine neue Debian-Version aktualisiert. Damit kommen auch eine neue Version von OpenSSH und weitere Verbesserungen. Wir nehmen dies zum Anlass, unsere Konfiguration und unsere Host-Schlüssel zu aktualisieren.

Konkret werden wir die Unterstützung für einige Algorithmen einstellen, die als schwach gelten und wahrscheinlich von der NSA entschlüsselt werden können. Insbesondere gibt es einige Kurven der Schlüsselaustauschprotokolle, denen nicht mehr vertraut werden kann. Und wir nutzen die Chance, neue Host-Schlüssel mit einer höheren Bitlänge zu erzeugen.

Es gibt zwei Host-Schlüssel

Der SSH-Zugang in Beach ist etwas speziell: Du verbindest dich nicht direkt über SSH mit deiner Beach Instanz, sondern zuerst mit einem Gateway (einem "Jump-Host"), über den du dich mit einem zweiten SSH-Server verbinden kannst, der durch ein internes Netzwerk geleitet wird.

Wir ändern den SSH-Hostschlüssel des Jump Hosts (für die meisten Kunden ist das ssh.flownative.cloud) und die SSH-Hostschlüssel jeder einzelnen Beach Instanz.

Wenn du dich also das nächste Mal über SSH mit deiner Beach Instanz verbindest, wird dich dein Client über einen geänderten Fingerabdruck für ssh.flownative.cloud und für deine Instanz warnen. Akzeptiere diese Änderungen, indem du den Schlüssel entweder manuell aus deiner ~/.ssh/known_hosts-Datei entfernst oder indem du die folgenden Befehle ausführst:

# Remove known fingerprint for the gatway:
ssh-keygen -R ssh.flownative.cloud

# Remove known fingerprint for your instance
ssh-keygen -R instance-abc123456-abc-….beach-project-abc12345-1234…

Verbinde dich dann mit deiner Instanz und akzeptiere die beiden neuen Hostschlüssel.

Wenn du eine Verbindung zu einer anderen Instanz herstellst, die dir gehört, gibt es nur eine Warnung wegen eines anderen Host-Schlüssels für diese Instanz. Für das Gateway wird es keinen weiteren beanstandeten Schlüssel geben, da dieser derselbe ist.

Die Änderungen werden schrittweise eingeführt

Die neuen Host-Keys werden am 8. März 2022 morgens (MEZ) generiert und treten im Laufe des Tages Schritt für Schritt in Kraft.

Wenn du Fragen oder Bedenken hast, wende dich bitte an den Flownative Support über https://support.flownative.com.