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 proveïdors de software: XNUMX-XNUMX-XNUMX. 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ç.