SSH3, une version sécurisée de SSH qui utilise HTTP3

SSH3

SSH3 : Shell sécurisé plus rapide et plus riche utilisant HTTP/3

Récemment devenu connu le lancement officiel de la première version expérimentale du serveur et du client pour le Protocole SSH3 conçu en complément du protocole HTTP3 et qui utilise QUIC (basé sur UDP), TLS 1.3 qui profite des mécanismes HTTP pour l'authentification des utilisateurs, ainsi que pour établir un canal de communication sécurisé

SSH3 utilise des mécanismes d'autorisation basés sur le protocole HTTP, qui permettent de nouvelles méthodes d'authentification, en plus de l'authentification classique utilisant un mot de passe et une paire de clés, et en SSH3, vous pouvez configurer l'accès à un serveur distant via le fournisseur d'identité d'une organisation ou avec un compte Google ou GitHub. SSH3 est basé sur HTTP/3 et QUIC et, en plus du transfert TCP normal, offre également un transfert de port UDP et un établissement de session plus rapide et plus sécurisé.

À propos de SSH3

Les développeurs du projet mentionnent que la création de SSH3 est né à la suite d’une révision complète du protocole SSH, réalisé par un groupe de chercheurs indépendant, distinct des équipes travaillant sur des projets comme OpenSSH et d'autres implémentations du protocole SSH classique. Dans SSH3, la sémantique du protocole SSH classique est implémentée via des mécanismes HTTP, ce qui permet non seulement des fonctionnalités supplémentaires, mais garantit également que les activités liées à SSH sont cachées parmi le reste du trafic, entre autres choses, SSH3 permet les améliorations suivantes par rapport au protocole SSH2 ne pouvait pas fournir, ainsi que de nombreuses fonctionnalités populaires d'OpenSSH :

  • Établissement de session nettement plus rapide
  • De nouvelles méthodes d'authentification HTTP, telles que OAuth 2.0 et OpenID Connect, en plus de l'authentification SSH classique.
  • Analyse de ~/.ssh/authorized_keys sur le serveur.
    Analyse ~/.ssh/config sur le client et gère les options Hostname, User et Portconfig IdentityFile (les autres options sont actuellement ignorées)
    Authentification du serveur basée sur un certificat
  • Robustesse face aux attaques par scan de ports : votre serveur SSH3 peut devenir invisible aux autres internautes
  • Redirection de port UDP – Vous pouvez désormais accéder à votre QUIC, DNS, RTP ou à tout serveur basé sur UDP accessible uniquement à partir de votre hôte SSH3.
  • Certificats X.509 : Vous pouvez désormais utiliser vos certificats HTTPS classiques pour authentifier votre serveur SSH3. Ce mécanisme est plus sécurisé que le mécanisme de clé d'hôte SSHv2 classique.
  • Possibilité de cacher le serveur derrière un lien secret.
  • Toutes les fonctionnalités activées par le protocole QUIC moderne : y compris la migration de connexion et les connexions multivoies
  • Utiliser automatiquement l'authentification par clé publique ssh-agent
  • Redirection d'agent SSH pour utiliser vos clés locales sur votre serveur distant
  • Authentification utilisateur sans clé sécurisée à l’aide d’OpenID Connect.

Pour chiffrer le canal de communication, SSH3 utilise le protocole TLS 1.3 et des méthodes traditionnelles basées sur des mots de passe et des clés publiques (RSA et EdDSA/ed25519) peuvent être utilisées. De plus, SSH3 offre la possibilité d'utiliser des méthodes basées sur le protocole OAuth 2.0, permettant de transférer l'authentification à des fournisseurs externes.

Un autre des Les points forts de SSH3 sont qu'il offre un établissement de session nettement plus rapide que SSH2, Par exemple, établir une nouvelle session avec SSH2 peut prendre 5 à 7 itérations réseau (aller-retour), ce que l'utilisateur peut facilement remarquer puisque SSH3 n'a besoin que de 3 itérations.

Si vous souhaitez en savoir plus, sachez que le client et le serveur sont écrits en Go et distribués sous licence Apache 2.0, vous pouvez consulter les détails dans le lien suivant.

De plus, il convient de mentionner que SSH3 est encore expérimental et que son utilisation n'est pas recommandée pour la production ou les environnements critiques et en tant que telle, son installation n'est recommandée que pour connaître ses fonctionnalités ou pour pouvoir tester.

Téléchargez et installez SSH3

Pour intéressé à pouvoir implémenter un serveur SSH3 pour les tests, Vous pouvez le faire en compilant le code source avec Go en suivant les instructions que nous partageons ci-dessous.

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

Une fois cela fait, nous procédons maintenant à l'ajout de notre variable d'environnement dans .bashrc avec :

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

Concernant l'implémentation du serveur, puisque SSH3 fonctionne sur HTTP3, un certificat est nécessaire et celui-ci peut être généré avec le script :

sh ./generate_openssl_selfsigned_certificate.sh

Enfin, je vous invite à consulter la documentation sur l'utilisation et la mise en œuvre de fonctions supplémentaires dans le lien suivant


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.