Le protocole de transfert de fichiers (FTP) est un outil populaire et largement utilisé pour transférer des fichiers entre un serveur et des clients sur le réseau. Le principal problème avec les paramètres FTP par défaut est le risque de sécurité associé à la transmission non chiffrée des informations d'identification et des données de l'utilisateur sur le réseau. Cela pourrait compromettre les détails du compte utilisateur.
Par conséquent, il est nécessaire d'installer un serveur sécurisé prenant en charge le cryptage. Il existe plusieurs serveurs FTP open-source disponibles pour Linux à votre disposition. Les serveurs les plus couramment utilisés sont Vsftpd, PureFTPd et ProFTPD.
Dans ce tutoriel, nous allons décrire comment installer et configurer le serveur VSFTPD, qui est un démon FTP très sécurisé.
Installation du serveur FTP sur CentOS
Ici, nous allons utiliser l'installation minimale de Centos 7 pour la démonstration et la connexion root pour exécuter les commandes.
Étape 1 – Installer le package vsftpd
Généralement, le package vsftpd est disponible dans les référentiels CentOS par défaut. Exécutez la commande suivante pour installer un serveur FTP.
yum install vsftpd
Après l'installation, vérifiez l'état du service FTP.
systemctl status vsftpd
Si le service n'est pas démarré, vous pouvez démarrer le service en utilisant la commande ci-dessous.
systemctl start vsftpd
maintenant, nous devons activer le service FTP au démarrage du système.
systemctl enable vsftpd
Étape 2 - Configurer le vsftpd
Fichier de configuration VSFTPD situé dans le répertoire "/etc/vsftpd/". Nous allons donc modifier « vsftpd.conf ». Avant la modification, sauvegardez le fichier d'origine.
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origbackup
Modifiez maintenant le fichier.
vi /etc/vsftpd/vsftpd.conf
Nous allons autoriser l'accès au serveur FTP uniquement pour les utilisateurs locaux, nous allons donc éditer les paramètres suivants et modifier.
anonymous_enable=NO local_enable=YES
Recherchez "write_enable" et décommentez le paramètre pour autoriser les modifications du système de fichiers.
write_enable=YES
Recherchez et décommentez la directive "chroot" pour empêcher les utilisateurs FTP d'accéder à tous les fichiers en dehors de leurs répertoires personnels.
chroot_local_user=YES
Ici, nous configurons les répertoires FTP pour autoriser le téléchargement lorsque le chroot est activé. C'est la méthode recommandée. Ajoutez donc les lignes suivantes au fichier "vsftpd.conf".
user_sub_token=$USER local_root=/home/$USER/ftp
Normalement, vsftpd peut utiliser n'importe quel port pour les connexions FTP passives. Ici, nous mentionnons une plage minimale et maximale de ports pour vsftpd.
Ajouter ces lignes au fichier
pasv_min_port=40000 pasv_max_port=41000
Pour limiter l'utilisateur, connectez-vous, ajoutez les configurations suivantes après la ligne "userlist_enable=YES".
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Maintenant, enregistrez et quittez le fichier.
Redémarrez le service VSFTPD.
systemctl restart vsftpd
Étape 3 – Configurer le pare-feu
Autoriser les ports FTP via le pare-feu.
firewall-cmd --permanent --add-port=20-21/tcp firewall-cmd --permanent --add-port=40000-41000/tcp
Rechargez maintenant le pare-feu.
firewall-cmd --reload
Étape 4 - Créer un utilisateur FTP
Ajouter un utilisateur. Remplacez "darsh" par le nom d'utilisateur de votre choix.
adduser darsh
Définir le mot de passe pour l'utilisateur.
passwd darsh
Ajoutez maintenant l'utilisateur à la liste des utilisateurs FTP autorisés. Pour ce faire, modifiez le fichier de configuration et ajoutez le nom d'utilisateur creed.
vi /etc/vsftpd/user_list
Ensuite, enregistrez et quittez le fichier.
Créez un répertoire de téléchargement pour l'utilisateur.
mkdir -p /home/darsh/ftp/upload
Définissez les autorisations du répertoire.
chmod 550 /home/darsh/ftp chmod 750 /home/darsh/ftp/upload
Modifier la propriété du répertoire.
chown -R darsh: /home/darsh/ftp
Nous avons créé un utilisateur avec un accès au shell et si vous le souhaitez, vous pouvez désactiver l'accès au shell de l'utilisateur.
usermod -s /sbin/nologin darsh
Étape 5 - Tester le serveur FTP
Vous pouvez maintenant utiliser le client FTP et accéder au serveur. Si vous n'en avez pas, je vous recommande d'utiliser l'application gratuite et open source "FileZilla".

Vous pouvez parcourir le répertoire de téléchargement et créer un fichier à tester.

C'est ça! Vous avez configuré avec succès un serveur FTP sur CentOS. Faites-nous savoir comment votre installation s'est déroulée et partagez l'article avec vos amis sur les plateformes sociales.