Product SiteDocumentation Site

11.3. Serveur de fichiers FTP

Le protocole de transfert de fichiers FTP (File Transfer Protocol) est un des premiers protocoles d'Internet (la RFC 959 date de 1985 !). Il a servi à diffuser des fichiers avant même l'invention du Web (la RFC 1945 décrivant le protocole HTTP/1.0 date de 1996 mais ce dernier existait depuis 1990).
Ce protocole permet à la fois de déposer des fichiers et d'en récupérer. FTP est encore fréquemment employé pour déposer les mises à jour d'un site web hébergé par son fournisseur d'accès Internet (ou tout autre prestataire d'hébergement de site web). Dans ce cas, on emploie un identifiant et un mot de passe, puis le serveur FTP donne accès en lecture/écriture à son répertoire personnel.
D'autres serveurs FTP servent essentiellement à diffuser des fichiers que les gens souhaitent télécharger. C'est le cas, par exemple, avec les paquets Debian. Le contenu de ces serveurs FTP est récupéré depuis divers autres serveurs géographiquement éloignés et mis à disposition des utilisateurs locaux. Dans ce cas, l'authentification du client n'est pas nécessaire ; on parle de FTP anonyme et l'accès est en lecture seule. En réalité, le client s'authentifie avec le nom d'utilisateur anonymous et un mot de passe quelconque (qui est souvent, par convention, l'adresse électronique de l'usager).
Many FTP servers are available in Debian (ftpd[1], proftpd-basic, pyftpd and so on). The Falcot Corp administrators picked vsftpd because they only use the FTP server to distribute a few files (including a Debian package repository); since they don't need advanced features, they chose to focus on the security aspects.
L'installation du paquet entraîne la création d'un utilisateur système ftp. Ce compte est systématiquement employé pour gérer les connexions FTP anonymes et son répertoire personnel (/srv/ftp/) est la racine de l'arborescence mise à disposition des utilisateurs se connectant sur le service. La configuration par défaut (telle que détaillée dans /etc/vsftpd.conf) nécessite quelques modifications pour répondre au simple besoin de mise à disposition publique de gros fichiers : l'accès anonyme doit être activé (anonymous=YES) et l'accès (en lecture seule) des utilisateurs locaux doit être désactivé (local_enable=NO). Ce dernier point est particulièrement important car le protocole FTP n'utilise pas de chiffrement et le mot de passe de l'utilisateur pourrait être intercepté à la volée.


[1] The ftpd package is not included in Debian Buster due to a bug, which could not be solved before the release.