Le SSH file transfer protocol assure le transfert de données en toute sécurité entre deux personnes sou­hai­tant com­mu­ni­quer. C’est une étape bien souvent in­con­tour­nable dans de nombreux processus de travail en en­tre­prise : par exemple, les col­la­bo­ra­teurs d’un service externe qui envoient leurs résultats à la centrale, l’ar­chi­tec­ture du serveur du réseau d’une en­tre­prise qui est maintenue à jour et sécurisée à distance, ou encore un ré­pa­ra­teur qui envoie ses ins­truc­tions en ligne sur place. Pour y parvenir, les données doivent être trans­fé­rées dans les deux sens sur le serveur de l’en­tre­prise par le biais d’une connexion Internet. Cette méthode sert aussi à té­lé­char­ger les fichiers des sites Internet sur un espace en ligne dédié. Depuis 1971, on utilise pour ce type d’échange de données le File Transfer Protocol, FTP dans sa version abrégée.

Cette gestion pratique des données via FTP s’apparente au fonc­tion­ne­ment sous Windows Explorer, Mac Finder ou Linux Nautilus. La dif­fé­rence est que les données sont trans­fé­rées vers et depuis un serveur éloigné. Le chemin de transfert de l’uti­li­sa­teur (client FTP) au serveur (serveur FTP) et dans le sens inverse est toujours exposé au risque d’attaques (vol ou ma­ni­pu­la­tion de données) ou d’injection de logiciels mal­veil­lants dans le système de l’uti­li­sa­teur. Plus la norme de sécurité est faible, plus le risque est élevé. Avec le FTP, la sécurité est très faible : le nom d’uti­li­sa­teur et le mot de passe sont transmis en texte clair, sans chiffrage. Les hackers peuvent donc lire les iden­ti­fiants et accéder sans au­to­ri­sa­tion au client et au serveur FTP, avec les con­sé­quences qui en découlent.

Le SFTP a été développé pour offrir une al­ter­na­tive clai­re­ment améliorée sur le plan de la sécurité et se protéger d’éven­tuelles attaques.

Qu’est-ce qu’un SSH file transfer protocol (SFTP) ?

Pour améliorer la sécurité des trans­ferts FTP, entre autres, le protocole de transfert SSH, le « Secure Shell », a été développé. Il garantit une au­then­ti­fi­ca­tion sûre des personnes sou­hai­tant com­mu­ni­quer entre elles. Dès qu’un client tente de se connecter, le serveur vérifie son identité à l’aide du SSH. L’iden­ti­fi­ca­tion ré­ci­proque s’appuie sur des cer­ti­fi­cats et sur le système de clés publique et privée. L’accès est autorisé uni­que­ment si la clé du client SFTP est com­pa­tible avec la « serrure » du serveur SFTP, et si le serveur vérifie que le client a « ver­rouillé » les données avec une clé adaptée.

Cette clé se compose d’une suite de lettres, de chiffres et de ca­rac­tères spéciaux générée au hasard et res­pec­tant un nombre de bits fixe. Il s’agit d’un protocole cryp­to­gra­phique, qui permet de com­mu­ni­quer des messages chiffrés même via une connexion Internet non sécurisée.

Dé­fi­ni­tion

SSH file transfer protocol : Ce protocole (abrégé en SFTP, en français protocole de transfert de données sécurisé) garantit le transfert de données chiffré entre un client et un serveur (et in­ver­se­ment) en une seule connexion. Les données de connexion tout comme les données trans­fé­rées sont chiffrées à l’aide de clés basées sur le protocole SSH.

Comment fonc­tionne le SFTP ?

L’accès SSH sur le serveur de l’hôte est obli­ga­toire pour une connexion réussie avec le protocole SSH file transfer protocol. C’est là que sont mises à dis­po­si­tion les données d’accès pour l’uti­li­sa­teur SFTP : adresse du serveur, nom d’uti­li­sa­teur et mot de passe. Ces données sont saisies dans le programme (S)FTP utilisé par le client. Lors de la première connexion, le logiciel FTP affiche la clé de vé­ri­fi­ca­tion et l’en­re­gistre pour une uti­li­sa­tion ul­té­rieure. Ainsi, le client s’au­then­ti­fie à chaque connexion au serveur. Lorsqu’une page ou un hacker « s’au­then­ti­fie » sur ce canal sans clé ou avec une mauvaise clé, la connexion est im­mé­dia­te­ment in­ter­rom­pue.

Entre le client et le serveur, ainsi que dans le sens inverse, il existe ce que l’on appelle un tunnel SSH, dans lequel s’opèrent l’au­then­ti­fi­ca­tion et le transfert des données. Ce tunnel est chiffré de bout en bout, afin qu’aucun hacker ne puisse mettre la main sur les données, quelles qu’elles soient. Ainsi, le des­ti­na­taire reçoit des données intactes. Si un pirate essaie toutefois de manipuler les données du transfert, SSH identifie cette opération et in­ter­rompt im­mé­dia­te­ment la connexion.

Le transfert de données avec SSH file transfer protocol protège des risques suivants :

  • Mo­di­fi­ca­tion de l’adresse IP d’un lot de données, aussi connue sous le nom d’usur­pa­tion d’adresse IP
  • Re­di­rec­tion du nom de l’or­di­na­teur d’origine vers l’adresse IP d’un hacker (DNS spoofing)
  • In­ter­cep­tion des données en clair par un hacker
  • Ma­ni­pu­la­tion des données trans­fé­rées par un hacker
Note

Le SFTP ne protège pas les uti­li­sa­teurs de la gestion in­sou­ciante des iden­ti­fiants et des clés !

Uti­li­sa­tion du SSH file transfer protocol

Le programme (S)FTP propose de sé­lec­tion­ner le protocole avec lequel utiliser les iden­ti­fiants. Sur l’ap­pli­ca­tion client re­pré­sen­tée ci-dessous, FileZilla, il s’agit du ges­tion­naire de serveur. Dans la plupart des cas, il n’est pas né­ces­saire de saisir un port, car celui-ci est au­to­ma­ti­que­ment défini sur 22 lorsque l’on sé­lec­tionne le protocole SFTP.

Conseil

Nous proposons une pré­sen­ta­tion de logiciels (S)FTP de haut niveau dans notre article « 10 logiciels FTP d’ex­cel­lence pour Windows et Mac ».

Lors de la première tentative de connexion avec le SSH file transfer protocol, le client SFTP reçoit un message reflétant la norme de sécurité SSH.

Ensuite, il faut vérifier une nouvelle fois que l’adresse du serveur est la bonne. Il est possible de contrôler que le bon port (22) est utilisé en con­sul­tant l’entrée con­cer­nant le serveur : « home……-data.host :22 ». En cochant la case « Toujours faire confiance à cet hôte, en­re­gis­trer cette clé » et en cliquant sur le bouton « OK », les données de connexion sont en­re­gis­trées et la connexion chiffrée est établie.

Lors d’une connexion ul­té­rieure, le logiciel ne réitère pas la demande de ces données, car le client SFTP s’au­then­ti­fie avec une clé générée une seule fois auprès du serveur SFTP. Cette signature numérique permet de chiffrer tous les trans­ferts, y compris les iden­ti­fiants de connexion. Les no­ti­fi­ca­tions dans la fenêtre de statut du logiciel FTP ren­seig­nent sur la pro­gres­sion du transfert d’envoi ou de réception.

Conseil

Pour stocker ou trans­fé­rer des données, IONOS propose des serveurs SFTP en ligne avec comptes per­son­nels, backups et ap­pli­ca­tion d’ad­mi­nis­tra­tion.

Quelle est la dif­fé­rence entre SFTP et FTP ?

La dif­fé­rence prin­ci­pale réside dans le fait que, avec le transfert SFTP, l’au­then­ti­fi­ca­tion et l’ensemble du transit des données entre le client et le serveur sont chiffrés. Même si un pirate parvenait à mettre la main sur des données, inu­ti­li­sables pour lui. En cas d’iden­ti­fiants manipulés ou de tentative d’accès, le SSH file transfer protocol réagit en in­ter­rom­pant la connexion. Voici un résumé des dif­fé­rences entre FTP et SFTP :

FTP SFTP
Nombre de canaux utilisés 2 distincts 1
Norme de chiffrage Aucune SSH2
Chiffrage de l’au­then­ti­fi­ca­tion ✗ ✓
Chiffrage du transfert de données ✗ ✓
Pos­si­bi­lité d’attaque (lecture, attaque) ✓ ✗

La sécurité technique des trans­ferts cryp­to­gra­phiques doit être encore accrue, tant par le client que par le four­nis­seur d’accès au serveur, à l’aide d’autres solutions de sécurité. Il peut s’agir par exemple des choix con­cer­nant l’em­pla­ce­ment géo­gra­phique du serveur SFTP et de sa sécurité physique, ou encore du dépôt sécurisé des données par les clients qui y ont accès. En général, toute im­pru­dence dans le trai­te­ment des données finit par se payer, tôt ou tard.

Aller au menu principal