OpenSSH 8.0 Veröffentlichung

Nach fünfmonatiger Entwicklung vorgestellt Release OpenSSH 8.0, einer offenen Implementierung von Client und Server für die Protokolle SSH 2.0 und SFTP.

Hauptänderungen:

  • In ssh und sshd wurde eine experimentelle Unterstützung für einen Schlüsselaustauschmechanismus hinzugefügt, der gegen das Knacken durch Quantencomputer resistent ist. Quantencomputer lösen das Problem der Zerlegung natürlicher Zahlen in Primfaktoren, das der Grundlage moderner asymmetrischer Verschlüsselungsalgorithmen zugrunde liegt, drastisch schneller und ist auf klassischen Prozessoren effektiv unlösbar. Der vorgeschlagene Ansatz basiert auf dem Algorithmus NTRU Prime (Funktion ntrup4591761), die für postquantenkryptografische Systeme entwickelt wurde, und einem Schlüsselaustauschverfahren basierend auf elliptischen Kurven X25519;
  • In sshd wurde die Unterstützung für die veraltete Syntax „host/port“ in den Direktiven ListenAddress und PermitOpen eingestellt, die 2001 als Alternative zu „host:port“ eingeführt wurde, um die Arbeit mit IPv6 zu erleichtern. In modernen Anwendungen hat sich für IPv6 die Syntax „[::1]:22“ durchgesetzt, und „host/port“ wird oft mit der Angabe eines Subnetzes (CIDR) verwechselt;
  • In ssh, ssh-agent und ssh-add wurde die Unterstützung für Schlüssel ECDSA in PKCS#11-Token eingeführt;
  • In ssh-keygen wurde die Standardgröße des RSA-Schlüssels auf 3072 Bit erhöht, gemäß den neuen Empfehlungen von NIST;
  • In ssh ist die Verwendung der Einstellung „PKCS11Provider=none“ zulässig, um die in ssh_config festgelegte Direktive PKCS11Provider zu überschreiben;
  • In sshd wird im Protokoll angezeigt, wenn eine Verbindung während des Versuchs, blockierte Befehle, die durch die Einschränkung „ForceCommand=internal-sftp“ in sshd_config, zu beenden, beendet wird;
  • In ssh wird beim Anzeigen der Bestätigungsaufforderung für den Empfang eines neuen Hostschlüssels anstelle der Antwort „yes“ nun der korrekte Fingerabdruck des Schlüssels wahrgenommen (der Benutzer kann den erhaltenen Referenz-Hash über die Zwischenablage kopieren, um manuelle Vergleiche zu vermeiden);
  • In ssh-keygen wird beim Erstellen digitaler Signaturen für mehrere Zertifikate in der Befehlszeile die Nummer der Sequenz im Zertifikat automatisch erhöht;
  • In scp und sftp wurde eine neue Option „-J“ hinzugefügt, die der ProxyJump-Einstellung entspricht;
  • In ssh-agent, ssh-pkcs11-helper und ssh-add wurde die Verarbeitung der Befehlszeilenoption „-v“ zur Erhöhung der Informationsdichte der Ausgabe hinzugefügt (bei Angabe wird diese Option auch an das untergeordnete Verfahren übergeben, z. B. wenn ssh-pkcs11-helper aus ssh-agent aufgerufen wird);
  • Die Option „-T“ wurde zu ssh-add hinzugefügt, um die Eignung der Schlüssel im ssh-agent für die Erstellung und Überprüfung digitaler Signaturen zu testen;
  • Im sftp-server wurde die Unterstützung für die Protokollerweiterung „lsetstat at openssh.com“ implementiert, die die SFTP-Operation SSH2_FXP_SETSTAT hinzufügt, jedoch ohne symbolische Links zu folgen;
  • Im sftp wurde die Option „-h“ hinzugefügt, um chown/chgrp/chmod-Befehle ohne Verwendung von symbolischen Links auszuführen;
  • Im sshd wird die Umgebungsvariable $SSH_CONNECTION für PAM gesetzt;
  • Für sshd wurde in ssh_config der „Match final“-Modus hinzugefügt, der dem „Match canonical“ ähnelt, aber keine Normalisierung des Hostnamens erfordert;
  • Im sftp wurde die Unterstützung des Präfixes „@“ hinzugefügt, um die Ausgabe von Befehlen, die im Batch-Modus ausgeführt werden, zu deaktivieren;
  • Beim Ausgeben des Zertifikat Inhalts mit dem Befehl
    „ssh-keygen -Lf /path/certificate“ wird nun der Algorithmus angezeigt, den die Zertifizierungsstelle zur Beglaubigung des Zertifikats verwendet hat;
  • Die Unterstützung für die Cygwin-Umgebung wurde verbessert, z. B. wurde der Vergleich von Gruppen- und Benutzernamen ohne Unterscheidung der Groß- und Kleinschreibung sichergestellt. Der sshd-Prozess im Cygwin-Port wurde in cygsshd umbenannt, um Überschneidungen mit dem von Microsoft bereitgestellten OpenSSH-Port zu vermeiden;
  • Die Möglichkeit zum Bauen mit dem experimentellen Zweig OpenSSL 3.x wurde hinzugefügt;
  • Beseitigt eine Schwachstelle (CVE-2019-6111) in der Umsetzung des Tools scp, das es ermöglicht, beliebige Dateien im Zielverzeichnis auf der Client-Seite beim Zugriff auf einen vom Angreifer kontrollierten Server zu überschreiben. Das Problem liegt darin, dass der Server bei der Anwendung von scp entscheidet, welche Dateien und Verzeichnisse an den Client gesendet werden, während der Client lediglich die Korrektheit der zurückgegebenen Objektnamen überprüft. Die Überprüfung auf der Client-Seite beschränkt sich nur auf das Verbot des Verlassens des aktuellen Verzeichnisses („../“), berücksichtigt jedoch nicht die Übertragung von Dateien mit Namen, die von den ursprünglich angeforderten abweichen. Bei einer rekursiven Kopie (-r) können neben den Dateinamen auch die Namen von Unterverzeichnissen auf diese Weise manipuliert werden. Wenn ein Benutzer beispielsweise Dateien in sein Home-Verzeichnis kopiert, kann der vom Angreifer kontrollierte Server anstelle der angeforderten Dateien Dateien mit den Namen .bash_aliases oder .ssh/authorized_keys senden, die dann von der scp-Software im Home-Verzeichnis des Benutzers gespeichert werden.

    In der neuen Version der SCP-Utility wurde eine Überprüfung der Übereinstimmung der angeforderten und vom Server bereitgestellten Dateinamen implementiert, die auf der Client-Seite durchgeführt wird. Dabei können Probleme mit der Verarbeitung von Masken auftreten, da die Maskenzeichen auf Server- und Client-Seite unterschiedlich behandelt werden können. Sollte der Client aufgrund solcher Unterschiede aufhören, Dateien zu akzeptieren, wurde die Option „-T“ hinzugefügt, um die Überprüfung auf der Client-Seite zu deaktivieren. Um das Problem umfassend zu beheben, ist eine konzeptionelle Überarbeitung des SCP-Protokolls erforderlich, das an sich bereits veraltet ist. Daher wird empfohlen, modernere Protokolle wie SFTP und RSYNC zu verwenden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4