Previous Topic

Next Topic

Book Contents

Book Index

SSH - Protocol Discussion

Cette section met compare le protocole de transfert de fichiers SSH (« SFTP ») et le FTP sur SSL (« FTPS »).

TIP Malgré leur relative homonymie, SFTP (SSH File Transfer Protocol) et FTP sur SSL sont deux protocoles totalement différents. Le SFTP se compose de SSH avec un ensemble de commandes de transfert de fichiers. Par contre, FTPS est le protocole FTP traditionnel, avec ajout de SSL pour une certaine sécurité.

Normes SFTP (SSH File Transfer Protocol)

À la base, SFTP utilise le protocole SSH (Secure Shell Protocol). Il s'appuie sur SSH pour la sécurité intégrée en transit ainsi que sur un ensemble spécifique de commandes utilisateur. Ces commandes permettent aux utilisateurs de transférer des fichiers comme ils en ont l'habitude grâce au FTP, mais avec toute la sécurité conçue dans le protocole SSH.

MOVEit Transfer met en œuvre la Révision 3 (également appelée Version 3) du projet de la norme SFTP.

Norme/Projet de norme de l'IETF

Description rapide

Remarques

SSH (RFC 4251)

Protocole utilisé pour communiquer en toute sécurité sur un réseau non sécurisé. (Dans le SFTP, « S » désigne le protocole SSH.)

SSH est la norme industrielle pour la communication cryptée.

MOVEit Transfer SSH prend en charge la version plus sûre et plus populaire de SSH, SSH2 (version 2.x).

SSH utilise un seul canal de connexion pour les données et les commandes. Cette caractéristique le rend optimal pour passer à travers les pare-feux.

SFTP (SSH File Transfer Protocol)

L'utilisateur de type FTP fonctionne avec la sécurité de SSH.

Le SFTP est une norme Internet de facto pour le transfert sécurisé de fichiers.

MOVEit Transfer met en œuvre la révision 3 (également appelée version 3) du projet de norme SFTP, qui comprend la fonctionnalité de transfert de fichiers des projets 00, 01 et 02.

important Bien que le protocole SSH2 soit un RFC établi par la communauté de l'IETF, le protocole SFTP qui le coiffe a été périodiquement révisé en vue de prendre en charge différents modèles d'utilisation. Certains de ces projets d'extension présentent des caractéristiques incompatibles avec les versions précédentes. MOVEit Transfer met en œuvre un ensemble de fonctionnalités de la SFTP (version 3) qui a été largement adopté.

FTPS (Traditional FTP over SSL)

FTPS décrit le FTP traditionnel fonctionnant avec SSL/TLS dans le but d'ajouter une sécurité en transit.

Norme/Projet de norme de l'IETF

Description rapide

Remarques

FTP (RFC 959)

File Transfer Protocol (aucune sécurité inhérente).

FTP est une norme Internet officielle.

FTPS

Le FTPS ajoute le protocole Secure Socket Layer (RFC 2246), qui est plus communément appelé la dernière évolution de SSL (« TLS »).

Le FTP utilise un canal séparé pour les contrôles (commandes) et les données. En général, le canal de données utilise un port pris au hasard dans une plage de ports. C'est pourquoi il ne représente pas toujours la meilleure solution pour franchir les limites strictes des pare-feux.

Structure de commandes

Les sessions SFTP se composent d'une série de paquets de commande et de réponse. Ces paquets contiennent des informations binaires structurées, notamment des codes de commande et de réponse sous forme de nombres entiers. Les commandes correspondent à des routines d'E/S de système de fichiers, telles que Open(), Read(), Write() et Close(). Pour télécharger un fichier, par exemple, le client SFTP doit ouvrir le fichier à l'aide d'une commande Open, suivie de plusieurs commandes Read et d'une commande Close.

Par opposition, FTP et FTP sur SSL utilisent des commandes ASCII délimitées par une séquence de retour à la ligne CR LF. Par exemple, pour télécharger un fichier, le client envoie une commande « PORT » ou « PASV » pour établir la connexion aux données, suivie d'une commande « RETR » indiquant le nom du fichier.

Numéro de port et pare-feu

SSH utilise le même port TCP, généralement le port 22, pour tous les types de connexions. SSL se sert en revanche de numéros de port différents selon l'application. Par exemple, le port 443 est en principe utilisé pour HTTP sur SSL, et le port 990 pour une version de FTP sur SSL. De plus, FTP emploie plusieurs numéros de port lors des transferts de fichiers puisque chaque transfert individuel crée une nouvelle connexion sur un nouveau port.

Le fait que le port 22 soit utilisé pour tous les services SSH complique quelque peu l'exécution de plusieurs produits serveur SSH sur un même ordinateur. Mais cela pose rarement problème aux systèmes exécutant MOVEit Transfer. Plus important encore, comme le port 22 est le seul requis pour SFTP (il n'y a pas de ports de données séparés), le protocole SFTP offre une plus grande compatibilité avec les pare-feu que FTP sur SSL.

Cryptage et certificats

Les protocoles SSH et SSL s'appuient tous les deux sur un cryptage à clé publique pour échanger la clé de session, laquelle est ensuite utilisée pour crypter les commandes et données transmises sur le réseau. Le niveau de sécurité des algorithmes utilisés par SSH et SSL est similaire, mais SSH ne prend PAS en charge le concept d'autorité de certification.

SSL exige un certificat, généralement acheté auprès d'une autorité de certification telle que www.thawte.com. Un certificat garantit l'identité du serveur. SSH utilise une approche différente qui veut que chaque serveur crée sa propre clé publique. Aucune autorité de certification ne se porte garante de l'identité des serveurs SSH. Pour pallier cette lacune, par convention, chaque client SSH mémorise la clé publique de chacun des serveurs auxquels il s'est connecté. Si, lors d'une tentative de connexion ultérieure, le serveur présente une clé publique différente, le client SSH prévient l'utilisateur qu'un serveur malveillant a peut-être usurpé l'identité du serveur SSH d'origine.

Toutes ces différences alourdissent l'administration des serveurs FTP sur SSL (FTPS) par rapport à leurs homologues SSH/FTP (SFTP). Mais en raison de leur système de certificats plus sophistiqué, les serveurs FTPS sont légèrement plus sécurisés.