Comment le protocole SSH fonctionne-t-il ?

ssh vs ftp
Shares

Que vous soyez blogueur ou propriétaire d’une grande entreprise, vous devez veiller à ce que votre image soit la meilleure possible aux yeux des clients. Prendre des précautions et protéger votre site web de toute menace est une nécessité. Il existe plusieurs moyens de se protéger. Le protocole SSH est l’un d’entre eux.


Le SSH, c’est quoi au juste ?

SSH est l’abréviation de Secure Shell. Il s’agit d’une norme pour les protocoles de communication client et serveur utilisés dans les réseaux informatiques TCP/IP. Le protocole Secure Shell permet de se connecter à des ordinateurs distants et d’exécuter des commandes. Il s’agit du modèle client-serveur pour la connexion à distance. La connexion SSH est cryptée, contrairement au prédécesseur du protocole SSH – TELNET.

L’interception de données non cryptées est simple et nécessite des connaissances de base sur la couche de connexion. L’utilisation de protocoles “remote shell” non sécurisés est risquée, d’où le recours à la couche d’authentification de l’utilisateur.

Il existe deux groupes principaux d’utilisateurs de Secure Shell. Les administrateurs de réseau l’utilisent pour gérer des serveurs SSH distants. Les clients d’hébergement utilisent une connexion SSH pour administrer leurs serveurs avec des méthodes d’authentification personnalisées. Vous pouvez configurer une machine distante, réparer un routeur défectueux ou accéder à des bases de données distantes. Le protocole permet d’utiliser les e-mails et de transférer des fichiers en toute sécurité.

Le protocole Secure Socket Shell est très utile dans le travail quotidien sur les équipements distants et augmente considérablement la sécurité de la couche de connexion. Grâce au protocole de réseau cryptographique, vous pouvez lutter contre une attaque extérieure sur votre site web. On peut citer les tentatives d’interception d’un mot de passe ou d’usurpation de l’identité d’un serveur DNS.

Vous pouvez accéder à votre VPS ou à votre serveur dédié via le client SSH. Vous pouvez modifier les fichiers système sur le serveur et installer de nouveaux outils. Avec l’hébergement mutualisé, vous pouvez visualiser, déplacer, copier et modifier des fichiers sur le serveur, compresser et décompresser des fichiers directement sur le serveur, et créer ou restaurer des sauvegardes.

Pour connaître la différence entre un VPS et un serveur dédié, lisez cet article. Vous apprendrez quand il vaut la peine d’investir dans une solution dédiée et si un serveur virtuel est suffisant.


Mécanisme du protocole SSH

Vous savez déjà ce qu’est le protocole de transfert de fichiers SSH. Avec une application client Secure Shell, vous pouvez travailler dans un système distant comme s’il s’agissait d’un système local. La technologie Secure Shell a permis de remédier à la vulnérabilité du protocole Telnet. Elle fonctionne dans une architecture client-serveur ; le serveur se connecte sur le port 22 par défaut. Son potentiel de sécurité est très respectable et permet à deux ordinateurs de communiquer sans risque de saisie de données.

L’algorithme d’échange de clés de chiffrement est à la base de la compréhension du fonctionnement de l’ensemble de la connexion SSH. Ce protocole permet l’authentification du client par clé symétrique lors de la connexion avec différents systèmes d’exploitation distants. En outre, les programmes du protocole SSH fournissent :

  • choix d’une méthode d’authentification par mot de passe ;
  • tunnelisation des connexions TCP dans SSH ;
  • tunnelisation de sessions X-Window ;
  • transfert sécurisé de fichiers SCP ;
  • la prise en charge de méthodes d’authentification externes (y compris Kerberos, les certificats numériques et les SmartCards).

Par conséquent, la technologie Secure Shell protège ses utilisateurs contre les attaques suivantes :

  • le piratage de session et l’usurpation d’identité (spoofing),
  • l’usurpation d’identité d’un serveur DNS,
  • le routage de la source IP (usurpation de l’identité d’un système de confiance),
  • l’usurpation d’identité IP (usurpation de l’identité d’un serveur cible distant),
  • le détournement de mot de passe.

Le protocole SSH a deux variantes : l’ancienne SSHv1 et la nouvelle SSHv2 développée par l’Internet Engineering Task Force (IETF). Les méthodes de cryptage diffèrent. Cependant, le principe de fonctionnement de base, fondé sur la cryptographie à clé publique du client et du serveur, est le même.

Je me concentrerai sur le protocole SSHv2, en soulignant les différences entre lui et son aîné. SSHv1 perd rapidement de sa popularité au profit de son successeur car il est possible de mener une attaque efficace de détournement de session à son encontre. Ce qui n’est pas possible avec la norme de cryptage avancée de SSHv2.


Autorisation du client SSH et du serveur SSH

L'autorisation Secure Shell garantit un cryptage sûr de la connexion

Chaque système informatique qui utilise le dernier protocole client SSH a un format de fichier de clé publique RSA ou DSA unique. SSHv1 n’a qu’un serveur RSA. Ces clés SSH ont une longueur d’au moins 1024 bits. Dans SSHv1, le serveur génère des paires de clés publiques et privées échangées périodiquement, d’une longueur minimale de 768 bits. Le serveur de la machine distante génère deux clés SSH : l’une est sa clé d’hôte et l’autre est la clé du serveur.

Lors des connexions SSH, les clients SSH reçoivent leurs clés publiques : une clé permanente de 1024 bits attribuée au serveur et une clé modifiée périodiquement de 768 bits. Le client compare la clé permanente à sa clé principale et détermine s’il a été connecté au bon serveur SSH.

Ensuite, le client chiffre un nombre à l’aide des clés publiques reçues du serveur et renvoie le nombre chiffré. Ce dernier, à son tour, décrypte la valeur reçue à l’aide de ses clés privées. La valeur de sortie devient la clé des algorithmes symétriques utilisés pour crypter la session de communication proprement dite. Les algorithmes les plus populaires pour crypter les sessions sont Blowfish et Triple DES.

En revanche, dans le cas de SSHv2, la clé du serveur n’est pas générée. L’algorithme Diffie-Hellman génère la clé de session de manière autonome. SSHv2 chiffre les données à l’aide de nombreux algorithmes : AES (128, 192, 256 bits), Blowfish, Triple DES, CAST128 et Arcfour. En outre, l’intégrité de la session est assurée par l’un des algorithmes de hachage – SHAv1 ou MD5.

Une fois l’autorisation obtenue, l’utilisateur peut accéder au serveur distant et commencer à transférer des données. Les méthodes d’authentification de l’utilisateur sont principalement des protocoles de cryptage basés sur l’échange de données avec des clés publiques et l’autorisation rhosts.

Autorisation rhosts

Il part du principe que le serveur SSH possède une entrée dans les fichiers /etc/hosts.equiv ou /etc/shosts.equiv ou dans les fichiers .shosts ou .rhosts contenant les noms d’ordinateur et d’utilisateur du client. Si les fichiers répertoriés contiennent les mêmes informations, l’accès sécurisé est automatiquement accordé (sans demander de mot de passe).

Public key authorization

La clé publique de l’utilisateur réside sur le serveur Secure Shell avec RSA. Au début de la connexion, le client déclare les clés publiques qu’il souhaite utiliser. En réponse, le serveur envoie un nombre aléatoire crypté avec la clé publique choisie par le client. Ce dernier doit le décrypter en utilisant sa clé secrète correspondant à une clé publique donnée.

Si cette étape est réussie, le client crypte le nombre avec sa clé privée, et le serveur doit le décrypter avec la clé publique correspondante. Si le serveur reçoit le numéro qu’il a précédemment envoyé au client (crypté avec sa clé publique), l’autorisation du client est réussie.

Dans SSHv2, le chiffrement et le déchiffrement avec l’authentification par clé publique diffèrent. Tout d’abord, il utilise à la fois des clés RSA et DSA. Lorsque le serveur envoie un nombre aléatoire crypté au client, il signe la clé de session convenue à l’aide de l’algorithme Diffie-Hellman avec une clé privée. La connexion est vérifiée par le serveur SSH à l’aide de la clé publique de l’utilisateur.

En outre, les systèmes basés sur SSHv2 peuvent utiliser des méthodes d’authentification externes basées sur Kerberos, X.509 et SmartCards.

En passant par les différentes étapes de l’autorisation de l’utilisateur, vous pouvez commencer à travailler sur un ordinateur distant. Le premier mode est l’exécution non interactive des commandes SSH émises au niveau du client. Le second mode, plus avancé, consiste à fournir à l’utilisateur un interpréteur de commandes (shell) à distance. Il s’agit d’un mécanisme d’accès à distance à un ordinateur distant.

La sécurité est la base de la gestion d’une entreprise. Il est important de crypter vos données, mais vous devez également sécuriser votre site web. Apprenez à renforcer la sécurité de WordPress !


Comment utiliser Secure Shell ?

Vous pouvez utiliser différents programmes pour connecter les clients SSH aux serveurs. Les plus populaires sont PuTTY et OpenSSH. En outre, vous pouvez également utiliser d’autres programmes sur de nombreux systèmes d’exploitation. SSHdos (pour DOS), NiftyTelnet SSH (pour mac OS), MindTerm (pour Java), MSSH, WinSCP, TTSSH et SecureCRT (pour Windows).

Paramétrage de PuTTY

Pour activer la connexion, allez dans l’onglet Session. Dans le champ Nom d’hôte signé, entrez le nom du domaine configuré ou l’adresse IP du serveur. Dans le champ Type de connexion, sélectionnez l’option SSH, la commande Ouvrir et entrez le login et le mot de passe. A partir de maintenant, vous pouvez utiliser le serveur via le protocole SSH.

Pour gérer le serveur, exécutez des commandes shell dans la console shell :

  • find – recherche d’un fichier par son nom ;
  • ls – afficher un répertoire ou un fichier ;
  • mkdir – créer un nouveau répertoire ;
  • mv – déplacer un répertoire ou un fichier ;
  • cp – copier un répertoire ou un fichier ;
  • rm – supprimer un répertoire ou un fichier.

Il est préférable de vérifier les options “Connexion/déconnexion” et “Demander à l’utilisateur à chaque fois”, et dans l’onglet Terminal, sélectionner :

  • Le mode d’habillage automatique est initialement activé ;
  • Utiliser la couleur d’arrière-plan pour effacer l’écran ;
  • Écho local – Auto ;
  • Edition locale de la ligne – Auto.

Dans l’onglet Clavier, laissez les options par défaut. Si vous souhaitez utiliser des accents dans une autre langue, cochez les deux dernières options sous Activer les fonctions supplémentaires du clavier. L’onglet Apparence vous permet de sélectionner la police de caractères appropriée. Vous pouvez effectuer des changements en appuyant sur l’option Modifier, grâce à laquelle vous pourrez modifier l’interface graphique : choisir le type, le style et la taille de la police.

Dans l’onglet Traduction, je vous recommande de sélectionner Utiliser la police dans les modes ANSI et OEM. Ensuite, dans l’onglet Connexion, sélectionnez l’option xterm, et entrez le login dans le champ nom d’utilisateur de l’auto-login. Dans le client PuTTY, il est possible de changer le protocole de SSHv1 à SSHv2. Si vous souhaitez choisir le protocole SSHv2, veuillez vous référer à l’option SSH et sélectionner la version 2.


En conclusion

Le moyen le plus courant de se connecter à un serveur est le FTP (File Transfer Protocol) et son alternative sécurisée : FTPS. Cependant, avec FTP/FTPS, vous ne pouvez que copier des fichiers sur le serveur et les télécharger sur votre appareil. Tandis que la session SSH offre plus de possibilités que la simple sécurité de la couche de transport : vous pouvez travailler sur le serveur et exécuter diverses commandes.

Que faut-il savoir sur FTP ?

Grâce à la technologie Secure Shell, le fichier n’a pas besoin d’être modifié localement. En effet, vous pouvez travailler sur le serveur, ce qui est une solution plus pratique. La tâche du protocole SSH est également de sécuriser la connexion par une connexion proxy cryptée.

Une sécurité accrue et un potentiel énorme font de Secure Shell la meilleure solution pour la gestion d’un hébergement dédié ou d’un VPS. Et comme la sécurité est l’une des questions cruciales, je n’ai pas besoin de vous l’expliquer. Par conséquent, outre le choix de l’authentification SSH, vous devez également choisir le bon fournisseur d’hébergement.

UltaHost est l’un des fournisseurs d’hébergement les plus sûrs. La sécurité est la priorité absolue d’UltaHost. Plusieurs couches de protection contre toutes les menaces, des logiciels malveillants aux DDoS, et le matériel de dernière génération avec des SSD NVme font d’UltaHost un leader de l’hébergement sécurisé. Chez UltaHost, vous pouvez choisir l’authentification du serveur par les protocoles Secure Shell et FTPS.

UltaHost sécurise votre présence en ligne en protégeant la réputation de votre site web et de vos visiteurs contre les cyber-menaces, et scanne votre site web à la recherche de logiciels malveillants et d’autres vulnérabilités.

UltaHost n’est pas seulement une plateforme d’hébergement sécurisée. Vous bénéficierez d’une assistance 24h/24 et 7j/7 de la part de notre équipe d’assistance. Notre infrastructure optimisée se concentre sur la mise à l’échelle automatique et la performance. Laissez-nous vous montrer la différence ! Découvrez nos offres !  

Previous Post
Create a Compelling Meta Description

La création de méta-descriptions accrocheuses

Next Post
6 Most Important Elements of a Landing Page

6 choses à savoir sur les pages d’atterrissage

Related Posts
 25% off   Enjoy Powerful Next-Gen VPS Hosting from as low as $5.50