Installation d’un serveur FTP (vsftpd) sur Ubuntu 18.04 / 18.10 / 19.04 / 19.10

Classé dans : Articles | 0

avant de commencer

Il est surprenant de voir combien de développeurs web ignorent encore SFTP et les avantages par rapport à FTP / FTPS. SFTP est livré avec un serveur Linux préinstallé et fonctionne comme FTP normal, mais est plus sécurisé et moins de tracas à configurer. Si votre client FTP prend en charge SFTP, vous devez l’utiliser!

  • Comment Configurer SFTP pour une racine de document de serveur web

installer vsftpd

commençons par mettre à jour les listes de paquets et installer vsftpd sur Ubuntu 18.04 / 18.10 / 19.04 / 19.10.,

ci-Dessous, nous avons deux commandes séparées par &&. La première commande mettra à jour les listes de paquets pour vous assurer d’obtenir la dernière version et les dépendances pour vsftpd. La deuxième commande va ensuite télécharger et installer vsftpd. Appuyez sur y Et ENTER lorsqu’on vous demande de continuer.

sudo apt update && sudo apt install vsftpd

une Fois installé, vérifiez l’état de vsftpd

sudo service vsftpd status

ci-Dessus, nous pouvons voir notre serveur FTP est maintenant en place et en cours d’exécution.,

configurer le pare-feu

Si vous ne l’avez pas déjà fait, il est recommandé d’activer le pare-feu ufw Pour Ubuntu 18.04 / 18.10 / 19.04 / 19.10. Avant d’activer le pare-feuufw, assurez-vous d’ajouter une règle pour SSH, sinon vous risquez d’être bloqué sur votre serveur si vous êtes connecté à distance. Si vous ne souhaitez pas configurer de pare-feu, passez à L’Étape 3.

sudo ufw allow OpenSSH

ouvrons les ports 20 et 21 pour FTP, et les ports 40000-50000 pour FTP passif. Nous ouvrirons également le port 990 pour TLS, que nous mettrons en place plus tard.,

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

Maintenant, activez le pare-feu si elle n’est pas déjà fait. Appuyez sur y Et ENTER si vous êtes averti de perturber la connexion SSH.

sudo ufw enable

Pour vérifier l’état du pare-feu, exécuter:

sudo ufw status

Si le pare-feu est en cours d’exécution, vous devriez voir Status: active et les règles de pare-feu que nous venons d’ajouter.

Créer un Utilisateur FTP

Nous allons maintenant créer un nouvel utilisateur que nous allons utiliser pour vous connecter en FTP., Dans cet exemple, nous allons créer un nouvel utilisateur appelé ftpuser.

sudo adduser ftpuser

générez un mot de passe fort et protégez-le.

Vous pouvez également être invité à entrer des informations de contact. Vous pouvez simplement appuyer sur ENTER pour chacun d’entre eux.

Si vous souhaitez uniquement queftpuser se connecte via FTP, vous devez désactiver leur accès SSH en mettant leur nom d’utilisateur sur liste noire dans le fichier de configuration SSH. Sinon, passez à L’Étape 4.

ouvrez la configuration SSH dans nano.,

sudo nano /etc/ssh/sshd_config

ajoutez ce qui suit au bas du fichier en remplaçantftpuser par l’utilisateur que vous souhaitez refuser L’accès SSH et SFTP. Vous pouvez ajouter plusieurs utilisateurs ici séparés par un seul espace. (Pour coller dans nano, appuyez sur le bouton droit de la souris).

/etc/ssh/sshd_config
DenyUsers ftpuser

Pour enregistrer le fichier et quitter, appuyez sur la touche CTRL + X, appuyez sur la touche Y, puis appuyez sur la touche ENTER.

Redémarrer le service SSH.,

sudo service sshd restart

autorisations de répertoire

Vous devez maintenant décider où ce nouvel utilisateur FTP est autorisé à afficher et à télécharger des fichiers.

vsftpd utilise les prisons chroot pour restreindre les utilisateurs à leurs répertoires personnels et exige que le répertoire personnel ne soit pas accessible en écriture. Pour cette raison, nous devons configurer certains répertoires et autorisations.

Si vous prévoyez d’utiliser ce compte D’utilisateur FTP pour télécharger des fichiers sur un serveur web, passez à L’étape 4.1. Si vous souhaitez simplement télécharger dans un dossier personnel, passez à L’étape 4.2.

4.1., Télécharger sur un serveur Web

dans de nombreux cas, vous souhaitez pouvoir télécharger des fichiers à la racine du document sur le serveur web.

Si vous avez suivi un guide précédent ici pour configurer plusieurs domaines, la racine de votre document peut être située quelque part comme/var/www/test1.com/public_html – dans ce cas, vous devrez définir le dossier personnel pour ftpuser dans le dossier au-dessus de la racine du document: /var/www/test1.com test1.com pour votre propre domaine).,

Si vous n’utilisez pas plusieurs domaines, nous supposerons que vous utilisez la racine du document par défaut /var/www/html pour Apache et Nginx dans Ubuntu 18.04 / 18.10 / 19.04 / 19.10. Dans ce scénario, nous avons à faire /var/www/ le répertoire d’accueil de notre utilisateur ftpuser.

définissons le dossier au-dessus de la racine du document comme répertoire personnel pourftpuser.

sudo usermod -d /var/www ftpuser

cela permettra à notre utilisateur FTP d’écrire et de modifier des fichiers dans le répertoire racine du document.,

sudo chown ftpuser:ftpuser /var/www/html

Maintenant, passez à l’Étape 5 pour configurer vsftpd.

4.2 Upload to a Home Folder

Si vous souhaitez que cet utilisateur télécharge des fichiers dans le répertoire home, créez un nouveau répertoire appeléftp dans le répertoire home de l’utilisateur et un autre appeléfiles. Dans cet exemple ci-dessous notre utilisateur est appelé ftpuser.

sudo mkdir /home/ftpuser/ftp

l’Ensemble de la propriété de la balise ftp dossier de pas de nobody:nogroup.,

sudo chown nobody:nogroup /home/ftpuser/ftp

définissez les autorisations pour le répertoireftp en utilisantchmod afin qu’il ne soit accessible en écriture par personne, sinon vsftpd ne vous permettra pas de vous connecter. a-w signifie a = tous les/tout le monde - = supprimer le w = autorisation d’écriture, donc, supprimer des autorisations d’écriture pour tout le monde.

sudo chmod a-w /home/ftpuser/ftp

Ensuite, nous allons créer un nouveau répertoire à l’intérieur de la balise /ftp où l’utilisateur peut afficher et télécharger des fichiers.,

sudo mkdir /home/ftpuser/ftp/files

attribuez la propriété de ce répertoire à notre nouvel utilisateur FTP sinon il ne pourra pas y écrire.

sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

configurer vsftpd

Il y a quelques modifications que nous devons apporter au fichier de configuration vsftpd avant de pouvoir commencer à utiliser FTP sur Ubuntu 18.04 / 18.10 / 19.04 / 19.10.

avant de modifier le fichier de configuration, créez une sauvegarde.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Maintenant, ouvrez le fichier de config dans nano éditeur.,

sudo nano /etc/vsftpd.conf

c’est un fichier assez volumineux mais il est surtout rempli de commentaires pour vous aider.

Vous devez descendre le fichier et vous assurer que les paramètres correspondent à ceux ci-dessous. Remarque: vous pouvez effectuer une recherche dans nano à l’aide de CTRL + W

Rechercher #write_enable=YES et décommentez en supprimant le signe#. Cela permettra aux utilisateurs FTP d’écrire des fichiers sur le serveur.

etc/vsftpd.,conf
write_enable=YES

Rechercher #chroot_local_user=YES et décommentez en supprimant le signe#. Cela empêchera les utilisateurs FTP de naviguer en dehors de leur propre répertoire.

etc/vsftpd.conf
chroot_local_user=YES

Rechercher #local_umask=022 et décommentez en supprimant le signe#. Cela donnera aux fichiers et dossiers téléchargés les autorisations correctes.

etc/vsftpd.conf
local_umask=022

Nous avons maintenant besoin d’ajouter des directives qui n’existent pas dans le fichier.,

puisque Linux n’affiche pas les fichiers commençant par un point, les fichiers comme .htaccess ne seront pas visibles dans FTP. Cela peut poser problème si vous avez l’intention d’utiliser Apache et que vous souhaitez travailler avec .htaccess.

pour forcer vsftpd à afficher les noms de fichiers commençant par un point, collez ce qui suit au bas du fichier. (Pour coller dans nano, appuyez sur le bouton droit de la souris)

etc / vsftpd.conf
force_dot_files=YES

enfin, ajoutons quelques plages de ports pour le FTP passif pour s’assurer que suffisamment de connexions sont disponibles. Collez ce qui suit au bas du fichier., (Pour coller dans nano, appuyez sur le bouton droit de la souris)

etc / vsftpd.conf
pasv_min_port=40000pasv_max_port=50000

Si vous avez suivi l’étape 4.2 précédemment et que vous souhaitez uniquement que cet utilisateur télécharge des fichiers dans le dossier home, nous devons dire à vsftpd que lelocal_rootest le/ftp

N’ajoutez pas ces deux lignes si vous voulez que l’utilisateur télécharge à la racine du document web!

etc/vsftpd.conf
user_sub_token=$USERlocal_root=/home/$USER/ftp

Nous avons fait avec vsftpd.conf pour le moment mais reviendra dans les étapes ultérieures pour configurer la sécurité et SSL.,

Pour enregistrer le fichier et quitter, appuyez sur la touche CTRL + X, appuyez sur la touche Y, puis appuyez sur la touche ENTER.

redémarrez vsftpd.

sudo systemctl restart vsftpd

Test FTP

Nous pouvons maintenant tester vsftpd pour voir si nous pouvons nous connecter en tant qu’utilisateur, nous avons créé plus tôt. Nous recommandons FileZilla, qui fonctionne sur Windows, Mac et Linux.

entrez L’adresse IP de votre serveur, votre nom D’utilisateur FTP et votre mot de passe que vous avez créés précédemment, puis cliquez sur Quickconnect.,

ci-dessus, nous pouvons voir que nous nous sommes connectés avec succès et que le répertoire racine webhtml est affiché, bien que cela puisse être différent sur votre serveur.

essayez de télécharger, de créer et de modifier des dossiers et des fichiers dans le répertoire racine web pour vous assurer que les autorisations fonctionnent correctement.

vous remarquerez que nous avons un avertissement dans FileZilla « statut: serveur non sécurisé, il ne prend pas en charge FTP sur TLS.” Il est fortement recommandé que vous configuriez maintenant TLS de sorte que les qualifications de connexion et le trafic soient chiffrés au-dessus de la connexion FTP.,

Si vous rencontrez des problèmes pour vous connecter au serveur FTP, essayez de vérifier le journal vsftpd. Pour afficher les 200 dernières entrées en utilisanttail:

sudo tail /var/log/vsftpd.log -n 200

FTP sécurisé avec TLS (facultatif)

Il est important de garder quelques éléments à l’esprit lors de L’utilisation de FTP – il n’est pas crypté par défaut, ce qui signifie que vos informations d’identification et Pour résoudre ce problème, vous devez vous connecter à vsftpd en utilisant FTPS (FTP sur SSL/TLS).

commençons par créer un nouveau certificat avec l’outilopenssl.,

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

il Vous sera demandé d’entrer dans certains détails, comme le pays, etc. Vous n’avez pas à remplir ces dans. Vous pouvez simplement appuyer sur ENTER pour les valeurs par défaut.

maintenant que votre clé privée a été créée, nous devons apporter quelques modifications au fichier de configuration vsftpd.

Ouvrez le fichier de config dans nano éditeur.

sudo nano /etc/vsftpd.conf

Trouver la ligne suivante: (Remarque: vous pouvez effectuer une recherche dans nano à l’aide de CTRL + W)

etc/vsftpd.,conf
ssl_enable=NO

le Modifier:

etc/vsftpd.conf
ssl_enable=YES

collez ce qui suit en dessous.

etc/vsftpd.conf

Enregistrez le fichier et quittez (appuyez sur la touche CTRL + X, appuyez sur la touche Y, puis appuyez sur la touche ENTER).

redémarrez vsftpd.

sudo systemctl restart vsftpd

Test TLS avec FileZilla

Nous pouvons maintenant tester le protocole TLS. Nous recommandons FileZilla, qui fonctionne sur Windows, Mac et Linux.,

entrez L’adresse IP de votre serveur, votre nom D’utilisateur FTP et votre mot de passe que vous avez créés précédemment, puis cliquez sur Quickconnect.

un avertissement de certificat inconnu peut vous être présenté. Cliquez sur Toujours faire confiance à ce certificat dans les sessions futures et cliquez sur OK.

Si vous êtes connecté sur TLS, il vous dira dans le journal de connexion. Vous verrez également un cadenas dans le coin inférieur droit.

Vous êtes tous fait!,

4.79 (42 voix)

Laissez-moi savoir si cela a aidé. Suivez-moi sur Twitter, Facebook et YouTube, ou buy achetez-moi un smoothie.

P. S. j’ai augmenté mes revenus AdSense de 68% en utilisant AI🤖. Lisez mon examen Ezoic pour savoir comment.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *