Der Release von OpenSSH 10.0, der offenen Implementierung eines Clients und Servers fĂŒr die Protokolle SSH 2.0 und SFTP, wurde veröffentlicht. HauptĂ€nderungen:
- Die UnterstĂŒtzung fĂŒr digitale Signaturen auf der Basis des DSA-Algorithmus wurde entfernt, da deren Sicherheitsniveau nicht den modernen Anforderungen entspricht. Die Kosten fĂŒr die FortfĂŒhrung der UnterstĂŒtzung des unsicheren DSA-Algorithmus rechtfertigen sich nicht und seine Entfernung wird dazu beitragen, die UnterstĂŒtzung von DSA in anderen SSH-Implementierungen und kryptografischen Bibliotheken einzustellen. Die Verwendung von DSA-SchlĂŒsseln wurde standardmĂ€Ăig bereits 2015 eingestellt.
- Die Trennung von sshd in mehrere separate ausfĂŒhrbare Dateien wurde fortgesetzt. In OpenSSH 9.8 wurde der sshd-Prozess in den sshd-session-Prozess ĂŒberfĂŒhrt, der Aufgaben im Zusammenhang mit der Sitzungsverwaltung erfĂŒllt. In OpenSSH 10.0 wurde aus dem sshd-session-Prozess der Code, der die Authentifizierung durchfĂŒhrt, in einen separaten Prozess sshd-auth ĂŒberfĂŒhrt. Der sshd-auth-Prozess ermöglicht eine zusĂ€tzliche Isolierung der mit der Authentifizierung verbundenen Daten im Adressraum eines separaten Prozesses, was den Zugriff auf diese Daten im Speicher bei Angriffen auf den zur Verarbeitung der Verbindungsphasen vor Abschluss der Authentifizierung verwendeten Code verhindert. DarĂŒber hinaus verringert diese Ănderung den Speicherverbrauch etwas, da der mit der Authentifizierung verbundene Code nun nur im Speicher vorhanden ist, wĂ€hrend die Authentifizierung durchgefĂŒhrt wird, und anschlieĂend beim Beenden des sshd-auth-Prozesses entladen wird.
- In SSH wird standardmĂ€Ăig ein hybrider SchlĂŒssel-Austauschalgorithmus "mlkem768x25519-sha256" verwendet, der quantencomputersicher ist und eine Kombination aus X25519 ECDH und dem ML-KEM Algorithmus (CRYSTALS-Kyber) darstellt, die vom National Institute of Standards and Technology (NIST) standardisiert wurden. ML-KEM nutzt kryptografische Methoden, die auf der Lösung von Gitterproblemen basieren, deren Lösungszeiten sich bei klassischen und quantencomputing nicht unterscheiden.
- In ssh_config wurden UnterstĂŒtzung fĂŒr die Direktiven SetEnv und User mit Platzhaltern "%-token" und die Auflösung von Umgebungsvariablen hinzugefĂŒgt.
- In ssh_config und sshd_config wurde die UnterstĂŒtzung fĂŒr den Ausdruck "Match version" hinzugefĂŒgt, der es ermöglicht, Einstellungen je nach vorhandener Version von OpenSSH anzuwenden. Beispielsweise kann fĂŒr die Bindung an OpenSSH 10 "Match version OpenSSH_10.*" angegeben werden.
- In ssh_config wurde die UnterstĂŒtzung fĂŒr AusdrĂŒcke hinzugefĂŒgt:
- âMatch sessiontypeâ, das es ermöglicht, Einstellungen je nach angeforderter Sitzung zu verwenden: âshellâ fĂŒr interaktive Sitzungen, âexecâ zum AusfĂŒhren von Befehlen, âsubsystemâ fĂŒr sftp und ânoneâ fĂŒr Tunnel und Traffic-Umleitungen.
- âMatch commandâ zur Bindung von Aktionen an die in der Befehlszeile angegebenen Befehle zum AusfĂŒhren ĂŒber ssh.
- âMatch tagged ââ und âMatch command ââ zur Bindung an leere Tags und zum AusfĂŒhren von ssh ohne Angabe des auszufĂŒhrenden Befehls.
- In sshd_config ist die Verwendung von Masken in Dateipfaden, die in den Direktiven AuthorizedKeysFile und AuthorizedPrincipalsFile angegeben sind, zulÀssig.
- Im ssh-Client wurde die UnterstĂŒtzung der Option âVersionAddendumâ hinzugefĂŒgt, um benutzerdefinierten Text zur Versionsnummer hinzuzufĂŒgen (frĂŒher war diese Option nur fĂŒr Server sshd).
- In den Tools scp und sftp wird die Einstellung âControlMaster noâ unterstĂŒtzt, um die Verwendung vorhandener Verbindungen bei erneutem Anschluss an den Host zu verhindern.
- In sshd ist die UnterstĂŒtzung der Implementierung des Diffie-Hellman-Algorithmus im Endfeld standardmĂ€Ăig deaktiviert, was zur Entfernung der Methoden âdiffie-hellman-group*â und âdiffie-hellman-group-exchange-*â aus der Liste der KEXAlgorithms fĂŒhrte. Im Vergleich zu den auf elliptischen Kurven basierenden Diffie-Hellman-Algorithmen ist die entfernte Implementierung langsamer und benötigt bei identischem Sicherheitsniveau zusĂ€tzliche Rechenressourcen.
- In ssh ist der Modus AES-GCM bei der Auswahl eines VerschlĂŒsselungsalgorithmus fĂŒr die Verbindung nun bevorzugter als AES-CTR. StandardmĂ€Ăig wird eine PrioritĂ€tenliste fĂŒr die Auswahl von VerschlĂŒsselungen festgelegt: Chacha20/Poly1305, AES-GCM (128/256) und AES-CTR (128/192/256).
- Im ssh-agent wurde die Funktion zum Entfernen aller geladenen SchlĂŒssel bei Empfang des Signals SIGUSR1 implementiert.
- In ssh-keygen wurde die UnterstĂŒtzung fĂŒr FIDO-Tokens hinzugefĂŒgt, die keine Attestierungsdaten zurĂŒckgeben, wie z. B. WinHello.
- Im ssh-agent wurde die Option â-Owebsafe-allow=âŠâ hinzugefĂŒgt, um die Whitelist fĂŒr FIDO-Anwendungen zu ĂŒberschreiben.
- Ein experimentelles Tool regress/misc/ssh-verify-attestation zur ĂberprĂŒfung der FIDO-Attestierungsdaten wurde hinzugefĂŒgt, die optional von ssh-keygen bei der Registrierung von FIDO-SchlĂŒsseln generiert werden.
- In ssh-keygen ist die Verwendung von â-â anstelle des Dateinamens erlaubt.
- In ssh-agent und der tragbaren Version von OpenSSH wurde die UnterstĂŒtzung fĂŒr die Aktivierung ĂŒber den Socket im systemd-Stil implementiert, realisiert mit dem LISTEN_PID/LISTEN_FDS-Mechanismus.
- In der tragbaren Version:
- Wurde die UnterstĂŒtzung fĂŒr die kryptographische Bibliothek AWS-LC (AWS libcrypto) implementiert.
- In sshd wurde die UnterstĂŒtzung fĂŒr wtmpdb, ein Ăquivalent zu wtmp, das nicht von dem Jahr 2038-Problem betroffen ist, hinzugefĂŒgt.
- In sshd wurde die Option ââwith-linux-memlock-onfaultâ hinzugefĂŒgt, um sshd im Arbeitsspeicher zu verankern (Verbot des Auslagerns in den Swap-Bereich).
- Die Option ââwith-security-key-standaloneâ wurde hinzugefĂŒgt, um eine isolierte Bibliothek sk-libfido2 zu erstellen.
- Die Build-Einstellungen fĂŒr RHEL 6 wurden aus der RPM-Paket-Spezifikation entfernt.
- Ănderung in sshd bezĂŒglich der Sicherheit: Die Direktive DisableForwarding erlaubte nicht ordnungsgemÀà das Forwarding des X11-Protokolls und der Anfragen an den ssh-agent. Das X11-Forwarding ist standardmĂ€Ăig auf der Serverseite deaktiviert, wĂ€hrend das ssh-agent-Forwarding auf der Clientseite aktiviert ist.
Quelle: opennet.ru
