Le protocole SSH (Secure Shell) est utilisé pour établir un accès sécurisé permettant d’effectuer des opérations sensibles sur des machines distantes et d’effectuer des transferts de fichiers à travers un réseau publique tout en garantissant l’authentification, la confidentialité et l’intégrité des données.
Le principal objectif de SSH était de résoudre le problème de transmission en clair de toutes les informations sur le réseau (LAN ou Internet) ouvrant la porte à toutes les attaques de type homme du milieu (Man-in-The-Middle).
Depuis l’apparition de SSH, son rôle a évolué pour ne pas se limiter à une simple fonctionnalité de connectivité à distance pour le shell. La version 2 de ce protocole, normalisée en janvier 2006, propose la sécurisation de n’importe quel protocole applicatif et ceci grâce à ses mécanismes de « port forwarding » et de « tunneling ».
Dans ce dossier, nous allons expliquer les différents services de sécurité mis en place dans SSH tout en se focalisant sur sa version 2, normalisée en 2006 à l’IETF. Nous présenterons par la suite, les sous-protocoles de SSHv2, sa phase d’initialisation et les différentes méthodes d’authentification qui y sont intégrées. Nous aborderons aussi la solution SSH VPN en la comparant à IPSec et SSL. Nous discuterons ensuite de l’avenir du protocole SSH et des nouveaux standards TLS qui influencent l’avenir de ce protocole et son actuelle utilisation dans l’accès aux équipements distants. Nous terminerons le dossier par une conclusion.
Remerciements :
Nous remercions le Pr. Maryline Maknavicius-Laurent et le Dr. Ouahiba Fouial pour l’attention qu’elles ont accordée à ce dossier, pour le temps qu’elles ont bien voulu consacrer à sa lecture et enfin, pour leurs remarques constructives et intéressantes.