✅ Établissement de la connexion :
👉 La première étape consiste à établir une connexion TCP entre le client et le serveur SSH, ouvrant ainsi un tunnel sécurisé pour les communications
✅ Négociation des versions et des algorithmes :
👉 Les deux parties négocient les versions supportées ainsi que les algorithmes de cryptographie à utiliser, garantissant une compatibilité et une sécurité optimales
✅ Génération et échange de clés :
👉 Le client génère une paire de clés (publique et privée) et envoie la clé publique au serveur, qui l’utilise pour vérifier l’identité du client. Ce processus utilise la cryptographie asymétrique pour sécuriser l’échange
✅ Calcul et échange de clés de session :
👉 Les clés de session sont calculées des deux côtés pour chiffrer la communication. Le serveur chiffre un nombre aléatoire avec la clé publique du client, qui le déchiffre ensuite avec sa clé privée
✅ Envoi et réception de données chiffrées :
👉 Les données envoyées entre le client et le serveur sont chiffrées et déchiffrées à l’aide des clés de session, assurant la confidentialité et l’intégrité des informations échangées
✅ Transfert de commandes et de résultats :
👉 Les commandes envoyées par le client sont chiffrées, exécutées par le serveur, et les résultats sont ensuite chiffrés avant d’être renvoyés au client
✅ SSH et ses couches :
👉 Couches SSH : SSH fonctionne à travers trois couches principales pour sécuriser la communication :
Couche de transport : fournit le chiffrement et l’intégrité des données pour assurer une communication sécurisée
Couche d’authentification : vérifie l’identité du client pour s’assurer que seuls les utilisateurs autorisés accèdent au serveur
Couche de connexion : gère plusieurs canaux logiques sur la même connexion sécurisée, permettant de multiples communications simultanées
✅ Forwarding local SSH :
👉 Une commande comme ssh -L p1:server:p2 remote permet d’établir un tunnel sécurisé à travers le firewall, facilitant l’accès à des services spécifiques de manière sécurisée
Et vous, quelles sont vos pratiques et vos outils préférés pour sécuriser vos connexions SSH ?
Crédit : ByteByteGo