Nach fünf Monaten Entwicklung wird die Version OpenSSH 8.5 veröffentlicht, einer offenen Implementierung des Clients und Servers für die Arbeit mit den Protokollen SSH 2.0 und SFTP.
Die Entwickler von OpenSSH erinnern daran, dass die Nutzung von Algorithmen mit SHA-1-Hashes aufgrund der Effizienzsteigerungen bei Kollisionsangriffen mit vorgegebenem Präfix ins Abseits gedrängt wird (die Kosten für das Finden einer Kollision werden auf etwa 50.000 Dollar geschätzt). In einer der nächsten Versionen wird geplant, die Verwendung des Digital Signature Algorithmus mit dem öffentlichen Schlüssel 'ssh-rsa' standardmäßig zu deaktivieren; dieser wird im ursprünglichen RFC des SSH-Protokolls erwähnt und bleibt in der Praxis weit verbreitet.
Um zu überprüfen, ob ssh-rsa in Ihren Systemen verwendet wird, können Sie versuchen, sich mit der ssh-Option '-oHostKeyAlgorithms=-ssh-rsa' zu verbinden. Die standardmäßige Deaktivierung von 'ssh-rsa'-Digital Signaturen bedeutet jedoch nicht, dass RSA-Schlüssel vollständig verworfen werden, da das SSH-Protokoll, abgesehen von SHA-1, auch die Verwendung anderer Hash-Berechnungsalgorithmen zulässt. Insbesondere bleiben die Kombinationen 'rsa-sha2-256' (RSA/SHA256) und 'rsa-sha2-512' (RSA/SHA512) neben 'ssh-rsa' weiterhin verfügbar.
Um den Übergang zu neuen Algorithmen in OpenSSH 8.5 zu erleichtern, ist die Einstellung UpdateHostKeys standardmäßig aktiviert, die es ermöglicht, Clients automatisch auf sicherere Algorithmen umzustellen. Mit dieser Einstellung wird eine spezielle Erweiterung des Protokolls 'hostkeys@openssh.com' aktiviert, die es dem Server ermöglicht, den Client nach der Authentifizierung über alle verfügbaren Hostschlüssel zu informieren. Der Client kann diese Schlüssel in seiner Datei ~/.ssh/known_hosts speichern, was die Aktualisierung von Hostschlüsseln erleichtert und die Schlüsselwechsel vereinfacht. Server.
Die Verwendung von UpdateHostKeys unterliegt mehreren Vorbedingungen, die in Zukunft möglicherweise aufgehoben werden: Der Schlüssel muss im UserKnownHostsFile erwähnt werden und darf nicht im GlobalKnownHostsFile verwendet werden; der Schlüssel muss nur unter einem Namen vorhanden sein; Zertifikate für Hostschlüssel dürfen nicht verwendet werden; im known_hosts dürfen keine Hostnamenmasken verwendet werden; die Einstellung VerifyHostKeyDNS muss deaktiviert sein; der Parameter UserKnownHostsFile muss aktiviert sein.
Zu den empfohlenen Algorithmen für die Migration gehören rsa-sha2-256/512 basierend auf RFC8332 RSA SHA-2 (unterstützt ab OpenSSH 7.2 und standardmäßig verwendet), ssh-ed25519 (unterstützt ab OpenSSH 6.5) und ecdsa-sha2-nistp256/384/521 basierend auf RFC5656 ECDSA (unterstützt ab OpenSSH 5.7).
Weitere Änderungen:
- Änderungen, die die Sicherheit betreffen:
- Im ssh-agent wurde eine Schwachstelle behoben, die durch das wiederholte Freigeben eines bereits freigegebenen Speicherbereichs (double-free) verursacht wurde. Das Problem tritt seit der Version OpenSSH 8.2 auf und könnte potenziell ausgenutzt werden, wenn ein Angreifer Zugriff auf den ssh-agent-Socket auf dem lokalen System hat. Die Ausnutzung wird dadurch erschwert, dass nur root und der ursprüngliche Benutzer Zugriff auf den Socket haben. Das wahrscheinlichste Angriffsszenario besteht darin, den Agenten auf ein Konto umzuleiten, das vom Angreifer kontrolliert wird, oder auf einen Host, auf dem der Angreifer Root-Zugriff hat.
- In sshd wurde ein Schutz hinzugefügt, um die Übertragung sehr großer Parameter mit Benutzernamen an das PAM-Untersystem zu verhindern, was dazu beiträgt, Schwachstellen in den PAM-Modulen (Pluggable Authentication Module) zu blockieren. Die Änderung ermöglicht es beispielsweise, die Verwendung von sshd als Vektor für die Ausnutzung einer kürzlich entdeckten Root-Schwachstelle in Solaris (CVE-2020-14871) zu verhindern.
- Änderungen, die möglicherweise die Kompatibilität beeinträchtigen:
- In ssh und sshd wurde die experimentelle Schlüsselübergabemethode überarbeitet, die gegen Bruteforangriffe auf Quantencomputern resistent ist. Quantencomputer lösen das Problem der Faktorisierung von natürlichen Zahlen in Primfaktoren, das der Grundlage moderner asymmetrischer Verschlüsselungsalgorithmen zugrunde liegt, viel schneller und ist auf klassischen Prozessoren effektiv unlösbar. Die verwendete Methode basiert auf dem NTRU Prime-Algorithmus, der für postquantenkryptografische Systeme entwickelt wurde, und der Schlüsselübergabemethode auf Basis der elliptischen Kurven X25519. Anstelle von sntrup4591761x25519-sha512@tinyssh.org wird die Methode jetzt als sntrup761x25519-sha512@openssh.com identifiziert (der Algorithmus sntrup4591761 wurde durch sntrup761 ersetzt).
- In ssh und sshd wurde die Reihenfolge der Ankündigung der unterstützten Algorithmen für digitale Signaturen geändert. Nun wird ED25519 zuerst angeboten anstelle von ECDSA.
- In ssh und sshd erfolgt die Einstellung der QoS-Parameter TOS/DSCP für interaktive Sitzungen nun vor dem Herstellen der TCP-Verbindung.
- In ssh und sshd wurde die Unterstützung des Chiffrierverfahrens rijndael-cbc@lysator.liu.se eingestellt, das identisch mit aes256-cbc ist und bis zur Genehmigung von RFC-4253 verwendet wurde.
- Standardmäßig ist die Option CheckHostIP deaktiviert, deren Nutzen gering ist, aber die Verwendung erschwert die Rotation von Schlüsseln für Hosts hinter Lastenausgleichsgeräten erheblich.
- In sshd wurden die Einstellungen PerSourceMaxStartups und PerSourceNetBlockSize hinzugefügt, um die Intensität des Starts von Handlern in Bezug auf die Clientadresse zu begrenzen. Diese Parameter ermöglichen eine feinere Steuerung der Begrenzung des Starts von Prozessen im Vergleich zur allgemeinen Einstellung MaxStartups.
- In ssh und sshd wurde eine neue Einstellung LogVerbose hinzugefügt, die es ermöglicht, den Level an Debug-Informationen, die ins Log geschrieben werden, manuell zu erhöhen, mit der Möglichkeit der Filterung nach Mustern, Funktionen und Dateien.
- In ssh wird bei der Annahme eines neuen Hostschlüssels die Anzeige aller Hostnamen gewährleistet und IP-Adressen, die mit dem Schlüssel assoziiert sind.
- In ssh ist die Angabe der Option UserKnownHostsFile=none erlaubt, um die Verwendung der Datei known_hosts bei der Identifizierung von Hostschlüsseln zu deaktivieren.
- In ssh_config für ssh wurde die Einstellung KnownHostsCommand hinzugefügt, die es ermöglicht, die Daten von known_hosts aus der Ausgabe eines angegebenen Befehls zu erhalten.
- In ssh_config für ssh wurde die Option PermitRemoteOpen hinzugefügt, die es ermöglicht, den Zielort beim Einsatz der Option RemoteForward mit SOCKS einzuschränken.
- In ssh wird bei FIDO-Schlüsseln ein erneuter PIN-Abfragevorgang nach einem Fehler bei der digitalen Signaturoperation aufgrund einer inkorrekten PIN und der fehlenden Aufforderung zur Eingabe der PIN durch den Benutzer sichergestellt (z. B. wenn die biometrischen Daten nicht korrekt erfasst werden konnten und das Gerät auf die manuelle Eingabe der PIN zurückgegriffen hat).
- In sshd wurde der auf seccomp-bpf basierende Mechanismus zur Isolierung von Prozessen auf der Linux-Plattform um die Unterstützung zusätzlicher Systemaufrufe erweitert.
- Das Tool contrib/ssh-copy-id wurde aktualisiert.
Quelle: opennet.ru
