FTP , abréviation de Protocole de transfert de fichiers , est un protocole qui permet d'accéder aux fichiers résidant sur un serveur. C'est l'un des premiers protocoles permettant aux utilisateurs de télécharger des fichiers sur Internet. Avec le protocole FTP, les utilisateurs peuvent facilement télécharger et télécharger des fichiers sur des serveurs.
Vsftpd , abréviation de démon FTP très sécurisé , est un démon FTP sécurisé qui est une mise à jour du protocole FTP. Il applique des connexions sécurisées aux serveurs FTP en cryptant le trafic envoyé vers et depuis le serveur, et ce faisant, le transfert de fichiers est protégé contre les pirates.
Dans cette rubrique, nous braquons les projecteurs sur l'installation de vsftpd sur CentOS 8 / RHEL 8.
Étape 1) Installez vsftpd à l'aide de la commande dnf
Dès le départ, nous allons installer vsftpd. Pour y parvenir, nous allons exécuter la commande ci-dessous :
$ sudo dnf install vsftpd
Appuyez sur y ' et appuyez sur ENTER pour commencer l'installation. L'installation prend quelques secondes et se terminera en un rien de temps. La sortie ci-dessous confirme que vsftpd a été installé avec succès.
La sortie indique que nous avons installé vsftpd version 3.0.3-31.el8.x86_64. Pour le confirmer, exécutez la commande suivante :
[[email protected] ~]$ rpm -q vsftpd vsftpd-3.0.3-31.el8.x86_64 [[email protected] ~]$
La sortie doit correspondre à la version imprimée sur le terminal une fois l'installation réussie. Pour récupérer des informations plus détaillées sur Vsftpd, ajoutez le drapeau -i à la fin comme indiqué :
$ rpm -qi vsftpd
Cela imprimera des informations supplémentaires à l'écran telles que l'architecture, la date d'installation, la licence et la signature pour n'en citer que quelques-unes.
Avec vsftpd installé, nous avons besoin qu'il s'exécute pour faciliter l'accès aux partages de fichiers.
Pour démarrer le service vsftpd, exécutez la commande :
$ sudo systemctl start vsftpd
Vous pouvez également l'activer pour qu'il démarre automatiquement lors d'un redémarrage. Pour ce faire, exécutez la commande
$ sudo systemctl enable vsftpd --now
Pour vérifier l'état de vsftpd sur votre système, exécutez :
$ sudo systemctl status vsftpd
Si vous voyez le message "actif :(en cours d'exécution) ” directive en vert comme indiqué sur le terminal, alors le service vsftpd est opérationnel.
Étape 2) Créer un utilisateur ftp et son répertoire
Ensuite, nous allons créer un utilisateur que nous utiliserons pour accéder au serveur FTP. Dans ce cas, l'utilisateur sera ftpuser mais n'hésitez pas à donner à votre utilisateur un nom de votre choix.
$ sudo adduser ftpuser $ sudo passwd ftpuser
Avec l'utilisateur FTP en place, nous allons continuer et créer le répertoire FTP et attribuer les autorisations et la propriété du répertoire suivantes.
$ sudo mkdir -p /home/ftpuser/ftp_dir $ sudo chmod -R 750 /home/ftpuser/ftp_dir $ sudo chown -R ftpuser: /home/ftpuser/ftp_dir
Nous devons également ajouter l'utilisateur FTP à /etc/vsftpd/user_list fichier pour permettre à l'utilisateur d'accéder au serveur vsftp.
$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'
Étape 3) Configurez vsftpd via son fichier de configuration
Jusqu'à présent, nous avons réussi à installer et à confirmer que vsftpd est opérationnel. D'autres ajustements sont nécessaires pour que Vsftpd permette aux utilisateurs d'accéder au serveur.
Le fichier de configuration par défaut pour vsftpd est le fichier /etc/vsftpd/vsftpd.conf. Le fichier est rempli de directives qui aident à renforcer la sécurité de votre serveur FTP.
Dans cette section, nous allons apporter quelques modifications au fichier de configuration et permettre aux utilisateurs d'accéder au serveur.
Pour autoriser les utilisateurs locaux à accéder au serveur FTP à distance et bloquer les utilisateurs anonymes, assurez-vous d'avoir les directives comme indiqué :
anonymous_enable=NO local_enable=YES
Pour accorder aux utilisateurs le droit d'exécuter n'importe quelle commande FTP et d'apporter des modifications telles que le téléchargement, le téléchargement et la suppression de fichiers, ayez la ligne suivante en place.
write_enable=YES
Pour des raisons de sécurité, vous pouvez choisir d'empêcher les utilisateurs d'accéder à tous les fichiers et répertoires en dehors de leurs répertoires personnels. Par conséquent, ayez la directive suivante en place.
chroot_local_user=YES
Pour accorder aux utilisateurs un accès en écriture à leurs répertoires personnels respectifs, assurez-vous d'avoir cette directive.
allow_writeable_chroot=YES
Ensuite, nous allons définir des ports personnalisés pour activer les connexions FTP passives. Dans ce cas, nous spécifierons les ports 30000 et 31000. Nous les ouvrirons ultérieurement sur le pare-feu.
pasv_min_port=30000 pasv_max_port=31000
Ensuite, nous n'autoriserons que les utilisateurs définis dans /etc/vsftpd/user_list accéder au serveur et bloquer le reste. Pour y parvenir, disposez les lignes ci-dessous.
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Enfin, enregistrez et fermez le fichier. Pour que les modifications persistent, redémarrez le service Vsftpd.
$ sudo systemctl restart vsftpd
À ce stade, vous pouvez tester la connectivité FTP en exécutant
$ adresse IP ftp
Spécifiez le nom d'utilisateur de l'utilisateur ftp et fournissez ultérieurement le mot de passe. Vous devriez obtenir la sortie comme indiqué.
Bien que nous ayons établi une connectivité avec le serveur vsftpd. La connexion n'est pas sécurisée et les informations envoyées sont en clair et non cryptées. Nous devons donc prendre des mesures supplémentaires pour chiffrer les communications envoyées au serveur.
Étape 4) Configurer SSL/TLS pour vsftpd
Pour chiffrer les communications entre le serveur et un système client, nous devons générer un certificat TLS et configurer ultérieurement le serveur pour l'utiliser.
Pour générer le certificat, exécutez la commande ci-dessous :
$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Cela sera suivi d'une série d'invites où vous devrez fournir quelques détails tels que le nom du pays, l'état ou la province, et le nom de l'organisation pour n'en citer que quelques-uns. Remplissez tous les détails en conséquence, comme indiqué.
Nous devons également indiquer au serveur où les fichiers de certificat sont stockés. Revenez donc au fichier de configuration /etc/vsftpd/vsftpd.conf et spécifiez le chemin d'accès aux fichiers de certificat.
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd.pem
Ensuite, demandez au serveur d'activer SSL.
ssl_enable=YES
Enregistrez et quittez le fichier de configuration. Pour apporter les modifications ci-dessus à l'effet, redémarrez le service vsftpd,
$ sudo systemctl restart vsftpd
Étape 5) Autoriser les ports du serveur ftp (vsftpd) dans le pare-feu
Si vous utilisez un pare-feu, vous devez autoriser ces ports saillants"
- 20 – pour autoriser le trafic FTP
- 21 – Port de données FTP
- 30000-31000 – Pour permettre une communication passive avec le serveur FTP.
Par conséquent, exécutez les commandes ci-dessous :
$ sudo firewall-cmd --permanent --add-port=20-21/tcp $ sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Rechargez ensuite le pare-feu pour que les modifications prennent effet.
$ sudo firewall-cmd --reload
Étape 6) Testez votre serveur vsftpd ou FTP
Une fois tous les réglages effectués, il est temps de tester notre connectivité. Dans cet exemple, nous utilisons un client FTP connu sous le nom de FileZilla qui est un client FTP gratuit pour les systèmes client et serveur. Il prend en charge à la fois le FTP simple et le FTP sur TLS, ce que nous allons tester.
Une fois lancée, l'interface ressemble à celle illustrée. Fournissez l'adresse IP de l'hôte (vsftpd), le nom d'utilisateur et le mot de passe de l'utilisateur ftp, puis cliquez sur "Quickconnect '.
Peu de temps après, une fenêtre contextuelle apparaîtra affichant le certificat du serveur FTP et les détails de la session. Pour poursuivre la connexion, cliquez sur "Toujours faire confiance à ce certificat lors d'une session future", puis appuyez sur Entrée.
Si toutes vos configurations sont correctes, vous devriez entrer sans aucun problème, comme indiqué. Dans le volet inférieur droit, le répertoire d'accueil du serveur distant, comme indiqué. Vous pouvez maintenant charger, télécharger et modifier les fichiers comme bon vous semble.
Ceci conclut notre sujet sur l'installation de vsftpd sur CentOS 8. Nous espérons que vous pourrez désormais configurer confortablement votre propre serveur vsftpd (ftp sécurisé). S'il vous plaît, partagez-le avec vos amis techniques et partagez également vos précieux commentaires.
Lire aussi :Comment faire pivoter et compresser les fichiers journaux sous Linux avec Logrotate
Lire aussi :Comment installer Memcached (serveur de mise en cache) sur CentOS 8