SFTP – la méthode sûre pour transférer des données
Le SSH file transfer protocol assure le transfert de données en toute sécurité entre deux personnes souhaitant communiquer. C’est une étape bien souvent incontournable dans de nombreux processus de travail en entreprise : par exemple, les collaborateurs d’un service externe qui envoient leurs résultats à la centrale, l’architecture du serveur du réseau d’une entreprise qui est maintenue à jour et sécurisée à distance, ou encore un réparateur qui envoie ses instructions en ligne sur place. Pour y parvenir, les données doivent être transférées dans les deux sens sur le serveur de l’entreprise par le biais d’une connexion Internet. Cette méthode sert aussi à télécharger 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 fonctionnement sous Windows Explorer, Mac Finder ou Linux Nautilus. La différence est que les données sont transférées vers et depuis un serveur éloigné. Le chemin de transfert de l’utilisateur (client FTP) au serveur (serveur FTP) et dans le sens inverse est toujours exposé au risque d’attaques (vol ou manipulation de données) ou d’injection de logiciels malveillants dans le système de l’utilisateur. 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’utilisateur et le mot de passe sont transmis en texte clair, sans chiffrage. Les hackers peuvent donc lire les identifiants et accéder sans autorisation au client et au serveur FTP, avec les conséquences qui en découlent.
Le SFTP a été développé pour offrir une alternative clairement améliorée sur le plan de la sécurité et se protéger d’éventuelles attaques.
Qu’est-ce qu’un SSH file transfer protocol (SFTP) ?
Pour améliorer la sécurité des transferts FTP, entre autres, le protocole de transfert SSH, le « Secure Shell », a été développé. Il garantit une authentification sûre des personnes souhaitant communiquer entre elles. Dès qu’un client tente de se connecter, le serveur vérifie son identité à l’aide du SSH. L’identification réciproque s’appuie sur des certificats et sur le système de clés publique et privée. L’accès est autorisé uniquement si la clé du client SFTP est compatible avec la « serrure » du serveur SFTP, et si le serveur vérifie que le client a « verrouillé » les données avec une clé adaptée.
Cette clé se compose d’une suite de lettres, de chiffres et de caractères spéciaux générée au hasard et respectant un nombre de bits fixe. Il s’agit d’un protocole cryptographique, qui permet de communiquer des messages chiffrés même via une connexion Internet non sécurisée.
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 inversement) en une seule connexion. Les données de connexion tout comme les données transférées sont chiffrées à l’aide de clés basées sur le protocole SSH.
Comment fonctionne le SFTP ?
L’accès SSH sur le serveur de l’hôte est obligatoire pour une connexion réussie avec le protocole SSH file transfer protocol. C’est là que sont mises à disposition les données d’accès pour l’utilisateur SFTP : adresse du serveur, nom d’utilisateur 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érification et l’enregistre pour une utilisation ultérieure. Ainsi, le client s’authentifie à chaque connexion au serveur. Lorsqu’une page ou un hacker « s’authentifie » sur ce canal sans clé ou avec une mauvaise clé, la connexion est immédiatement interrompue.
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’authentification 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 destinataire reçoit des données intactes. Si un pirate essaie toutefois de manipuler les données du transfert, SSH identifie cette opération et interrompt immédiatement la connexion.
Le transfert de données avec SSH file transfer protocol protège des risques suivants :
- Modification de l’adresse IP d’un lot de données, aussi connue sous le nom d’usurpation d’adresse IP
- Redirection du nom de l’ordinateur d’origine vers l’adresse IP d’un hacker (DNS spoofing)
- Interception des données en clair par un hacker
- Manipulation des données transférées par un hacker
Le SFTP ne protège pas les utilisateurs de la gestion insouciante des identifiants et des clés !
Utilisation du SSH file transfer protocol
Le programme (S)FTP propose de sélectionner le protocole avec lequel utiliser les identifiants. Sur l’application client représentée ci-dessous, FileZilla, il s’agit du gestionnaire de serveur. Dans la plupart des cas, il n’est pas nécessaire de saisir un port, car celui-ci est automatiquement défini sur 22 lorsque l’on sélectionne le protocole SFTP.
Nous proposons une présentation de logiciels (S)FTP de haut niveau dans notre article « 10 logiciels FTP d’excellence 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 consultant l’entrée concernant le serveur : « home……-data.host :22 ». En cochant la case « Toujours faire confiance à cet hôte, enregistrer cette clé » et en cliquant sur le bouton « OK », les données de connexion sont enregistrées et la connexion chiffrée est établie.
Lors d’une connexion ultérieure, le logiciel ne réitère pas la demande de ces données, car le client SFTP s’authentifie avec une clé générée une seule fois auprès du serveur SFTP. Cette signature numérique permet de chiffrer tous les transferts, y compris les identifiants de connexion. Les notifications dans la fenêtre de statut du logiciel FTP renseignent sur la progression du transfert d’envoi ou de réception.
Pour stocker ou transférer des données, IONOS propose des serveurs SFTP en ligne avec comptes personnels, backups et application d’administration.
Quelle est la différence entre SFTP et FTP ?
La différence principale réside dans le fait que, avec le transfert SFTP, l’authentification 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, inutilisables pour lui. En cas d’identifiants manipulés ou de tentative d’accès, le SSH file transfer protocol réagit en interrompant la connexion. Voici un résumé des différences entre FTP et SFTP :
FTP | SFTP | |
---|---|---|
Nombre de canaux utilisés | 2 distincts | 1 |
Norme de chiffrage | Aucune | SSH2 |
Chiffrage de l’authentification | ||
Chiffrage du transfert de données | ||
Possibilité d’attaque (lecture, attaque) |
La sécurité technique des transferts cryptographiques doit être encore accrue, tant par le client que par le fournisseur d’accès au serveur, à l’aide d’autres solutions de sécurité. Il peut s’agir par exemple des choix concernant l’emplacement géographique 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 imprudence dans le traitement des données finit par se payer, tôt ou tard.