4 points par GN⁺ 2023-12-17 | 1 commentaires | Partager sur WhatsApp

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

  • Aperçu de SSH3 : SSH3 revoit en profondeur le protocole SSH et en mappe la sémantique sur les mécanismes de HTTP. SSH3 utilise QUIC+TLS1.3 pour établir des canaux sécurisés et s’appuie sur les mécanismes d’authentification HTTP pour authentifier les utilisateurs.

SSH3 est plus rapide

  • Vitesse d’établissement de session : SSH3 établit les sessions bien plus rapidement que SSHv2. Là où SSHv2 nécessite 5 à 7 allers-retours réseau, SSH3 n’en demande que 3.

SSH3 est sûr

  • Mécanismes de sécurité : SSH3 repose sur des mécanismes robustes et éprouvés de longue date, comme TLS 1.3, QUIC et HTTP. Ces protocoles sont déjà largement utilisés dans des applications critiques pour la sécurité sur Internet.

Les serveurs publics SSH3 peuvent être masqués

  • Masquage du serveur : Un serveur SSH3 peut être caché derrière un lien secret et ne répondre qu’aux tentatives d’authentification qui envoient une requête HTTP vers un lien spécifique. Cela permet de rendre un serveur SSH3 invisible aux utilisateurs d’Internet.

SSH3 est déjà riche en fonctionnalités

  • Nouvelles fonctionnalités : transfert de port UDP, utilisation de certificats X.509, masquage du serveur, authentification utilisateur sans clé (OpenID Connect), etc.
  • Implémentation de fonctionnalités OpenSSH : parsing de ~/.ssh/authorized_keys, parsing de ~/.ssh/config, authentification du serveur basée sur des certificats, mécanisme known_hosts, utilisation automatique de ssh-agent, transfert d’agent SSH, transfert de port TCP, etc.

Installer SSH3

  • Compilation depuis les sources : nécessite la dernière version de Golang, puis le téléchargement du code source et la compilation des binaires.
  • Déploiement du serveur SSH3 : le serveur SSH3 doit être déployé sur l’hôte, avec un certificat X.509 et une clé privée. Des instructions d’utilisation de l’exécutable ssh3-server sont fournies.
  • Utilisation du client SSH3 : une fois le serveur SSH3 lancé, il est possible de se connecter avec le client SSH3. Des instructions d’utilisation de l’exécutable ssh3 sont fournies.

L’avis de GN⁺

  • Importance : SSH3 apporte un établissement de session plus rapide et une sécurité renforcée par rapport au protocole SSH existant. En particulier, son nouveau mode d’authentification basé sur HTTP/3 et sa fonction de masquage du serveur offrent de sérieux avantages en matière de sécurité.
  • Intérêt : pour les utilisateurs actuels de SSH, le fait de pouvoir conserver les fonctionnalités populaires d’OpenSSH est très attractif. De plus, de nouvelles fonctions comme le transfert de port UDP ouvrent de nouvelles possibilités pour les administrateurs réseau et les utilisateurs.
  • Aspect ludique : le caractère expérimental de SSH3 et ses nouvelles fonctionnalités offrent aux professionnels de l’IT le plaisir d’explorer et de tester de nouveaux outils. L’authentification sans clé via OpenID Connect a le potentiel de transformer en profondeur l’expérience utilisateur.

1 commentaires

 
GN⁺ 2023-12-17
Avis Hacker News
  • Les avis sur SSH over QUIC sont variés :
    • Un utilisateur estime que SSH over QUIC est tout à fait pertinent et se montre favorable à l’utilisation d’un canal QUIC au-dessus d’UDP plutôt que de TCP. Il s’interroge toutefois sur la place de HTTP/3 dans ce schéma, se demandant si cela n’ajoute pas simplement de la surcharge.
    • Un autre utilisateur souligne que les modèles de sécurité de HTTP et de SSH sont différents, indiquant que QUIC convient à HTTP mais qu’il n’est pas certain qu’il soit adapté à SSH. Il exprime aussi des réserves sur le fait que des technologies comme les certificats x509 ou OAuth puissent convenir à SSH.
    • Un autre encore considère que l’ajout de HTTP/3 n’apporte pas d’avantage, si ce n’est de « cacher » le serveur SSH derrière un chemin d’URL, et affirme que les clés d’hôte SSH existantes, SSHFP ou TOFU sont plus sûrs.
    • Un utilisateur précise que ce projet est un projet personnel sans lien avec OpenSSH ni avec une RFC SSH3 de l’IETF.
    • Certains évoquent aussi leurs souhaits pour une version 3 du protocole SSH, en avançant qu’un SNI chiffré ou un bloc de métadonnées standardisé serait nécessaire.
    • Un utilisateur partage son expérience de l’utilisation de SSH via WebSocket et exprime son intérêt pour la prise en charge de plusieurs modes de transport.
    • Certains relèvent l’absence de benchmarks montrant clairement les avantages potentiels de QUIC et mentionnent que la taille de fenêtre fixe d’OpenSSH limite la bande passante.
    • Un utilisateur explique ce qu’est SSHv2 over HTTP/3, rappelle qu’il existe de nombreux serveurs et clients SSH, et précise que ce projet n’introduit pas de nouveau chiffrement. Il espère également la réussite du projet et critique la résistance d’OpenSSH au changement.
    • Un autre utilisateur partage des informations sur le tunneling UDP ou TCP via le protocole WebSocket.
    • Certains mentionnent qu’une connexion SSH via HTTP/3 pourrait ressembler à un trafic web standard et potentiellement contourner le pare-feu chinois.

Ces différents avis nourrissent une discussion intéressante sur le concept de SSH over QUIC, en abordant ses avantages et inconvénients techniques ainsi que les considérations de sécurité.