Nach fĂŒnfmonatiger Entwicklung Release , 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 (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 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 (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
