La configuration du serveur FTP (File Transfer Protocol) sur une machine Ubuntu 16.04, en utilisant le logiciel vsftpd (Very Secure FTP Daemon), est un processus essentiel pour faciliter le transfert de fichiers entre des systèmes au sein d’un réseau. Vsftpd est réputé pour sa sécurité et sa simplicité d’utilisation. Voici un guide détaillé pour vous aider à comprendre et à mettre en place ce service sur votre système.
Installation de vsftpd :
Pour débuter, il est crucial d’installer vsftpd sur votre machine Ubuntu 16.04. Vous pouvez le faire en utilisant le gestionnaire de paquets APT (Advanced Package Tool). Ouvrez un terminal et exécutez la commande suivante :

bashsudo apt-get update sudo apt-get install vsftpd
Cette séquence de commandes assure que votre système est à jour et installe ensuite le logiciel vsftpd.
Configuration du fichier vsftpd.conf :
Le fichier de configuration principal pour vsftpd se nomme « vsftpd.conf » et est situé dans le répertoire « /etc ». Pour ouvrir ce fichier avec l’éditeur de texte Nano, utilisez la commande suivante :
bashsudo nano /etc/vsftpd.conf
Vous serez confronté à plusieurs options dans ce fichier. Voici quelques-unes des configurations cruciales :
Activation du mode anonyme :
Si vous souhaitez autoriser l’accès anonyme, recherchez la ligne suivante et assurez-vous qu’elle est configurée comme suit :
confanonymous_enable=YES
Configuration de la restriction de répertoire :
Pour limiter l’accès à un répertoire spécifique pour les utilisateurs anonymes, utilisez la directive suivante :
confanon_root=/chemin/du/repertoire
Autorisation d’écriture pour les utilisateurs locaux :
Pour permettre aux utilisateurs locaux d’écrire dans leur répertoire personnel, assurez-vous que cette option est activée :
confwrite_enable=YES
Définition du masque d’écriture :
Définissez le masque d’écriture pour que les fichiers créés aient les autorisations appropriées :
conflocal_umask=022
Activation du support pour ASCII :
Si nécessaire, activez le support ASCII pour le transfert de fichiers :
confascii_upload_enable=YES ascii_download_enable=YES
Redémarrage du service vsftpd :
Après avoir apporté les modifications nécessaires, enregistrez le fichier de configuration en utilisant Nano (Ctrl + X, puis Y pour confirmer). Ensuite, redémarrez le service vsftpd pour appliquer les changements :
bashsudo service vsftpd restart
Gestion des utilisateurs FTP :
Pour permettre à des utilisateurs spécifiques d’accéder au serveur FTP, vous devez créer des comptes locaux sur votre système. Utilisez la commande suivante pour ajouter un nouvel utilisateur :
bashsudo adduser nom_utilisateur
Suivez les instructions à l’écran pour définir un mot de passe et d’autres détails pour le nouvel utilisateur.
Attribution des autorisations appropriées :
Assurez-vous que les utilisateurs FTP ont les autorisations nécessaires sur leurs répertoires. Utilisez la commande suivante pour attribuer des droits de propriété à l’utilisateur FTP pour un répertoire spécifique :
bashsudo chown -R nom_utilisateur:nom_groupe /chemin/du/repertoire
Test du serveur FTP :
Pour vérifier si le serveur FTP fonctionne correctement, utilisez un client FTP tel que FileZilla depuis un autre ordinateur. Entrez l’adresse IP de votre serveur, le nom d’utilisateur et le mot de passe lorsque vous êtes invité. Vous devriez être en mesure de vous connecter et de transférer des fichiers.
Configuration du pare-feu :
Si vous avez un pare-feu activé sur votre machine, assurez-vous d’ouvrir le port 21 (le port par défaut pour le FTP) en utilisant la commande suivante :
bashsudo ufw allow 21
Sécurité supplémentaire :
Il est essentiel de noter que le FTP n’est pas le protocole le plus sécurisé. Si la sécurité est une préoccupation, envisagez d’utiliser des alternatives telles que SFTP (SSH File Transfer Protocol) qui intègre une couche de sécurité supplémentaire en utilisant SSH pour le transfert de fichiers.
En conclusion, la configuration de vsftpd sur Ubuntu 16.04 nécessite une compréhension approfondie du fichier de configuration et des autorisations des utilisateurs. Assurez-vous de personnaliser les paramètres en fonction de vos besoins spécifiques tout en maintenant une vigilance constante pour renforcer la sécurité de votre serveur FTP. N’oubliez pas de consulter la documentation officielle de vsftpd pour des détails plus approfondis sur les options de configuration disponibles.
Plus de connaissances
La mise en place d’un serveur FTP avec vsftpd sur Ubuntu 16.04 s’accompagne de plusieurs paramètres et options de configuration supplémentaires. Explorons davantage certains aspects essentiels de la configuration, ainsi que des recommandations pour optimiser les performances et renforcer la sécurité de votre serveur FTP.
Options de Configuration Avancées :
-
Gestion des journaux (Logs) :
- Vsftpd dispose de fonctionnalités de journalisation robustes. Vous pouvez spécifier l’emplacement des journaux dans le fichier de configuration. Par exemple :
conf
xferlog_file=/var/log/vsftpd.log
- Vsftpd dispose de fonctionnalités de journalisation robustes. Vous pouvez spécifier l’emplacement des journaux dans le fichier de configuration. Par exemple :
-
Contrôle des Connexions Concurrentes :
- Vous pouvez limiter le nombre de connexions simultanées d’un même utilisateur en utilisant la directive suivante :
conf
max_per_ip=2
- Vous pouvez limiter le nombre de connexions simultanées d’un même utilisateur en utilisant la directive suivante :
-
Chiffrement des Communications :
- Pour renforcer la sécurité, envisagez d’activer le chiffrement SSL/TLS. Vous devrez générer des certificats SSL. Ajoutez ces lignes dans le fichier de configuration :
conf
ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
- Pour renforcer la sécurité, envisagez d’activer le chiffrement SSL/TLS. Vous devrez générer des certificats SSL. Ajoutez ces lignes dans le fichier de configuration :
-
Mode Passif et Configuration des Ports :
- Pour le mode passif, spécifiez une plage de ports à utiliser. Assurez-vous que ces ports sont ouverts dans le pare-feu. Ajoutez les lignes suivantes :
conf
pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000
- Pour le mode passif, spécifiez une plage de ports à utiliser. Assurez-vous que ces ports sont ouverts dans le pare-feu. Ajoutez les lignes suivantes :
-
Configuration de la Bande Passante :
- Vous pouvez définir des limites de bande passante pour les transferts en ajoutant ces lignes :
conf
anon_max_rate=50000 # en octets par seconde anon_max_rate=30000 # en octets par seconde
- Vous pouvez définir des limites de bande passante pour les transferts en ajoutant ces lignes :
Optimisation des Performances :
-
Utilisation d’un Serveur NTP :
- Synchronisez l’horloge de votre serveur avec un serveur NTP pour éviter des problèmes de décalage temporel qui pourraient influencer les journaux et les autorisations des fichiers.
-
Utilisation d’une Adresse IP Statique :
- Pour garantir que l’adresse IP du serveur FTP reste constante, attribuez une adresse IP statique à votre machine.
-
Configuration du DNS :
- Assurez-vous que le DNS est correctement configuré pour résoudre le nom d’hôte du serveur en adresse IP.
Sécurité et Bonnes Pratiques :
-
Utilisation d’Utilisateurs Virtuels :
- Plutôt que d’utiliser les utilisateurs système, vous pouvez configurer vsftpd pour utiliser des utilisateurs virtuels via PAM (Pluggable Authentication Modules) ou d’autres mécanismes.
-
Chroot des Utilisateurs :
- Pour renforcer la sécurité, envisagez de chrooter les utilisateurs dans leur répertoire personnel. Ajoutez cette ligne au fichier de configuration :
conf
chroot_local_user=YES
- Pour renforcer la sécurité, envisagez de chrooter les utilisateurs dans leur répertoire personnel. Ajoutez cette ligne au fichier de configuration :
-
Désactivation du Login SSH pour les Comptes FTP :
- Si vous n’avez pas besoin d’un accès SSH pour les utilisateurs FTP, vous pouvez désactiver le login SSH pour ces comptes, renforçant ainsi la sécurité.
-
Mise à Jour Régulière :
- Assurez-vous de maintenir votre système à jour avec les dernières mises à jour de sécurité et de vsftpd.
-
Surveillance du Serveur :
- Mettez en place des outils de surveillance pour suivre l’utilisation des ressources, les connexions actives, et détecter toute activité suspecte.
-
Sauvegarde Régulière :
- Effectuez régulièrement des sauvegardes des données du serveur FTP pour éviter la perte de données en cas de problème.
Conclusion :
La configuration d’un serveur FTP avec vsftpd sur Ubuntu 16.04 nécessite une approche holistique, prenant en compte la sécurité, les performances, et la gestion des utilisateurs. En suivant ces recommandations et en ajustant les paramètres en fonction de vos besoins spécifiques, vous pouvez établir un serveur FTP fiable et sécurisé. N’oubliez pas de consulter la documentation officielle de vsftpd pour des détails supplémentaires et des mises à jour éventuelles des fonctionnalités.