OpenSSH 8.0-Version

Nach fünf Monaten Entwicklungszeit eingereicht freigeben OpenSSH 8.0, eine offene Client- und Serverimplementierung für die Arbeit über die Protokolle SSH 2.0 und SFTP.

Wichtigste Änderungen:

  • Experimentelle Unterstützung für eine Schlüsselaustauschmethode, die gegen Brute-Force-Angriffe auf einen Quantencomputer resistent ist, wurde zu ssh und sshd hinzugefügt. Quantencomputer lösen das Problem der Zerlegung einer natürlichen Zahl in Primfaktoren, das modernen asymmetrischen Verschlüsselungsalgorithmen zugrunde liegt und auf klassischen Prozessoren nicht effektiv gelöst werden kann, wesentlich schneller. Die vorgeschlagene Methode basiert auf dem Algorithmus NTRU Prime (Funktion ntrup4591761), entwickelt für Post-Quantum-Kryptosysteme, und die Elliptic-Curve-Key-Exchange-Methode X25519;
  • In sshd unterstützen die Direktiven ListenAddress und PermitOpen nicht mehr die alte Syntax „host/port“, die 2001 als Alternative zu „host:port“ implementiert wurde, um die Arbeit mit IPv6 zu vereinfachen. Unter modernen Bedingungen hat sich für IPv6 die Syntax „[::1]:22“ etabliert und „Host/Port“ wird oft mit der Angabe des Subnetzes (CIDR) verwechselt;
  • ssh, ssh-agent und ssh-add unterstützen jetzt Schlüssel ECDSA in PKCS#11-Tokens;
  • In ssh-keygen wurde die Standardgröße des RSA-Schlüssels gemäß den neuen NIST-Empfehlungen auf 3072 Bit erhöht;
  • ssh erlaubt die Verwendung der Einstellung „PKCS11Provider=none“, um die in ssh_config angegebene PKCS11Provider-Direktive zu überschreiben;
  • sshd bietet eine Protokollanzeige von Situationen, in denen die Verbindung beendet wird, wenn versucht wird, Befehle auszuführen, die durch die Einschränkung „ForceCommand=internal-sftp“ in sshd_config blockiert sind;
  • Wenn in ssh eine Anfrage zur Bestätigung der Annahme eines neuen Hostschlüssels angezeigt wird, wird anstelle der „Ja“-Antwort nun der korrekte Fingerabdruck des Schlüssels akzeptiert (als Antwort auf die Aufforderung zur Bestätigung der Verbindung kann der Benutzer den kopieren separat erhaltener Referenz-Hash über die Zwischenablage, um ihn nicht manuell zu vergleichen);
  • ssh-keygen ermöglicht die automatische Erhöhung der Zertifikatssequenznummer beim Erstellen digitaler Signaturen für mehrere Zertifikate auf der Befehlszeile;
  • Zu 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“ hinzugefügt, um den Informationsgehalt der Ausgabe zu erhöhen (bei Angabe wird diese Option an untergeordnete Prozesse weitergegeben, z Beispiel, wenn ssh-pkcs11-helper von ssh-agent aufgerufen wird);
  • Die Option „-T“ wurde zu ssh-add hinzugefügt, um die Eignung von Schlüsseln im ssh-agent für die Durchführung von Vorgängen zur Erstellung und Überprüfung digitaler Signaturen zu testen.
  • sftp-server implementiert Unterstützung für die Protokollerweiterung „lsetstat at openssh.com“, die Unterstützung für den SSH2_FXP_SETSTAT-Vorgang für SFTP hinzufügt, jedoch ohne das Folgen symbolischer Links;
  • Option „-h“ zu SFTP hinzugefügt, um chown/chgrp/chmod-Befehle mit Anfragen auszuführen, die keine symbolischen Links verwenden;
  • sshd stellt die Einstellung der Umgebungsvariablen $SSH_CONNECTION für PAM bereit;
  • Für sshd wurde ssh_config ein „Match final“-Matching-Modus hinzugefügt, der „Match canonical“ ähnelt, aber keine Aktivierung der Hostnamen-Normalisierung erfordert;
  • Unterstützung für das Präfix „@“ zu SFTP hinzugefügt, um die Übersetzung der Ausgabe von Befehlen zu deaktivieren, die im Batch-Modus ausgeführt werden;
  • Wenn Sie den Inhalt eines Zertifikats mit dem Befehl anzeigen
    „ssh-keygen -Lf /path/certificate“ zeigt jetzt den Algorithmus an, den die Zertifizierungsstelle zur Validierung des Zertifikats verwendet;

  • Verbesserte Unterstützung für die Cygwin-Umgebung, beispielsweise durch den Vergleich von Gruppen- und Benutzernamen ohne Berücksichtigung der Groß-/Kleinschreibung. Der sshd-Prozess im Cygwin-Port wurde in cygsshd geändert, um Interferenzen mit dem von Microsoft bereitgestellten OpenSSH-Port zu vermeiden;
  • Möglichkeit zum Erstellen mit dem experimentellen OpenSSL 3.x-Zweig hinzugefügt;
  • Eliminiert Verwundbarkeit (CVE-2019-6111) in der Implementierung des scp-Dienstprogramms, das es ermöglicht, beim Zugriff auf einen von einem Angreifer kontrollierten Server beliebige Dateien im Zielverzeichnis clientseitig zu überschreiben. Das Problem besteht darin, dass bei der Verwendung von scp der Server entscheidet, welche Dateien und Verzeichnisse an den Client gesendet werden sollen, und der Client nur die Richtigkeit der zurückgegebenen Objektnamen überprüft. Die clientseitige Überprüfung beschränkt sich darauf, nur Reisen über das aktuelle Verzeichnis („../“) hinaus zu blockieren, berücksichtigt jedoch nicht die Übertragung von Dateien mit anderen als den ursprünglich angeforderten Namen. Beim rekursiven Kopieren (-r) können Sie neben Dateinamen auch die Namen von Unterverzeichnissen auf ähnliche Weise manipulieren. Wenn der Benutzer beispielsweise Dateien in das Home-Verzeichnis kopiert, kann der vom Angreifer kontrollierte Server anstelle der angeforderten Dateien Dateien mit den Namen .bash_aliases oder .ssh/authorized_keys erzeugen, die vom Dienstprogramm scp im Verzeichnis des Benutzers gespeichert werden Home-Verzeichnis.

    In der neuen Version wurde das Dienstprogramm scp aktualisiert, um die Übereinstimmung zwischen den angeforderten und den vom Server gesendeten Dateinamen zu überprüfen, was auf der Clientseite durchgeführt wird. Dies kann zu Problemen bei der Maskenverarbeitung führen, da Maskenerweiterungszeichen auf Server- und Clientseite möglicherweise unterschiedlich verarbeitet werden. Für den Fall, dass solche Unterschiede dazu führen, dass der Client keine Dateien mehr in scp akzeptiert, wurde die Option „-T“ hinzugefügt, um die clientseitige Überprüfung zu deaktivieren. Um das Problem vollständig zu beheben, ist eine konzeptionelle Überarbeitung des SCP-Protokolls erforderlich, das selbst bereits veraltet ist. Daher wird empfohlen, stattdessen modernere Protokolle wie SFTP und Rsync zu verwenden.

Source: opennet.ru

Kommentar hinzufügen