Serveur

Comment configurer le serveur FTP sur CentOS

Comment configurer le serveur FTP sur CentOS

La configuration d'un serveur FTP (File Transfer Protocol) sur votre PC Linux vous permettra de transférer des fichiers entre votre système et une machine distante. Nous allons vous montrer comment configurer un serveur FTP sur CentOS.

Linux a déjà une tonne de serveurs FTP open source que vous pouvez utiliser pour le travail. Cela inclut les serveurs populaires comme PureFTPd, ProFTPD, ainsi que vsftpd.

Vous êtes autorisé à utiliser l'un des serveurs FTP comme vous le souhaitez. Cependant, dans ce tutoriel, nous allons installer et utiliser vsftpd, abréviation de Very Secure FTP Daemon. Il s'agit d'un serveur FTP rapide, stable et sécurisé qui vous aidera à transférer des fichiers vers et depuis un système distant en un tournemain.

Configuration du serveur FTP sur CentOS

Alors sans plus tarder, commençons :

Installation de vsftpd

Tout d'abord, nous devrons installer vsftpd sur CentOS. Pour cela, saisissez la commande suivante dans le terminal :

$ sudo dnf installer vsftpd

Installer vsftpd sur CentOS

Avec vsftpd installé sur votre système CentOS, vous devez le configurer pour qu'il démarre et démarre automatiquement. Cela peut être fait à l'aide de la commande suivante :

$ sudo systemctl activer vsftpd --now

Une fois cela fait, vérifiez l'état du service vsftpd en entrant cette commande :

$ sudo systemctl status vsftpd

Un écran de sortie similaire à celui ci-dessous apparaîtra. Vous devriez voir que vsftpd n'est pas "actif" sur votre système CentOS.

vsftpd actif et exécuté sur CentOS

Configurer vsftpd

Avec vsftpd actif et en cours d'exécution sur votre système, vous devrez configurer les paramètres du serveur. Pour ce faire, vous devrez accéder au fichier /etc/vsftpd/vsftpd.fichier de configuration conf. Cela peut être fait en ouvrant le fichier de configuration dans l'éditeur nano en entrant la commande suivante dans le terminal :

$ sudo nano /etc/vsftpd/vsftpd.conf

Avec le fichier maintenant ouvert dans l'éditeur, vous devez apporter plusieurs modifications pour configurer vsftpd sur votre système. Passons en revue un par un.

1. Configurer l'accès FTP

Tout d'abord, configurons le serveur FTP pour autoriser l'accès uniquement aux utilisateurs locaux. Pour ce faire, vous devrez rechercher les directives anonymes_enable et local_enable dans le fichier et les modifier comme indiqué dans l'image ci-dessous :

Paramètres d'accès FTP

Comme vous pouvez le voir, vous devrez définir anonyme_enable=NO et local_enable=YES.

2. Activer les téléchargements

Ensuite, vous devrez configurer le serveur FTP pour permettre le téléchargement et la suppression de fichiers.

Pour ce faire, vous devrez localiser la directive write_enable et la changer en OUI, comme indiqué dans l'image.

Option pour activer les téléchargements vsftpd

3. Limiter les connexions utilisateur

Une fois cela fait, vous voudrez limiter le nombre total de connexions utilisateur i.e., vous voulez seulement que certains utilisateurs se connectent à votre serveur FTP. Pour ce faire, localisez d'abord cette ligne dans le .fichier conf - userlist_enable=OUI. Après cela, ajoutez ces deux lignes dans le fichier :

userlist_file=/etc/vsftpd/user_list userlist_deny=NON

Utilisez l'image ci-dessous comme référence :

Paramètres pour limiter les connexions des utilisateurs

Vous pouvez également choisir d'activer cette option. Si vous le faites, vous devrez spécifier explicitement à quels utilisateurs vous souhaitez donner accès au serveur FTP. Pour autoriser les utilisateurs, vous devrez ajouter leurs noms d'utilisateur au fichier /etc/vsftpd/user_list avec un seul nom d'utilisateur par ligne.

4. Configurer des connexions FTP passives

Vous pouvez également configurer des connexions FTP passives.

En tant que tel, nous allons vous montrer ici comment spécifier les plages minimale et maximale des ports en ajoutant quelques lignes à l'intérieur du .fichier de configuration.

Configuration de connexions FTP passives

Tout ce que vous avez à faire est de faire défiler jusqu'à la fin du fichier et d'ajouter ces deux lignes, comme indiqué dans l'image.

pasv_min_port=30000 pasv_max_port=31000

Nous verrons également comment vous pouvez ouvrir la plage dans votre pare-feu plus tard dans ce tutoriel.

5. Configurer les transmissions sécurisées à l'aide de SSL/TLS

Enfin, se pose la question de la sécurisation de la connexion FTP en utilisant SSL/TLS. Pour ce faire, vous devrez disposer d'un certificat SSL et configurer votre serveur FTP pour l'utiliser.

Cependant, pour les besoins de ce tutoriel, nous allons générer un certificat SSL auto-signé à l'aide de l'outil OpenSSL, puis l'utiliser pour crypter notre transmission FTP.

Donc, tout d'abord, vous devrez utiliser OpenSSL pour générer un nouveau certificat SSL. Vous pouvez le faire en entrant la commande suivante dans le terminal :

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

Création d'un certificat OpenSSL auto-signé dans CentOS

L'exécution de la commande ci-dessus générera une clé privée de 2048 bits ainsi qu'un certificat auto-signé. Les deux sont valables dix ans et enregistrés dans le même fichier.

Après avoir créé votre nouveau certificat SSL, ouvrez le fichier de configuration vsftpd à l'aide de la commande précédente :

sudo nano /etc/vsftpd/vsftpd.conf

Faites défiler vers le bas et ajoutez les lignes suivantes comme indiqué dans l'image :

rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=OUI

Configuration des paramètres SSL pour vsftpd

Et c'est tout. Vous avez configuré avec succès le certificat SSL pour votre serveur FTP.

6. Finaliser

Une fois cela fait, revérifiez le fichier de configuration vsftpd pour voir si tous les paramètres suivants sont tels qu'ils sont :

anonyme_enable=NON local_enable=OUI write_enable=OUI local_umask=022 dirmessage_enable=OUI xferlog_enable=OUI connect_from_port_20=OUI xferlog_std_format=OUI listen=NON listen_ipv6=OUI pam_service_name=vsftpd_port_liste_utilisateur_v30_userlist_enable=YES pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=OUI

Après vous être assuré que toutes les modifications ci-dessus ont été apportées au fichier, vous devrez l'enregistrer. Une fois enregistré, redémarrez le service vsftpd à l'aide de la commande suivante :

$ sudo systemctl redémarrer vsftpd

Configurer le pare-feu

Si vous avez un pare-feu activé avec le serveur FTP, vous devez configurer le pare-feu pour qu'il autorise les transmissions FTP.

Pour ce faire, vous devrez entrer les commandes suivantes dans le terminal :

$ sudo firewall-cmd --permanent --add-port=20-21/tcp

La commande ci-dessus ouvre le port 21 - qui est le port de commande FTP, et le port 20 - qui est le port de données FTP.

Vous devrez également entrer cette commande :

$ sudo firewall-cmd --permanent --add-port=30000-31000/tcp

Cette commande ouvre la plage de ports passifs 30000-31000, que nous avons configurée précédemment.

Autoriser le serveur vsftpd à traverser le pare-feu CentOS

Une fois cela fait, vous devrez recharger le pare-feu à l'aide de la commande suivante :

$ firewall-cmd --reload

Comment créer un nouvel utilisateur FTP

Maintenant que vous avez configuré votre serveur vsftpd sur votre système CentOS, il est temps de créer un nouvel utilisateur FTP et de le tester.

Tout d'abord, créons un nouvel utilisateur FTP (newftpuser) en utilisant la commande suivante :

$ sudo adduser newftpuser

Ensuite, vous devrez définir un mot de passe pour le nouvel utilisateur. Pour ce faire, utilisez cette commande :

$ sudo passwd newftpuser

Assurez-vous que le mot de passe est fort et plus long que huit caractères.

Création d'un nouvel utilisateur FTP

Après avoir créé le nouvel utilisateur, vous devrez l'ajouter à la liste des utilisateurs FTP. Cela peut être fait en entrant la commande suivante dans le terminal :

$ echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list

Enfin, vous devrez créer une arborescence de répertoires FTP où vous définirez toutes les autorisations correctes. Pour ce faire, vous devrez entrer la série de commandes suivante dans le terminal :

$ sudo mkdir -p /home/newftpuser/ftp/upload $ sudo chmod 550 /home/newftpuser/ftp $ sudo chmod 750 /home/newftpuser/ftp/upload $ sudo chown -R newftpuser: /home/newftpuser/ftp

Créer une arborescence de répertoires FTP

À présent, votre serveur FTP est entièrement fonctionnel et prêt à fonctionner. Vous pouvez maintenant vous y connecter en utilisant n'importe quel client FTP comme FileZilla. Assurez-vous simplement que le client FTP peut également être configuré pour utiliser le cryptage TLS car il est utilisé pour crypter les transmissions FTP.

Désactiver l'accès au shell

Une chose que vous devez garder à l'esprit lors de la création d'un nouvel utilisateur FTP est que, sauf indication contraire, l'utilisateur aura un accès SSH au serveur.

Si vous souhaitez désactiver l'accès au shell de l'utilisateur, vous devrez créer un nouveau shell qui imprimera un message informant l'utilisateur que - "Ce compte est limité à l'accès FTP uniquement."

Pour ce faire, vous devrez entrer la commande suivante dans le terminal :

$ echo -e '#!/bin/sh\necho "Ce compte est limité à l'accès FTP uniquement."' | sudo tee -a /bin/ftponly $ sudo chmod a+x /bin/ftponly

La commande ci-dessus créera le shell /bin/ftponly et l'exécutera.

Ensuite, vous devrez ajouter le nouveau shell à la liste des shells valides situés à l'intérieur du /etc/coquilles déposer. Cela se fait à l'aide de la commande suivante :

$ echo "/bin/ftponly" | sudo tee -a /etc/coquilles

Et comme dernière étape, tout ce que vous avez à faire est de changer le shell de l'utilisateur en /bin/ftponly à l'aide de cette commande :

$ sudo usermod newftpuser -s /bin/ftponly

De plus, pour tous les futurs utilisateurs FTP, vous pouvez utiliser la même commande pour changer leur shell afin qu'ils ne puissent avoir qu'un accès FTP.

Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...