- SSH3 es un protocolo de shell seguro de nueva generación que funciona sobre HTTP/3 y mejora de forma significativa la velocidad de establecimiento de sesión frente al SSHv2 tradicional
- Forma un canal seguro mediante QUIC y TLS 1.3, y soporta esquemas modernos de autenticación como OAuth 2.0 y OpenID Connect
- Puede ocultar el servidor detrás de una ruta secreta, por lo que resiste mejor ataques como el escaneo de puertos, y además ofrece nuevas funciones como reenvío de puertos UDP y multipath de QUIC
- Ya adoptó varias funciones clave de OpenSSH, pero por ahora está en etapa experimental, así que no se recomienda desplegarlo en entornos reales de producción
- Como mucha gente considera que el nombre SSH3 no es adecuado, el borrador de estandarización cambió a “Remote Terminals over HTTP/3” y el cambio de nombre sigue en proceso
Resumen del proyecto SSH3 y su importancia
- SSH3 es una solución de código abierto que rediseña el protocolo SSH existente para adaptarlo a HTTP/3 y a tecnologías web modernas
- Reconfigura la semántica del protocolo de conexión SSH existente (RFC4254) sobre HTTP/3 Extended CONNECT y un canal QUIC+TLS 1.3
- Fue propuesto como borrador de Internet del IETF, draft-michel-remote-terminal-http3, y ofrece varias ventajas como reducir mucho la velocidad de establecimiento de sesión y ampliar los métodos modernos de autenticación
- Frente a otras implementaciones de SSH, se distingue por ideas innovadoras como el uso de QUIC y la configuración de servidor oculto
Funciones y características principales
- Establecimiento rápido de sesión
- Mientras que una conexión SSHv2 tradicional requiere en promedio entre 5 y 7 viajes de ida y vuelta de red, SSH3 solo necesita 3 rondas, reduciendo mucho la latencia percibida por el usuario
- La latencia de escritura de teclas se mantiene en un nivel similar al actual
- Seguridad reforzada
- Basado en TLS 1.3, QUIC y autenticación HTTP, aprovecha protocolos de seguridad ya validados y usados en comercio electrónico y banca por internet
- Soporta autenticación con clave pública basada en RSA y EdDSA/ed25519, además de métodos diversos como OAuth 2.0 y OpenID Connect
- También permite iniciar sesión con cuentas de Google, Microsoft y Github
- Función para ocultar el servidor
- El servidor puede colocarse detrás de una URL secreta específica (por ejemplo: https://192.0.2.0:443/M3MzkxYWMx...) y responder solo cuando las solicitudes de autenticación lleguen a esa URL
- A las demás solicitudes devuelve 404 Not Found, impidiendo que atacantes o crawlers en internet detecten la existencia del servidor
- Aun así, la ruta secreta no reemplaza la autenticación, por lo que se recomienda usar siempre un mecanismo adicional de autenticación, como clave pública, contraseña u OIDC
- Proyecto experimental en desarrollo continuo
- Por su estructura, requiere una verificación rigurosa y confiable de seguridad, y no se recomienda introducirlo en servidores de producción
- Actualmente recopila retroalimentación de la comunidad en entornos de prueba o redes cerradas
- Compatibilidad con OpenSSH y funciones adicionales
- Soporta parseo de ~/.ssh/authorized_keys y known_hosts, integración con ssh-agent, reenvío de puertos TCP/UDP y Proxy Jump
- El soporte de reenvío UDP permite acceso a servicios basados en UDP como DNS, RTP y QUIC, usando una ruta de QUIC datagram
- Ofrece autenticación de servidor a nivel HTTPS mediante certificados X.509
- Autenticación sin llaves (Keyless): con OpenID Connect es posible conectarse sin copiar claves públicas, usando solo SSO corporativo o cuentas externas como Google o GitHub
Conclusión
- SSH3 es un proyecto experimental de código abierto que hace evolucionar el entorno SSH al incorporar protocolos de red y autenticación modernos
- Refuerza de forma importante la velocidad, la flexibilidad y la seguridad, pero antes de una validación suficiente conviene ser prudente con su uso en producción
- Ofrece una experiencia de usuario similar a OpenSSH y también incorpora abundantes funciones nuevas
- Con una evaluación de seguridad adecuada y participación de la comunidad, tiene potencial para consolidarse como la próxima generación de SSH
1 comentarios
Opiniones en Hacker News
bike-sheddingack, así que al hacerscpde archivos grandes desde distintas partes del mundo esperaría una mejora importanteconnection init, haya aumentado tanto que al final uno termine apoyándose en mejores prácticas basadas en protocolos probados en batalla. Pero cuando la transferencia real ya no tiene nada de hypertext, sigue sintiéndose raro seguir llamándolo httpconnection migrationy soporte multipath son propiedades básicas de QUIC, y respecto a la diferencia entre la función de roaming y un “tmux integrado”, no estoy seguro de que el verdadero valor esté en que eso venga incorporado directamente al sistemaSet-Locationme parece preferible acd, y algo comoremote-terminals-over-http3sería mejor que ssh3