Release von OpenSSH 8.3 mit Behebung einer Sicherheitsanfälligkeit in scp

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

In der neuen Version wurde ein Schutz gegen SCP-Angriffe hinzugefügt, der es dem Server ermöglicht, andere Dateinamen zu übermitteln, die von den angeforderten abweichen (im Gegensatz zu der vorherigen Schwachstelle). Der Angriff ermöglicht es nicht, das vom Benutzer gewählte Verzeichnis oder die Glob-Maske zu ändern. Wir erinnern uns daran, dass der SCP-Server entscheidet, welche Dateien und Verzeichnisse an den Client gesendet werden, während der Client lediglich die Richtigkeit der zurückgegebenen Objektanzeigen überprüft. Das Wesen des entdeckten Problems besteht darin, dass, wenn der Systemaufruf utimes fehlschlägt, der Inhalt der Datei als Metadaten der Datei interpretiert wird.

Diese Eigenschaft kann beim Herstellen einer Verbindung zu einem Server, der von einem Angreifer kontrolliert wird, verwendet werden, um im Dateisystem des Benutzers andere Dateinamen und Inhalte beim Kopieren über SCP in Konfigurationen zu speichern, die zu einem Fehler bei der Ausführung von utimes führen (zum Beispiel bei der Verweigerung von utimes durch SELinux-Richtlinien oder durch einen systematischen Aufruf-Filter). Die Wahrscheinlichkeit, dass echte Angriffe stattfinden, wird als gering eingeschätzt, da in typischen Konfigurationen der Aufruf von utimes nicht fehlschlägt. Darüber hinaus bleibt der Angriff nicht unbemerkt — beim Aufruf von SCP wird ein Datenübertragungsfehler angezeigt.

Allgemeine Änderungen:

  • In SFTP wurde die Verarbeitung des Arguments „-1“ eingestellt, ähnlich wie bei SSH und SCP, das zuvor akzeptiert, aber ignoriert wurde;
  • In SSHD steht bei der Verwendung von IgnoreRhosts nun drei Auswahlmöglichkeiten zur Verfügung: „yes“ — Rhosts/Shosts ignorieren, „no“ — Rhosts/Shosts berücksichtigen, und „shosts-only“ — „.shosts“ erlauben, aber „.rhosts“ verbieten;
  • In SSH wird die Verarbeitung der Substitution %TOKEN in den Einstellungen LocalForward und RemoteForward sichergestellt, die für die Umleitung von Unix-Sockets verwendet werden;
  • Das Laden von öffentlichen Schlüsseln aus einer unverschlüsselten Datei mit dem privaten Schlüssel ist erlaubt, wenn keine separate Datei mit dem öffentlichen Schlüssel vorhanden ist;
  • Wenn libcrypto im System vorhanden ist, verwendet SSH und SSHD nun die Implementierung des Chacha20-Algorithmus aus dieser Bibliothek, anstelle der integrierten portablen Implementierung, die in der Leistung zurückbleibt;
  • Die Möglichkeit, den Inhalt der binären Liste der widerrufenen Zertifikate bei der Ausführung des Befehls „ssh-keygen -lQf /path“ zu dumpen, wurde implementiert;
  • In der portablen Version wurde die Identifizierung von Systemen implementiert, in denen Signale mit der Option SA_RESTART die Ausführung von select unterbrechen;
  • Die Probleme beim Kompilieren auf HP/UX- und AIX-Systemen wurden gelöst.
  • Probleme mit dem Bauen von seccomp-Sandbox in einigen Linux-Konfigurationen wurden behoben;
  • Die Erkennung der libfido2-Bibliothek wurde verbessert und Probleme beim Bauen mit der Option „—with-security-key-builtin“ wurden gelöst.

Die Entwickler von OpenSSH haben erneut auf die bevorstehende Einstufung von Algorithmen, die SHA-1-Hashes verwenden, als veraltet hingewiesen. einer Erhöhung Die Effektivität von Kollisionangriffen mit einem bestimmten Präfix (die Kosten zur Auffindung einer Kollision werden auf etwa 45.000 Dollar geschätzt). In einer der nächsten Ausgaben ist geplant, die Verwendung des digitalen Signaturalgorithms mit öffentlichem Schlüssel „ssh-rsa“ standardmäßig zu deaktivieren, der im ursprünglichen RFC für das SSH-Protokoll erwähnt wird und in der Praxis nach wie vor weit verbreitet ist (um zu überprüfen, ob ssh-rsa in Ihren Systemen verwendet wird, können Sie versuchen, sich per SSH mit der Option „-oHostKeyAlgorithms=-ssh-rsa“ zu verbinden).

Um den Übergang zu neuen Algorithmen in OpenSSH zu erleichtern, wird in einer der nächsten Versionen standardmäßig die Einstellung UpdateHostKeys aktiviert, die es ermöglicht, Clients automatisch auf sicherere Algorithmen umzustellen. Zu den empfohlenen Algorithmen für die Migration zählen rsa-sha2-256/512 basierend auf RFC8332 RSA SHA-2 (unterstützt seit OpenSSH 7.2 und standardmäßig verwendet), ssh-ed25519 (unterstützt seit OpenSSH 6.5) und ecdsa-sha2-nistp256/384/521 basierend auf RFC5656 ECDSA (unterstützt seit OpenSSH 5.7).

Mit der letzten Veröffentlichung wurden „ssh-rsa“ und „diffie-hellman-group14-sha1“ aus der Liste CASignatureAlgorithms entfernt, die die für digitale Unterschriften neuer Zertifikate zulässigen Algorithmen definiert. Die Verwendung von SHA-1 in Zertifikaten birgt zusätzliche Risiken, da Angreifer unbegrenzte Zeit für die Suche nach Kollisionen eines bestehenden Zertifikats haben, während die Angriffszeit auf Host-Schlüssel durch das Verbindungs-Timeout (LoginGraceTime) begrenzt ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4