- SSH3 ist ein Sicherheits-Shell-Protokoll der nächsten Generation, das auf HTTP/3 aufsetzt und die Geschwindigkeit beim Sitzungsaufbau im Vergleich zu traditionellem SSHv2 deutlich verbessert
- Über QUIC und TLS 1.3 wird ein sicherer Kanal aufgebaut; zudem werden moderne Authentifizierungssysteme wie OAuth 2.0 und OpenID Connect unterstützt
- Server können hinter einem geheimen Pfad verborgen werden und sind dadurch widerstandsfähiger gegen Angriffe wie Port-Scanning; außerdem bietet SSH3 neue Funktionen wie UDP-Port-Forwarding und QUIC-Multipath
- Mehrere Kernfunktionen von OpenSSH wurden bereits übernommen, das Projekt befindet sich jedoch aktuell noch in einem experimentellen Stadium, weshalb ein Einsatz in produktiven Umgebungen nicht empfohlen wird
- Da viele der Ansicht sind, dass der Name SSH3 nicht passend ist, wurde der Standardisierungsentwurf in „Remote Terminals over HTTP/3“ umbenannt, und eine Namensänderung ist im Gange
Überblick über das SSH3-Projekt und seine Bedeutung
- SSH3 ist eine Open-Source-Lösung, die das bestehende SSH-Protokoll für HTTP/3 und moderne Webtechnologien neu entwirft
- Die Semantik des bestehenden SSH-Verbindungsprotokolls (RFC4254) wird über HTTP/3 Extended CONNECT und einen Kanal aus QUIC+TLS 1.3 neu aufgebaut
- Vorgeschlagen wurde es als IETF-Internet-Draft draft-michel-remote-terminal-http3; es verkürzt die Zeit für den Sitzungsaufbau deutlich und bietet verschiedene Vorteile wie die Erweiterung moderner Authentifizierungsverfahren
- Im Vergleich zu anderen SSH-Implementierungen zeichnen es innovative Ideen wie die Nutzung von QUIC und verborgene Serverkonfigurationen aus
Wichtige Funktionen und Merkmale
- Schneller Sitzungsaufbau
- Während eine klassische SSHv2-Verbindung im Durchschnitt 5 bis 7 Netzwerk-Roundtrips benötigt, kommt SSH3 mit nur 3 Roundtrips aus und reduziert dadurch die vom Nutzer wahrgenommene Wartezeit erheblich
- Die Latenz bei Tastatureingaben bleibt auf dem bisherigen Niveau
- Verbesserte Sicherheit
- Basierend auf TLS 1.3, QUIC und HTTP-Authentifizierung nutzt es bewährte Sicherheitsprotokolle, die bereits im E-Commerce und Online-Banking eingesetzt werden
- Unterstützt öffentliche Schlüssel auf Basis von RSA und EdDSA/ed25519 sowie verschiedene Authentifizierungsmethoden wie OAuth 2.0 und OpenID Connect
- Auch die Anmeldung mit Google-, Microsoft- und Github-Konten ist möglich
- Funktion zum Verbergen des Servers
- Der Server kann hinter einer bestimmten geheimen URL liegen, z. B.
https://192.0.2.0:443/M3MzkxYWMx...; er antwortet nur, wenn an diese URL eine Authentifizierungsanfrage gesendet wird
- Auf alle anderen Anfragen wird mit 404 Not Found geantwortet, sodass Angreifer oder Crawler im Internet die Existenz des Servers nicht erkennen können
- Der geheime Pfad ersetzt jedoch keine Authentifizierung; daher wird ausdrücklich empfohlen, zusätzlich eigene Authentifizierungsmechanismen wie öffentliche Schlüssel, Passwort oder OIDC zu verwenden
- Experimentelles Projekt in aktiver Entwicklung
- Die Struktur erfordert eine belastbare Überprüfung der Sicherheit, und ein Einsatz auf produktiven Servern wird nicht empfohlen
- Derzeit wird in Testumgebungen oder geschlossenen Netzwerken Community-Feedback gesammelt
- OpenSSH-Kompatibilität und zusätzliche Funktionen
- Parsing von ~/.ssh/authorized_keys und known_hosts, Integration mit ssh-agent, TCP-/UDP-Port-Forwarding und Unterstützung für Proxy Jump
- Durch UDP-Forwarding werden Zugriffswege zu UDP-basierten Servern wie DNS-, RTP- und QUIC-Diensten bereitgestellt; verwendet wird ein QUIC Datagram-Pfad
- X.509-Zertifikate ermöglichen eine Serverauthentifizierung auf HTTPS-Niveau
- Keyless-Authentifizierung: Mit OpenID Connect ist ein Zugriff ohne Kopieren öffentlicher Schlüssel möglich, nur mit Unternehmens-SSO oder externen Konten wie Google oder Github
Fazit
- SSH3 ist ein experimentelles Open-Source-Projekt, das die SSH-Umgebung durch moderne Netzwerkprotokolle und Authentifizierung weiterentwickelt
- Es verbessert Geschwindigkeit, Flexibilität und Sicherheit deutlich, dennoch ist vor einer ausreichenden Prüfung Vorsicht beim produktiven Einsatz geboten
- Es bietet eine OpenSSH-ähnliche Nutzererfahrung und zugleich zahlreiche neue Funktionen
- Mit einer fundierten Sicherheitsbewertung und aktiver Community-Beteiligung hat es das Potenzial, sich als SSH der nächsten Generation zu etablieren
1 Kommentare
Hacker-News-Kommentare
ssh3gefiel mir wirklich nicht, daher fand ich es gut, dass ganz oben im Repo steht: „SSH3 wird umbenannt. Im Moment läuft es noch als SSH Connection Protocol (RFC4254) über HTTP/3 Extended CONNECT, aber es sind so viele Änderungen nötig und es unterscheidet sich so stark von bestehendem SSH, dass es nicht einfach integriert werden kann. Der Entwurf der Spezifikation wurde bereits in ‚Remote Terminals over HTTP/3‘ umbenannt, und wir brauchen Zeit, um über einen besseren dauerhaften Namen nachzudenken.“SSH/3nachgedacht (im Sinne von SSH + HTTP/3).scpgroßer Dateien rund um den Globus.ssh3wurde Head-of-Line-Blocking vermutlich gelöst, daher dürfte es schneller sein, wenn mehrere Ports oder Verbindungen über eine physische Verbindung multiplexed werden.Set-Locationbesser alscd, und ein Name wieremote-terminals-over-http3wäre besser alsssh3.