SSH3, una versió segura de SSH que utilitza HTTP3

SSH3

SSH3: shell segur més ràpid i ric usant HTTP/3

Fa poc es va donar a conèixer el llançament oficial de la primera versió experimental del servidor i client per al protocol SSH3 dissenyat com a complement del protocol HTTP3 i que utilitza QUIC (basat en UDP), TLS 1.3 que aprofita els mecanismes HTTP per a l'autenticació d'usuaris, així com també per establir un canal de comunicació segur

SSH3 utilitza mecanismes d'autorització basats en el protocol HTTP, que permeten nous mètodes d'autenticació, a més de l'autenticació clàssica mitjançant una contrasenya i un parell de claus, a més que a SSH3 es pot configurar l'accés a un servidor remot a través del proveïdor d'identitat una organització o amb un compte de Google o GitHub. SSH3 es basa en HTTP/3 i QUIC i, a més del reenviament TCP normal, també ofereix reenviament de ports UDP i un establiment de sessió més ràpid i segur.

Sobre SSH3

Els desenvolupadors del projecte esmenten que la creació de SSH3 va sorgir com a resultat d'una revisió completa del protocol SSH, duta a terme per un grup independent d'investigadors separats dels equips que treballen en projectes com ara OpenSSH i altres implementacions del protocol SSH clàssic. A SSH3, la semàntica del protocol SSH clàssic s'implementa a través de mecanismes HTTP, cosa que no només permet capacitats addicionals, sinó que també assegura que les activitats relacionades amb SSH estiguin ocultes entre la resta del trànsit, entre altres coses, SSH3 permet les següents millores que el protocol SSH2 no podria proporcionar, així com també moltes de les característiques populars d'OpenSSH:

  • Establiment de sessió significativament més ràpid
  • Nous mètodes d'autenticació HTTP, com ara OAuth 2.0 i OpenID Connect, a més de l'autenticació SSH clàssica.
  • Anàlisi ~/.ssh/authorized_keys al servidor.
    Analitza ~/.ssh/config al client i maneja les opcions Hostname, Usery Portconfig IdentityFile (les altres opcions s'ignoren actualment)
    Autenticació de servidor basada en certificats
  • Robustesa davant d'atacs d'escaneig de ports: el servidor SSH3 es pot tornar invisible per a altres usuaris d'Internet
  • Reenviament de ports UDP: ara podeu accedir al vostre QUIC, DNS, RTP o qualsevol servidor basat en UDP al qual només es pugui accedir des del vostre host SSH3.
  • Certificats X.509: ara podeu utilitzar els certificats HTTPS clàssics per autenticar el vostre servidor SSH3. Aquest mecanisme és més segur que el clàssic mecanisme de clau de host SSHv2.
  • Capacitat d'ocultar el servidor darrere d'un enllaç secret.
  • Totes les funcions permeses pel protocol QUIC modern: inclosa la migració de connexions i connexions multiruta
  • Usar automàticament l'autenticació ssh-agent de clau pública
  • Reenviament d'agent SSH per utilitzar les vostres claus locals al vostre servidor remot
  • Autenticació d'usuari sense clau mitjançant OpenID Connect.

Per xifrar el canal de comunicació, SSH3 utilitza el protocol TLS 1.3 i es poden emprar mètodes tradicionals basats en contrasenyes i claus públiques (RSA i EdDSA/ed25519). Addicionalment, SSH3 ofereix l'opció de fer servir mètodes basats en el protocol OAuth 2.0, permetent transferir l'autenticació a proveïdors externs.

Un altre dels punts forts de SSH3 és que ofereix un establiment de sessió significativament més ràpid que SSH2, per exemple, establir una nova sessió amb SSH2 pot trigar de 5 a 7 iteracions de xarxa (anada i tornada), cosa que l'usuari pot notar fàcilment ja que SSH3 només necessita 3 iteracions.

Si estàs interessat en poder conèixer més sobre això, has de saber que el client i del servidor està escrit a Go i distribuït sota la llicència Apache 2.0, pots consultar els detalls en el següent enllaç.

A més d'això, cal esmentar que SSH3 encara és experimental i el seu ús no és recomanable per a la producció o entorns crítics i com a tal només se'n recomana la instal·lació per conèixer les seves funcionalitats o poder testejar.

Descarregar i instal·lar SSH3

Per als interessats en poder implementar un servidor SSH3 per a proves, poden fer-ho compilant amb Go el codi font seguint les instruccions que compartim a continuació.

git clone https://github.com/francoismichel/ssh3
cd ssh3
go build -o ssh3 cmd/ssh3/main.go
CGO_ENABLED=1 go build -o ssh3-server cmd/ssh3-server/main.go

Fet això, ara procedim a afegir la nostra variable d'entorn a .bashrc amb:

export PATH=$PATH:/path/to/the/ssh3/directory

Quant a la implementació del servidor, ja que com a SSH3 s'executa sobre HTTP3 cal un certificat i se'n pot generar un amb l'script:

sh ./generate_openssl_selfsigned_certificate.sh

Finalment, t'invito que consultis la documentació sobre l'ús i la implementació de funcions addicionals al següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.