Linux & Systèmes PDF Gratuit

Cours Installation serveur FTP (PDF)

Installation d’un serveur FTP sous Ubuntu : déploiement fiable et bonnes pratiques pour un service disponible et sécurisé.

Rédigé par BERNIER François. Contenu aligné sur les recommandations Canonical pour Ubuntu Server et fondé sur des méthodes d'administration Linux éprouvées.

Note : Bien que basé sur la version 12.10, ce tutoriel reste valide pour les versions récentes comme Ubuntu 22.04 LTS et 24.04 LTS.

Les concepts de configuration vsftpd restent applicables aux versions ultérieures ; adaptez les chemins et paquets selon la distribution et la version ciblée.

🎯 Ce que vous allez apprendre

  • Principes du protocole FTP : connexions de contrôle et de données, différences entre transferts ASCII et binaire.
  • Installer et configurer vsftpd : étapes d'installation sous Debian/Ubuntu et principaux réglages via le fichier /etc/vsftpd.conf.
  • Gestion des utilisateurs : utilisateurs locaux versus virtuels et gestion des permissions.
  • Modes de transfert et commandes FTP : commandes de base et choix du mode actif ou passif ; exemple de connexion : ftp 192.168.1.10.
  • Analyse réseau et sécurité : exploration des trames avec un analyseur réseau et bonnes pratiques pour la sécurisation (FTPS/SSL/TLS).

Commande d'installation rapide

sudo apt update && sudo apt install vsftpd

Installation de vsftpd via le terminal

Sur une machine Ubuntu/Debian, installez vsftpd depuis la ligne de commande. Après l'installation, vérifiez le statut du service, sauvegardez le fichier original /etc/vsftpd.conf avant toute modification et redémarrez le service pour appliquer les changements. Configurez la plage de ports pour le mode passif et adaptez les paramètres de bannière, d'accès anonyme et de chroot selon la politique de sécurité de votre infrastructure.

Alternative : ProFTPD

ProFTPD offre une configuration plus flexible, un style de directives proche d'Apache et des fonctionnalités avancées pour l'hébergement virtuel. Pour tester ProFTPD :

sudo apt-get install proftpd

Documentez toute modification de vsftpd.conf ou de la configuration ProFTPD dans votre gestion de configuration (ex. Ansible, Puppet, Git) et évaluez les implications en matière de sécurité et de maintenance.

Configuration du Pare-feu (UFW)

Ouvrir uniquement les ports nécessaires réduit la surface d'attaque. Avec UFW, autorisez le contrôle FTP, la transmission de données et la plage passive définie dans /etc/vsftpd.conf. Adaptez la plage passive à votre topologie réseau et documentez la règle dans votre politique de pare‑feu. Pour un serveur exposé, limitez l'accès par adresse IP lorsque possible et combinez les règles UFW avec des règles au niveau du routeur/NAT si le serveur est derrière un équipement NAT.

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

Vérifier le fonctionnement du serveur

  • Vérifier le service : sudo systemctl status vsftpd et corriger les erreurs signalées.
  • Tester en local : lancer ftp localhost, s'authentifier avec un compte valide et effectuer un ls, get et put pour valider les transferts.
  • Tester depuis un client externe : depuis une autre machine, tenter ftp IP_SERVEUR ou utiliser un client graphique pour vérifier le comportement en mode passif/actif et la permission d'accès.
  • Vérifier les règles UFW et la translation NAT si le serveur est derrière un routeur ; assurez-vous que la plage passive définie correspond aux ports ouverts.
  • Consulter les logs (voir section suivante) pour tout rejet ou erreur lors des tentatives de connexion.

Gestion des logs

Les logs de vsftpd se trouvent généralement dans /var/log/vsftpd.log. Selon la configuration syslog, des événements peuvent aussi apparaître dans /var/log/auth.log ou /var/log/syslog. Utilisez tail -f /var/log/vsftpd.log pour suivre les connexions en temps réel et cherchez les messages d'erreur liés à l'authentification, au chroot ou aux ports passifs pour le débogage.

Client FTP (FileZilla)

Pour un test avec FileZilla (client FTP largement utilisé) : ouvrez le Gestionnaire de sites, créez une entrée avec l'hôte (IP ou nom DNS), port 21, protocole FTP et chiffrement Require explicit FTP over TLS si le serveur propose FTPS. Renseignez le type d'authentification (Normal) et vos identifiants. Dans l'onglet Paramètres du site, choisissez Mode de transfert : Passive et, si nécessaire, précisez la plage de ports passive correspondant à la configuration du serveur. Ces réglages facilitent la connexion depuis des clients derrière NAT et accélèrent le diagnostic en administration système Linux.

Pour les utilisateurs préférant une interface graphique côté serveur sur Ubuntu Desktop, des outils comme gproftpd peuvent offrir une gestion simplifiée de ProFTPD et des comptes ; l'administration principale reste cependant plus robuste depuis la CLI pour la sécurisation et l'automatisation.

👤 À qui s'adresse ce cours ?

  • Public cible : techniciens systèmes et administrateurs débutants souhaitant déployer et gérer un serveur FTP sur Ubuntu.
  • Prérequis : connaissances de base en Linux (ligne de commande) et notions de réseau TCP/IP.

❓ Foire Aux Questions (FAQ)

Faut‑il privilégier le mode passif ? Le mode passif est recommandé lorsque le serveur est derrière un pare‑feu ou que les clients sont en NAT, car il évite que le serveur n'initie la connexion de données. Il nécessite l'ouverture d'une plage de ports côté serveur et l'ajustement du pare‑feu et du NAT.

Comment sécuriser les transferts FTP ? Préférez FTPS/SSL‑TLS ou SFTP pour chiffrer identifiants et données. Activez TLS dans la configuration du serveur, fournissez des certificats valides, limitez l'accès aux comptes nécessaires et surveillez les connexions via les logs système et des outils d'analyse réseau.

Remarque : l'administration se concentre sur la ligne de commande (CLI). Des clients GUI comme FileZilla ou gFTP existent pour la connexion et le transfert de fichiers et peuvent faciliter les tests fonctionnels, mais la configuration et la sécurisation du service doivent être réalisées côté serveur via la CLI.