Serveur FTP : comparatif FTP, FTPS et SFTP pour choisir la meilleure solution en 2026
FTP est un protocole de transfert de fichiers entre un client et un serveur, mais sa version classique ne chiffre ni les identifiants ni les données. Pour un nouvel accès en 2026, il faut donc privilégier SFTP via SSH ou FTPS avec TLS plutôt qu’un FTP transmis en clair.
FTP utilise une connexion de contrôle, généralement sur le port 21, puis une connexion de données distincte pour les listes et les transferts. Cette architecture explique une grande partie des difficultés avec les pare-feu, le NAT et le choix entre mode actif et mode passif.
Le mode passif est généralement le plus simple pour un client placé derrière une box ou un pare-feu, à condition que le serveur expose une plage de ports limitée. SFTP n’est pas une version de FTP : il s’agit d’un protocole de transfert intégré à SSH, souvent accessible sur le port 22.
FTPS conserve la logique FTP, mais protège la connexion avec TLS conformément aux extensions prévues pour le protocole. Le contrôle d’accès commence par des comptes nominatifs, des droits minimaux et l’interdiction d’utiliser un compte administrateur pour les transferts ordinaires.
Chaque utilisateur doit être limité aux répertoires nécessaires, sans possibilité de remonter vers des chemins système ou les dossiers d’autres clients.
La journalisation, la rotation des secrets, les restrictions d’adresse et la surveillance des échecs complètent le chiffrement. Sous Windows 11, un client graphique ou la commande SFTP d’OpenSSH permet de gérer les fichiers, mais les paramètres doivent venir de l’hébergeur ou de l’administrateur.
Ce guide explique le fonctionnement de FTP, ses ports, ses modes de données, sa configuration, ses risques et les méthodes de dépannage. Il compare ensuite FTP, FTPS et SFTP.
Qu’est-ce que le FTP et comment fonctionne-t-il ?

FTP, ou File Transfer Protocol, est défini principalement par la RFC 959. Il permet à un client de s’authentifier auprès d’un serveur, de parcourir des répertoires, d’envoyer ou de télécharger des fichiers, de créer des dossiers et d’effectuer certaines opérations de gestion. Le protocole sépare les commandes des données, contrairement à de nombreux échanges qui utilisent une seule connexion.
La connexion de contrôle transporte les commandes et réponses. Le client peut envoyer USER et PASS pour l’authentification, PWD pour connaître le répertoire, CWD pour changer de dossier, LIST pour obtenir une liste, RETR pour télécharger, STOR pour envoyer ou DELE pour supprimer. Le serveur répond avec des codes à trois chiffres qui indiquent réussite, attente, refus ou erreur.
| Commande | Fonction | Vigilance |
| USER / PASS | Authentification classique | Exposée sans TLS |
| PWD / CWD | Afficher ou changer de répertoire | Doit respecter l’isolement |
| LIST | Lister le contenu | Ouvre une connexion de données |
| RETR | Télécharger un fichier | Contrôler la lecture |
| STOR | Envoyer un fichier | Contrôler écriture et quota |
| RNFR / RNTO | Renommer | Peut casser un site en production |
| DELE | Supprimer | Limiter strictement le droit |
| QUIT | Fermer proprement | Termine la session |
La connexion de données transporte ensuite le contenu d’un fichier ou la liste d’un répertoire. Elle est créée pour chaque opération concernée, puis fermée. Cette séparation rend FTP flexible, mais complique le passage des pare-feu et la traduction d’adresses. Un client peut donc réussir à se connecter et à s’authentifier tout en échouant au moment d’afficher un dossier.
FTP prévoit des représentations de données, notamment ASCII et binaire. Le mode binaire est le choix sûr pour les images, archives, logiciels, bases exportées et fichiers dont les octets doivent rester identiques. Les clients modernes sélectionnent généralement le bon mode automatiquement. Après transfert, comparez la taille ou un hachage lorsqu’une intégrité forte est requise.
Ports FTP et modes actif ou passif

Le port TCP 21 correspond généralement à la connexion de contrôle FTP. La connexion de données dépend du mode. En mode actif, le client annonce au serveur une adresse et un port, puis le serveur initie la connexion de données depuis son côté, historiquement à partir du port 20. Cette connexion entrante vers le client est souvent bloquée par un routeur NAT ou un pare-feu local.
En mode passif, le client demande au serveur d’ouvrir un port d’écoute pour les données, puis initie lui-même la seconde connexion. Ce mode fonctionne mieux pour les postes derrière une box, un réseau d’entreprise ou un pare-feu. Le serveur doit toutefois annoncer une adresse joignable et utiliser une plage de ports passifs explicitement autorisée, plutôt que l’ensemble des ports élevés.
| Élément | Mode actif | Mode passif |
| Contrôle | Client vers serveur : 21 | Client vers serveur : 21 |
| Données | Serveur vers client | Client vers serveur |
| NAT côté client | Souvent problématique | Généralement adapté |
| Pare-feu serveur | Port de contrôle + trafic sortant | 21 + plage passive limitée |
| Usage courant | Cas maîtrisés ou historiques | Choix habituel des clients |
Avec FTPS, le pare-feu doit comprendre ou autoriser les connexions chiffrées sans s’appuyer aveuglément sur l’inspection du contenu. Configurez sur le serveur une plage passive courte, publiez l’adresse externe correcte, ouvrez uniquement cette plage et utilisez les mêmes valeurs dans le service et le pare-feu. Un port ouvert mais non associé à la plage annoncée ne résout pas le problème.
Ne désactivez pas le pare-feu pour rendre le transfert fonctionnel. Testez d’abord le mode passif, l’adresse annoncée, la plage, la résolution DNS et les règles sortantes. Un test ponctuel sur un réseau de confiance peut aider à isoler un filtrage, mais la correction doit être ciblée et documentée.
FTP, FTPS ou SFTP : quelles différences ?
| Protocole | Transport | Ports usuels | Chiffrement | À retenir |
| FTP | TCP, contrôle + données | 21 + ports de données | Non par défaut | À éviter sur Internet |
| FTPS explicite | FTP puis négociation TLS | 21 + plage passive | TLS | Compatible avec la logique FTP |
| FTPS implicite | TLS dès la connexion | Souvent 990 + données | TLS | Dépend du fournisseur |
| SFTP | Sous-système SSH | Souvent 22 | SSH | Protocole différent, une connexion |
FTP classique transmet les commandes et le contenu sans confidentialité. Une personne capable d’observer le trafic peut récupérer des identifiants ou des fichiers. Il ne doit pas être utilisé sur Internet pour des données sensibles. Même sur un réseau interne, une migration vers une solution chiffrée réduit l’exposition et simplifie la conformité.
FTPS ajoute TLS à FTP selon les extensions de sécurité et la RFC 4217. En mode explicite, la session commence sur le port FTP, puis le client demande la protection. Le certificat doit correspondre au nom du serveur et être émis par une autorité de confiance ou géré selon la politique interne. Les connexions de contrôle et de données doivent être protégées selon la configuration retenue.
SFTP fonctionne à travers SSH et n’utilise pas les commandes ni les connexions de données de FTP. Il passe généralement par une seule connexion, ce qui simplifie le pare-feu. L’authentification peut reposer sur mot de passe ou clé publique. Une clé privée doit être protégée par une phrase secrète et ses droits locaux doivent empêcher l’accès aux autres utilisateurs.
Le choix dépend du serveur et des partenaires. Pour un nouvel accès administré, SFTP est souvent simple et robuste. FTPS reste pertinent lorsqu’un partenaire ou un logiciel métier exige la compatibilité FTP avec TLS. La méthode doit être confirmée dans la documentation de l’hébergeur : sélectionner « SFTP » dans le client ne fonctionnera pas si seul FTPS est proposé.
Configurer un accès FTP sous Windows 11

Sous Windows 11, commencez par collecter auprès de l’hébergeur ou de l’administrateur : protocole, nom d’hôte, port, nom d’utilisateur, méthode d’authentification, répertoire distant et éventuelle empreinte de clé. N’utilisez pas automatiquement le mot de passe du panneau d’administration ; un compte de transfert séparé limite l’impact d’un vol.
Connexion avec un client graphique
- Créez un nouveau site dans le gestionnaire de connexions.
- Choisissez exactement SFTP, FTPS explicite ou FTPS implicite selon la documentation.
- Entrez le nom d’hôte et le port sans ajouter de chemin dans le champ serveur.
- Vérifiez le certificat TLS ou l’empreinte SSH lors de la première connexion.
- Testez d’abord la liste d’un dossier, puis un petit envoi et un téléchargement.
- Enregistrez le secret dans un coffre protégé, pas dans un fichier texte partagé.
Lors de la première connexion SFTP, le client présente l’empreinte de la clé hôte. Comparez-la avec une valeur obtenue par un canal fiable. Accepter sans contrôle une clé inattendue expose à une interception. Si l’empreinte change plus tard, arrêtez la connexion et demandez si le serveur a réellement été réinstallé ou si ses clés ont été renouvelées.
Utiliser SFTP avec OpenSSH
Windows 11 inclut généralement le client OpenSSH. Dans PowerShell ou Terminal, une commande de la forme sftp utilisateur@serveur établit la session sur le port habituel ; l’option -P permet d’indiquer un port différent. Les commandes pwd, ls, cd, lcd, get, put et exit permettent de naviguer et transférer. Évitez de placer un mot de passe directement dans un script.
Pour l’automatisation, préférez une clé dédiée, un compte limité et un répertoire précis. Documentez la tâche, surveillez les échecs et prévoyez la rotation de la clé. Le service ne doit pas donner un shell interactif si seul le transfert est requis. Testez aussi les droits après connexion : réussir l’authentification ne signifie pas que les permissions sont correctement limitées.
Comment contrôler les comptes et les permissions FTP ?

Un contrôle d’accès solide commence par un compte nominatif ou un compte de service attribué à une seule intégration. Les comptes partagés empêchent d’identifier l’auteur d’une modification et compliquent la révocation. Désactivez immédiatement les accès devenus inutiles et fixez une date de révision périodique des utilisateurs, clés et permissions.
Appliquez le moindre privilège. Un utilisateur chargé de publier dans un dossier ne doit pas lire les sauvegardes, modifier la configuration, parcourir les répertoires système ou accéder aux données d’un autre client.
Séparez lecture, écriture, renommage, création et suppression lorsque le serveur le permet. L’absence de droit de suppression réduit l’impact d’une erreur, mais peut perturber certains déploiements qui remplacent les fichiers.
| Contrôle | Objectif | Vérification |
| Compte individuel | Attribuer chaque action | Journal avec identité |
| Répertoire racine | Limiter la navigation | Impossible de remonter |
| Droits minimaux | Réduire erreurs et abus | Tests lecture/écriture/suppression |
| Quota | Éviter le remplissage du disque | Alerte avant saturation |
| Restriction IP | Réduire l’exposition | Liste tenue à jour |
| Expiration | Supprimer les accès temporaires | Date et propriétaire |
| Journaux | Détecter et enquêter | Centralisation et rétention |
L’isolement par chroot ou mécanisme équivalent enferme l’utilisateur dans une arborescence. Il ne remplace pas les permissions du système de fichiers : les deux couches doivent être cohérentes.
Évitez les répertoires inscriptibles contenant des exécutables utilisés automatiquement par le serveur web sans contrôle, car un compte FTP compromis pourrait alors modifier directement un site.
Pour un compte de service, stockez le secret dans un gestionnaire prévu pour les applications. Ne réutilisez pas la clé d’un administrateur humain. Limitez la clé par utilisateur, origine, commande ou sous-système lorsque la plateforme le permet. La révocation doit pouvoir être effectuée sans arrêter les autres transferts.
Comment sécuriser et durcir un serveur de fichiers ?

La première mesure de durcissement consiste à désactiver FTP en clair ou à le limiter à un réseau totalement maîtrisé pendant une migration courte. Exigez TLS pour FTPS, avec un certificat valide et des versions cryptographiques actuelles, ou utilisez SFTP. Refusez les authentifications anonymes sauf besoin public documenté, dans un répertoire séparé et en lecture seule.
Placez le service derrière un pare-feu, exposez uniquement les ports nécessaires et limitez les sources lorsque les partenaires disposent d’adresses stables. Un changement de port réduit surtout le bruit des robots ; il ne remplace ni le chiffrement ni l’authentification. Les mécanismes anti-bruteforce doivent ralentir ou bloquer temporairement les tentatives répétées sans provoquer un déni de service facile.
Maintenez le système, le serveur FTP ou SSH et les bibliothèques TLS à jour. Supprimez les modules inutiles. Séparez le stockage des fichiers reçus des répertoires d’exécution et analysez les dépôts selon leur risque. Un fichier transféré avec succès peut contenir un logiciel malveillant ; le canal sécurisé protège le transport, pas la nature du contenu.
Centralisez les journaux de connexion, d’authentification, de transfert, de suppression et de modification des droits. Déclenchez des alertes sur les volumes inhabituels, les horaires anormaux, les origines nouvelles, les échecs répétés et les téléchargements massifs. Synchronisez l’heure du serveur afin de reconstituer une chronologie exploitable.
- Sauvegardes séparées et restaurations testées.
- Clés et mots de passe renouvelés selon le risque.
- Comptes temporaires avec expiration automatique.
- Plage passive minimale et documentée pour FTPS.
- Certificats surveillés avant expiration.
- Revue périodique des droits et des journaux.
Ces mesures complètent les principes du guide CritiquePlus pour configurer et sécuriser un serveur sous macOS : correctifs, chiffrement, contrôle d’accès et supervision doivent rester cohérents sur toute l’infrastructure. Comme un canal chiffré ne garantit pas l’innocuité du fichier transféré, consultez également le guide sur les types de malwares et les mesures de protection.
Résoudre les erreurs FTP les plus fréquentes
| Symptôme | Cause probable | Contrôle prioritaire |
| Connexion refusée | Service arrêté, mauvais port ou pare-feu | Protocole, hôte, port, état du service |
| Authentification échouée | Identifiant, secret, clé ou compte bloqué | Format du compte et méthode |
| Liste impossible | Canal de données bloqué | Mode passif, plage et adresse annoncée |
| Délai pendant transfert | Pare-feu, NAT ou réseau instable | Journaux client/serveur et test réseau |
| Certificat invalide | Nom, date ou chaîne incorrecte | Nom officiel et certificat |
| Clé SSH modifiée | Réinstallation ou interception possible | Vérification hors bande |
| Permission refusée | Droits ou répertoire racine | Chemin, propriétaire et ACL |
| Fichier corrompu | Mode ou interruption | Taille, hachage et transfert binaire |
Commencez par lire le journal du client et le code de réponse du serveur. Une réponse 530 indique généralement un problème d’authentification ou de compte ; 550 correspond souvent à un chemin ou un droit refusé. Un délai sans code pointe davantage vers le réseau, le pare-feu ou la connexion de données. Conservez l’heure exacte pour rapprocher le test des journaux serveur.
Si l’authentification réussit mais que LIST échoue, vérifiez en priorité le mode passif. Le serveur doit publier une adresse externe correcte et la plage passive doit être ouverte. Derrière plusieurs couches de NAT, une adresse privée annoncée au client distant rend la connexion impossible. Ne corrigez pas ce cas en ouvrant tous les ports.
Pour FTPS, contrôlez séparément le certificat, la négociation TLS et la protection du canal de données. Pour SFTP, ne cherchez pas une plage passive : il n’en utilise pas. Une confusion de protocole produit souvent un message de bannière inattendue ou une fermeture immédiate. Vérifiez aussi que l’heure de Windows 11 est juste, car elle influence la validation des certificats.
Reproduisez l’erreur avec un petit fichier non sensible, puis comparez depuis un autre réseau de confiance si nécessaire. Ne publiez jamais les journaux complets avec identifiants, chemins privés ou adresses internes. Si l’empreinte SSH a changé, ne contournez pas l’avertissement avant confirmation indépendante de l’administrateur.
FAQ
FTP est-il sécurisé ?
FTP classique ne chiffre pas les identifiants ni les fichiers. Utilisez SFTP ou FTPS pour un transfert sur un réseau non maîtrisé.
Quelle différence entre FTPS et SFTP ?
FTPS ajoute TLS à FTP et conserve ses connexions de contrôle et de données. SFTP est un protocole distinct fonctionnant via SSH.
Quel port utilise FTP ?
La connexion de contrôle utilise généralement 21. Les données utilisent une autre connexion selon le mode actif ou passif.
Pourquoi la connexion fonctionne mais pas la liste des fichiers ?
La connexion de données est probablement bloquée ou mal annoncée. Vérifiez le mode passif, la plage de ports et le NAT.
Peut-on utiliser FTP sous Windows 11 ?
Oui avec un client compatible, mais choisissez le protocole sécurisé fourni. OpenSSH permet aussi d’utiliser SFTP depuis le Terminal.
Faut-il changer le port pour sécuriser le serveur ?
Changer le port réduit le bruit automatique mais ne chiffre rien. Les mesures essentielles restent TLS ou SSH, les droits minimaux et la surveillance.
Comment limiter un utilisateur à un dossier ?
Définissez un répertoire racine isolé et appliquez les permissions du système de fichiers. Testez navigation, lecture, écriture et suppression.
Que faire si la clé hôte SFTP change ?
Arrêtez la connexion et vérifiez la nouvelle empreinte par un canal fiable. Le changement peut être légitime, mais aussi signaler une interception.
Sources officielles et ressources utiles
Les références ci-dessous décrivent la norme FTP, sa sécurisation avec TLS et l’implémentation SSH utilisée pour SFTP. Comme les paramètres varient selon le fournisseur, complétez toujours ces normes par la documentation officielle de l’hébergeur ou de l’administrateur qui gère le serveur réel.
- RFC 959 — File Transfer Protocol — Spécification historique et commandes FTP.
- RFC 4217 — Securing FTP with TLS — Protection de FTP avec TLS.
- RFC 2228 — FTP Security Extensions — Extensions de sécurité et d’authentification.
- OpenSSH — site officiel — Suite SSH incluant les fonctions de transfert sécurisé.
- OpenSSH Portable — dépôt officiel — Implémentation portable et outils sftp/scp.
- Microsoft Learn — OpenSSH Server — Installation et première utilisation sous Windows.
Conclusion
FTP reste utile pour comprendre de nombreux hébergements et intégrations, mais sa version classique ne doit pas transporter de secrets en clair. Pour un nouvel accès, privilégiez SFTP ou FTPS, limitez chaque compte à son répertoire et à ses opérations, protégez les clés, journalisez les actions et testez la révocation. Si un transfert échoue, identifiez d’abord le protocole et la connexion concernée avant de modifier le pare-feu.

