Installation et configuration d'un serveur FTP Linux. Configuration et utilisation d'un serveur FTP sous Ubuntu Linux Installation d'un serveur FTP Ubuntu

J'ai récemment écrit à ce sujet sur mon ordinateur. Ceci est très utile pour un webmaster, puisqu'en installant un tel serveur « maison », vous pouvez réaliser diverses expérimentations avec des sites de test ou simplement les développer.

Mais il y a un problème : si, par exemple, vous essayez de tels serveur local installez le même plugin dans wordpress, vous recevrez un refus : " Échec de la connexion au serveur FTP localhost :21"

Comme vous l'avez compris, vous devez installer et configurer un serveur FTP sur votre ordinateur afin d'installer des plugins. Comment installer le serveur FTP sur votre ordinateur Linux ?

Linux a beaucoup serveurs gratuits, j'en ai essayé plusieurs et j'ai opté pour vsftpd. Ce serveur est léger et facile à configurer.

1. Comment installer le serveur ftp vsftpd ?

Vous pouvez l'installer avec une seule commande :

Sudo apt-get install vsftpd

Après avoir installé le serveur, nous devons le configurer un peu. Mais d'abord, testons notre serveur ftp, entrez l'adresse suivante dans le navigateur : ftp://127.0.0.1/ Nous devrions voir ce qui suit :


Mais il ne suffit pas d’installer le serveur vsftpd, comme vous pouvez le constater, cela se fait simplement, il est important de configurer le serveur ftp. Mais c'est aussi facile à faire si vous suivez mon expérience.

2. Comment configurer le serveur ftp vsftpd ?

Pour accéder aux paramètres du serveur, saisissez la commande dans le terminal :

Sudo gedit /etc/vsftpd.conf

Nous supprimons tout de ce fichier et insérons ceci :

Listen=YES # effectuer un accès anonyme, avec autorisation d'écriture anonyme_enable=YES no_anon_password=YES anon_root=/ CHEMIN VERS LE DOSSIER AVEC LE SITE ! anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_umask=022 # autoriser l'entrée aux utilisateurs locaux avec autorisation en écriture dans les répertoires personnels local_enable=YES local_umask=022 write_enable=YES # placer les utilisateurs locaux dans leurs répertoires personnels, sinon l'utilisateur aura accès au racine du système. chroot_local_user=OUI chroot_list_enable=OUI # paramètres de journalisation xferlog_enable=OUI vsftpd_log_file=/var/log/vsftpd.log

Redémarrez le serveur FTP avec la commande :

Sudo /etc/init.d/vsftpd redémarrage

Oui, c'est quand même très important ! Le dossier contenant le site et tous les fichiers qu'il contient doivent disposer d'un accès 755 ; les droits d'écriture publics ne peuvent pas être accordés au dossier !

Vous pouvez installer une nouvelle version plus correcte du serveur en ajoutant :

Sudo add-apt-repository ppa:thefrontiergroup/vsftpd sudo apt-get update sudo apt-get install vsftpd

Après cela, accédez à la zone d’administration de WordPress et essayez d’installer un plugin. Il nous sera demandé de saisir l'adresse du serveur, le login et le mot de passe. Dans la ligne du serveur, nous écrivons 127.0.0.1 , et écrivez le login et le mot de passe - anonyme

Si vous obtenez l'erreur : Impossible de déterminer le répertoire de contenu WordPress (wp-content), alors vous devez insérer le code suivant à la fin du fichier wp-config.php :

Si (is_admin()) ( add_filter ("filesystem_method", create_function("$a", "return "direct";")); définir ("FS_CHMOD_DIR", 0751); )

Après cela, tout a fonctionné pour moi. La configuration du serveur vsftpd est donc terminée pour moi. C'est ainsi que vous pouvez installer et configurer le serveur ftp vsftpd sur votre ordinateur personnel.

Un tel serveur, bien entendu, ne sera pas très productif ; il ne s'agit pas d'un véritable serveur IBM HS23e sur disques SSD. Et si vous y donnez accès avec tous vos réseau local, votre ordinateur peut travailler assez dur, copiant constamment quelque chose.

Mais mon objectif est clair pour vous, mais ce n’est bien sûr pas le seul. Un serveur FTP sur votre ordinateur peut être utilisé à diverses fins, et le plus souvent réglages simples vous conviendra. Sinon, il existe de nombreux manuels sur Internet pour configurer ce serveur FTP. Bonne chance!

J'ajoute : il s'est avéré que dans mon cas, vous pouvez vous passer complètement de FTP. Il est plus facile de travailler via SSH et le plugin ssh-sftp-updater-support, qui ajoute le protocole SSH à WordPress. C'est beaucoup plus sûr et il n'est pas nécessaire de configurer un serveur FTP.


Vous n'avez pas trouvé la réponse à votre question ? Utilisez la recherche...

FTP (File Transfer Protocol) est un protocole réseau standard utilisé pour transférer des fichiers vers et depuis un réseau distant. Pour un transfert de données plus sécurisé et plus rapide, utilisez SCP.

Il existe de nombreux serveurs FTP open source disponibles pour Linux. Les plus populaires et les plus utilisés sont PureFTPd, ProFTPD et vsftpd. Dans cet article, nous allons installer vsftpd. Il s'agit d'un serveur FTP stable, sécurisé et rapide. Nous vous montrerons également comment configurer vsftpd pour restreindre l'accès des utilisateurs à leur répertoire personnel et crypter toutes les transmissions à l'aide de SSL/TLS.

Bien que cet article soit écrit pour Ubuntu 18.04, les mêmes instructions s'appliquent à Ubuntu 16.04 et à toute distribution basée sur Debian, notamment Debian, Linux Mint et Elementary OS.

Conditions préalables

Installation de vsftpd sur Ubuntu 18.04

Le package vsftpd est disponible dans les référentiels. Pour l'installer, exécutez simplement les commandes suivantes :

Sudo apt mise à jour sudo apt installer vsftpd

Le service vsftpd démarrera automatiquement une fois le processus d'installation terminé. Vérifiez-le en imprimant l'état du service :

Statut Sudo systemctl vsftpd

Le résultat ressemblera à ceci, indiquant que le service vsftpd est actif et en cours d'exécution :

* vsftpd.service - serveur FTP vsftpd Chargé : chargé (/lib/systemd/system/vsftpd.service ; activé ; préréglage du fournisseur : activé) Actif : actif (en cours d'exécution) depuis le lundi 15/10/2018 03:38:52 PDT ; il y a 10 minutes PID principal : 2616 (vsftpd) Tâches : 1 (limite : 2319) CGroup : /system.slice/vsftpd.service `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf

Configuration de vsftpd

Le serveur vsftpd peut être configuré en éditant le fichier /etc/vsftpd.conf. La plupart des paramètres sont documentés dans un fichier de configuration. Pour toutes les options disponibles, visitez la page officielle vsftpd.

Dans les sections suivantes, nous examinerons certains des paramètres importants nécessaires pour configurer une installation sécurisée de vsftpd.

Commencez par ouvrir le fichier de configuration vsftpd :

Sudo nano /etc/vsftpd.conf

1. Accès FTP

Nous autorisons uniquement les utilisateurs locaux à accéder au serveur FTP, trouvons les directives anonymes_enable et local_enable et vérifions que votre configuration correspond aux lignes suivantes :

/etc/vsftpd.conf

Anonymous_enable=NON local_enable=OUI

2. Activer le téléchargement

Décommentez le paramètre write_enable pour autoriser les modifications système de fichiers, comme le téléchargement et la suppression de fichiers.

/etc/vsftpd.conf

Write_enable=OUI

3. Chrooter

Pour empêcher les utilisateurs FTP d'accéder à des fichiers en dehors de leur répertoire personnel, décommentez le paramètre chroot.

/etc/vsftpd.conf

Chroot_local_user=OUI

Par défaut, pour éviter les failles de sécurité, lorsque le chroot est activé, vsftp refusera de télécharger des fichiers si le répertoire dans lequel les utilisateurs sont verrouillés est accessible en écriture.

  • Méthode 1.– La méthode recommandée pour autoriser les téléchargements consiste à activer le chroot et à configurer les répertoires FTP. Dans cet article, nous allons créer un répertoire ftp à l'intérieur de la maison de l'utilisateur qui servira de chroot et écrire un répertoire de téléchargement pour télécharger des fichiers.

    /etc/vsftpd.conf

    User_sub_token=$USER local_root=/home/$USER/ftp

  • Méthode 2. Une autre option consiste à ajouter la directive suivante au fichier de configuration vsftpd. Utilisez cette option si vous devez accorder un accès en écriture au répertoire personnel de votre utilisateur.

    /etc/vsftpd.conf

    Allow_writeable_chroot=OUI

4. Connexions FTP passives

vsftpd peut utiliser n'importe quel port pour les connexions FTP passives. Nous spécifierons une plage de ports minimale et maximale, puis ouvrirons la plage dans notre pare-feu.

Ajoutez les lignes suivantes au fichier de configuration :

/etc/vsftpd.conf

Pasv_min_port=30000 pasv_max_port=31000

5. Restreindre la connexion des utilisateurs

Pour autoriser uniquement certains utilisateurs à se connecter au serveur FTP, ajoutez les lignes suivantes à la fin du fichier :

/etc/vsftpd.conf

Userlist_enable=OUI userlist_file=/etc/vsftpd.user_list userlist_deny=NON

Lorsque cette option est activée, vous devez spécifier explicitement quels utilisateurs peuvent se connecter en ajoutant des noms d'utilisateur au fichier /etc/vsftpd.user_list (un utilisateur par ligne).

6. Assurer la transmission via SSL/TLS

Pour crypter les transferts FTP à l'aide de SSL/TLS, vous devez disposer d'un certificat SSL et configurer votre serveur FTP pour l'utiliser.

Vous pouvez en utiliser un signé par une autorité de certification de confiance ou créer un certificat auto-signé.

Si vous disposez d'un domaine ou d'un sous-domaine pointant vers l'adresse IP de votre serveur FTP, vous pouvez facilement créer un certificat SSL gratuit pour le cryptage.

Dans cet article, nous allons générer un certificat SSL auto-signé à l'aide de la commande openssl.

La commande suivante créera un 2048 bits clé privée et un certificat auto-signé valable 10 ans. La clé privée et le certificat seront enregistrés dans un seul fichier :

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

Maintenant que le certificat SSL a été créé, ouvrez le fichier de configuration vsftpd :

Sudo nano /etc/vsftpd.conf

Recherchez les directives rsa_cert_file et rsa_private_key_file, modifiez leur valeur pam dans le chemin du fichier et définissez la directive ssl_enable sur OUI :

/etc/vsftpd.conf

Rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=OUI

Sauf indication contraire, le serveur FTP utilisera uniquement TLS pour fournir des connexions sécurisées.

Redémarrez le service vsftpd

Une fois l'édition terminée, le fichier de configuration vsftpd (hors commentaires) devrait ressembler à ceci :

/etc/vsftpd.conf

Listen=NON Listen_ipv6=OUI anonyme_enable=NON local_enable=OUI write_enable=OUI dirmessage_enable=OUI use_localtime=OUI xferlog_enable=OUI connect_from_port_20=OUI chroot_local_user=OUI secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/et c/s sl / private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd. user_list userlist_deny=NON

Enregistrez le fichier et redémarrez le service vsftpd pour que les modifications prennent effet :

Sudo systemctl redémarrer vsftpd

Ouverture du pare-feu

Si vous utilisez un pare-feu UFW, vous devez autoriser le trafic FTP.

Pour ouvrir le port 21 (port de commande FTP), le port 20 (port de données FTP) et 30000-31000 (plage de ports passifs), exécutez les commandes suivantes :

Sudo ufw autorise 20:21/tcp sudo ufw autorise 30000:31000/tcp

Pour éviter le blocage, nous ouvrirons le port 22 :

Sudo ufw autorise OpenSSH

Rechargez les règles UFW en désactivant et réactivant UFW :

Sudo ufw désactive sudo ufw activé

Pour tester les modifications :

Statut Sudo ufw Statut : actif À l'action de -- ------ ---- 20:21/tcp AUTORISER N'importe où 30000:31000/tcp AUTORISER N'importe où OpenSSH AUTORISER N'importe où 20:21/tcp (v6) AUTORISER N'importe où (v6 ) 30000:31000/tcp (v6) AUTORISER N'importe où (v6) OpenSSH (v6) AUTORISER N'importe où (v6)

Création d'un utilisateur FTP

Pour tester notre serveur FTP, nous allons créer un nouvel utilisateur.

  • Si vous disposez déjà d'un utilisateur auquel vous souhaitez accorder un accès FTP, ignorez l'étape 1.
  • Si vous avez défini allow_writeable_chroot=YES dans votre fichier de configuration, ignorez l'étape 3.
  1. Créez un nouvel utilisateur nommé newftpuser : sudo adduser newftpuser
  2. Ajoutez l'utilisateur à la liste des utilisateurs FTP autorisés : echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
  3. Créez une arborescence de répertoires FTP et définissez les autorisations appropriées : sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser : /home/newftpuser /ftp

    Comme indiqué dans la section précédente, l'utilisateur pourra télécharger ses fichiers dans le répertoire ftp/upload.

Sur à l'heure actuelle votre serveur FTP est entièrement fonctionnel et vous devriez pouvoir vous connecter à votre serveur avec n'importe quel serveur pouvant être configuré pour utiliser le cryptage TLS, tel que FileZilla.

Désactiver l'accès au shell

Par défaut, lors de la création d'un utilisateur, sauf indication contraire explicite, l'utilisateur aura accès au serveur SSH.

Pour désactiver l'accès au shell, nous allons créer un nouveau shell qui imprimera simplement un message indiquant à l'utilisateur que son compte limité à l'accès FTP uniquement.

Créez un shell /bin/ftponly et rendez-le exécutable :

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

Ajoutez le nouveau shell à la liste des shells valides dans le fichier /etc/shells

Écho "/bin/ftponly" | sudo tee -a /etc/shells

Remplacez le shell de l'utilisateur par /bin/ftponly :

Sudo usermod newftpuser -s /bin/ftponly

Conclusion

Dans cet article, vous avez appris à installer et configurer un serveur FTP sécurisé et rapide sur votre système Ubuntu 18.04.

Original : Comment configurer et utiliser le serveur FTP sous Ubuntu Linux
Auteur : Lubos Rendek
Date de publication : 28 janvier 2013
Traduction : A. Krivoshey
Date de traduction : novembre 2013

1. Présentation

Presque tous les utilisateurs qui travaillent au moins parfois sur Internet ont rencontré FTP. Ce guide décrit en détail et étape par étape comment installer un serveur FTP dans Ubuntu-Linux. Nous vous montrerons comment l'installer en modes normal et hors ligne, et comment le sécuriser. Nous utiliserons un serveur FTP léger et efficace vsFTPd, conçu pour fonctionner sur des serveurs très chargés.

2. Accords

3. Qu'est-ce que FTP

Pour ceux qui ne connaissent pas FTP, vous trouverez ci-dessous une brève description de ses capacités. FTP signifie File Transfer Protocol. Le nom implique que ce protocole est utilisé pour transférer des fichiers ou des répertoires d'un hôte à un autre via un réseau - local ou via Internet.
Les principales fonctionnalités de vsFTPd : paramètres pour les IP virtuelles, les utilisateurs virtuels, les opérations réseau ou hors ligne, une large gamme paramètres personnalisés, régulant la bande passante du canal, définissant les limites IP, prenant en charge IPv6 et le cryptage (à l'aide de SSL).

4. Installer un serveur FTP dans Ubuntu

Comme toujours avec Ubuntu et les systèmes basés sur celui-ci, l'installation d'un serveur FTP se fait avec une seule commande. Ouvrez un terminal et saisissez :

$ sudo apt-get install vsftpd

Après avoir exécuté cette commande, le serveur sera installé et exécuté.

Configuration de vsftpd (2.3.5-1ubuntu2) ... démarrage/exécution de vsftpd, processus 1891

5. Modes de fonctionnement FTP normal et hors ligne

5.1. Mode hors ligne

Par défaut, vsftpd démarre dans mode hors ligne, dans lequel le service exécuté sur le serveur utilise son propre script de démarrage, appelé démon. Dans le cas de vsftpd, il s'agit de /etc/init.d/vsftpd. Ce démon autonome en prend le contrôle au démarrage du service FTP. Le démon vsftpd fournit à l'administrateur plusieurs commandes pour gérer le serveur FTP vsftpd :

commencer ou arrêt- utilisé pour démarrer ou arrêter le serveur ftp.
statut- affiche informations détaillées sur l'état actuel de votre serveur FTP.
redémarrage- Il s'agit d'une alternative à la séquence d'arrêt et de démarrage du serveur. Si le serveur est déjà arrêté, la commande restart le redémarrera.
recharger- cette commande permet de redémarrer et d'appliquer tous les nouveaux paramètres. Sa différence avec le redémarrage est que les nouveaux paramètres sont appliqués sans arrêter le serveur.
Pour démarrer, redémarrer et appliquer de nouveaux paramètres, utilisez l'utilitaire de service :

$ sudo service vsftpd démarrer

Cette syntaxe est utilisée pour exécuter toutes les commandes.

5.2. Mode normal

Une autre approche pour exécuter vsftpd consiste à utiliser le mode normal, dans lequel le superserveur xinetd est responsable de l'exécution du service. Pour démarrer le serveur vsftpd en mode normal, vous devez d'abord installer le superserveur xinetd :

$ sudo apt-get install xinetd

La commande ci-dessus installe et démarre le superserveur xinetd. Si vous l'avez déjà installé, cette commande n'est pas nécessaire. Ensuite, créez un fichier vsftpd dans le répertoire /etc/xinetd.d/ avec le contenu suivant :

Service ftp ( désactiver = pas de socket_type = stream wait = pas d'utilisateur = serveur racine = /usr/sbin/vsftpd per_source = 5 instances = 200 no_access = 10.1.1.10 banner_fail = /etc/vsftpd.busy log_on_success += DURÉE DE L'HÔTE PID log_on_failure + = HÔTE)

Dans le même temps, vous pouvez modifier n'importe laquelle des options pour personnaliser le super serveur en fonction de vos besoins.
Options auxquelles il convient de prêter attention :
serveur- entrez ligne de commande"$ which vsftpd" pour connaître le chemin correct.
aucun_accès- tous les hôtes avec des adresses IP spécifiées dans cette directive seront bloqués.
bannière_échec- ici vous pouvez spécifier le chemin vers fichier texte, dont le contenu sera affiché pour toutes les adresses IP bloquées.

Cette directive demandera au serveur FTP de n'ouvrir aucun port, les laissant entièrement au superserveur xinetd. Avant de démarrer normalement le serveur, assurez-vous que le démon vsftpd est désactivé :

$ sudo service vsftpd arrêt

Vous pouvez maintenant démarrer le serveur FTP en mode normal à l'aide de la commande :

Pour vous assurer que le serveur FTP fonctionne correctement, testez et ouvrez le port 21 à l'aide de la commande netstat :

$ netstat -ant | grep 21 tcp 0 0 0.0.0.0:21 0.0.0.0:* ÉCOUTER

6. Créez votre première connexion FTP

Que vous ayez démarré le serveur FTP en mode hors ligne ou en mode normal, vous pouvez créer votre première connexion FTP locale. Par défaut, vsftpd autorise l'accès hors ligne, donc lors de la création de notre première connexion de test, nous utiliserons anonyme comme nom d'utilisateur. Pour ce faire, entrez simplement commande ftp avec l'argument localhost :

$ftp localhost Connecté à localhost. 220 (vsFTPd 2.3.5) Nom (localhost:root) : anonyme 331 Veuillez spécifier le mot de passe. Mot de passe : 230 Connexion réussie. Le type de système distant est UNIX. Utiliser le mode binaire pour transférer des fichiers. ftp> ftp> quit 221 Au revoir.

Une connexion réussie confirme que le serveur FTP sur le système local est correctement configuré. Mais avant de passer à des paramètres plus détaillés, vous devez tester le serveur FTP depuis plusieurs hôtes distants.

7. Configuration d'un serveur FTP

Dans cette section, nous examinerons quelques exemples de base d'options de configuration vsftpd.

Remarque : lorsque vous apportez des modifications aux paramètres de votre serveur FTP, assurez-vous d'utiliser la commande redémarrer/recharger pour les activer.

7.1. Configuration de l'accès des utilisateurs

vsftpd permet de ne laisser que des accès anonymes, ou de permettre aux utilisateurs enregistrés dans le fichier /etc/passwd ou dans la liste correspondante de s'authentifier.

7.1.1. Accès FTP anonyme

Par défaut, le serveur FTP vsftpd est configuré pour un accès anonyme uniquement. Si c'est ce dont vous avez besoin, vous pouvez faciliter la vie des utilisateurs anonymes en désactivant l'exigence de mot de passe. L'option la plus sécurisée pour un serveur FTP est de ne pas autoriser les utilisateurs à s'authentifier avec un mot de passe en texte brut. Pour désactiver l'obligation pour les utilisateurs anonymes de saisir un mot de passe, définissez la directive no_anon_password sur « NO » dans le fichier de configuration /etc/vsftpd.conf :

No_anon_password=OUI

7.1.2. Accès des utilisateurs locaux via FTP

Votre serveur devrait maintenant refuser tout accès, à l'exception de l'utilisateur anonyme. Pour permettre à tous les utilisateurs spécifiés dans le fichier /etc/passwd de se connecter, vous devez modifier la valeur de la directive local_enable dans le fichier /etc/vsftpd.conf. Sa valeur par défaut est "NON".

Local_enable=OUI

Désormais, tout utilisateur spécifié dans le fichier /etc/passwd pourra se connecter en utilisant son mot de passe.

$ftp localhost Connecté à localhost. 220 (vsFTPd 2.3.5) Nom (localhost:root) : lubos 331 Veuillez spécifier le mot de passe. Mot de passe : 230 Connexion réussie. Le type de système distant est UNIX. Utiliser le mode binaire pour transférer des fichiers. ftp> quit 221 Au revoir.

7.1.3. Liste d'accès des utilisateurs

Tout d'abord, créons une liste d'accès utilisée par le serveur vsFTPd. Généralement, vous pouvez le définir dans le répertoire /etc/. Créez un fichier avec un nom personnalisé et répertoriez tous les utilisateurs auxquels vous souhaitez autoriser ou refuser l'accès. Par exemple, créons une nouvelle liste avec un seul utilisateur "lubos" :

Echo Lubos > /etc/vsftpd.userlist

Userlist_file=/etc/vsftpd.userlist userlist_enable=OUI

Cela refusera à tous les utilisateurs répertoriés dans le fichier /etc/vsftpd.userlist l'accès au serveur FTP.

$ftp localhost Connecté à localhost. 220 (vsFTPd 2.3.5) Nom (localhost:root) : lubos 530 Autorisation refusée. La connexion a échoué. ftp>

Pour autoriser l'accès à tous les utilisateurs répertoriés dans le fichier /etc/vsftpd.userlist, définissez la directive userlist_deny sur NON. Cela autorise uniquement l'accès aux utilisateurs répertoriés dans /etc/vsftpd.userlist. Chaque nom d'utilisateur dans ce fichier doit figurer sur une ligne distincte.

7.2. Changer le numéro de port

Par défaut, tout serveur FTP écoute le port standard 21 pour l'authentification des utilisateurs et le port 20 pour le transfert de données. vsFTPd ne fait pas exception. Pour modifier le port d'écoute par défaut, utilisez la directive Listen_port dans le fichier /etc/vsftpd.conf. Par exemple, pour changer le port en 2121, ajoutez simplement la directive suivante à votre fichier de configuration :

Port_écoute=2121

Redémarrez ensuite le serveur FTP.

Cependant, cela s'applique uniquement à vsFPTd exécuté en mode autonome. Si votre serveur FTP fonctionne normalement en utilisant le super serveur xinetd et que vous souhaitez changer le port par défaut en 2121, recherchez la ligne FTP dans le fichier /etc/services et remplacez 21 par 2121, puis redémarrez xinetd.

$ sudo service xinetd redémarrage

Maintenant, comme vous pouvez le constater, le serveur FTP écoute sur le port 2121 :

$ netstat -ant | grep 2121 tcp 0 0 0.0.0.0:2121 0.0.0.0:* ÉCOUTER

7.3. Autres options de configuration

Le serveur vsFTPd dispose de nombreuses options de configuration qui vous permettent de l'affiner en fonction de vos besoins. Vous trouverez ci-dessous une liste des options les plus importantes :

max_clients- cette option définit le nombre maximum d'utilisateurs utilisant simultanément le serveur FTP. 0 signifie un nombre illimité d'utilisateurs.
max_per_ip- définit le nombre maximum d'utilisateurs à partir d'une adresse IP.
télécharger_activer- si sa valeur est NON, toute demande de téléchargement sera rejetée.

8. Conclusion

Aujourd'hui, vsFTPd propose 125 options de configuration. Cela le rend très flexible à configurer et en même temps facile à utiliser et à administrer. Voulez-vous l'utiliser à la maison, dans réseau d'entreprise, ou sur un serveur distant, vous pouvez être sûr que vsFTPd répondra pleinement à vos besoins. De plus, vsFTPd vous permet d'activer sftp, mais nous aborderons ce problème la prochaine fois.

File Transfer Protocol (FTP) est un protocole TCP permettant de télécharger des fichiers entre ordinateurs. Dans le passé, il a également été utilisé pour le téléchargement, mais comme cette méthode n'utilise pas de cryptage, les informations d'identification des utilisateurs ainsi que les données transférées en clair sont facilement interceptées. Donc, si vous cherchez ici un moyen de télécharger et de télécharger des fichiers en toute sécurité, consultez plutôt la section sur OpenSSH dans l'administration à distance.

FTP fonctionne sur un modèle client/serveur. Le composant serveur est appelé un démon FTP. Il écoute en permanence les requêtes FTP des clients distants. Lorsqu'une demande est reçue, il gère la connexion et établit la connexion. Pendant la durée de la session, il exécute n'importe quelle commande envoyée par le client FTP.

L'accès à un serveur FTP peut être géré de deux manières :

En mode Anonyme, les clients distants peuvent accéder au serveur FTP en utilisant le compte utilisateur par défaut appelé « anonyme » ou « ftp » et en envoyant une adresse e-mail comme mot de passe. En mode Authentifié, un utilisateur doit disposer d'un compte et d'un mot de passe. Ce dernier choix est très peu sûr et ne doit être utilisé que dans des circonstances particulières. Si vous souhaitez transférer des fichiers en toute sécurité, consultez SFTP dans la section sur OpenSSH-Server. L'accès des utilisateurs aux répertoires et fichiers du serveur FTP dépend des autorisations définies pour le compte utilisé lors de la connexion. En règle générale, le démon FTP masquera le répertoire racine du serveur FTP et le remplacera par le répertoire FTP Home. Cela masque le reste du système de fichiers aux sessions distantes.

vsftpd - Installation du serveur FTP

vsftpd est un démon FTP disponible dans Ubuntu. Il est facile à installer, à configurer et à entretenir. Pour installer vsftpd, vous pouvez exécuter la commande suivante :

sudo apt installer vsftpd

Configuration FTP anonyme

Par défaut, vsftpd n'est pas configuré pour autoriser le téléchargement anonyme.

Si vous souhaitez activer le téléchargement anonyme, modifiez /etc/vsftpd.conf en modifiant :

anonyme_enable=Oui

Lors de l'installation, un utilisateur FTP est créé avec un répertoire personnel de /srv/ftp . Il s'agit du répertoire FTP par défaut.

Si vous souhaitez changer cet emplacement, en /srv/files/ftp par exemple, créez simplement un répertoire dans un autre emplacement et modifiez le répertoire personnel de l'utilisateur FTP : sudo mkdir /srv/files/ftp

sudo usermod -d /srv/files/ftp ftp

Après avoir effectué la modification, redémarrez vsftpd :

Enfin, copiez tous les fichiers et répertoires que vous souhaitez rendre disponibles via FTP anonyme vers /srv/files/ftp , ou /srv/ftp si vous souhaitez utiliser la valeur par défaut.

Par défaut, vsftpd est configuré pour authentifier les utilisateurs du système et leur permettre de télécharger des fichiers. Si vous souhaitez que les utilisateurs puissent télécharger des fichiers, éditez /etc/vsftpd.conf :

write_enable=OUI

Maintenant, redémarrez vsftpd :

sudo systemctl restart vsftpd.service

Désormais, lorsque les utilisateurs du système se connectent à FTP, ils démarrent dans leurs répertoires personnels où ils peuvent télécharger, télécharger, créer des répertoires, etc.

De même, par défaut, les utilisateurs anonymes ne sont pas autorisés à télécharger des fichiers sur le serveur FTP. Pour modifier ce paramètre, vous devez décommenter la ligne suivante et redémarrer vsftpd :

anon_upload_enable=OUI

L'activation du téléchargement FTP anonyme peut constituer un risque de sécurité extrême. Il est préférable de ne pas activer le téléchargement anonyme sur des serveurs accessibles directement depuis Internet.

Le fichier de configuration comprend de nombreux paramètres de configuration. Les informations sur chaque paramètre sont disponibles dans le fichier de configuration. Vous pouvez également vous référer à la page de manuel, man 5 vsftpd.conf pour plus de détails sur chaque paramètre.

Sécuriser FTP

Il existe des options dans /etc/vsftpd.conf pour contribuer à rendre vsftpd plus sécurisé. Par exemple, les utilisateurs peuvent être limités à leurs répertoires personnels en supprimant les commentaires :

chroot_local_user=OUI

Vous pouvez également limiter une liste spécifique d'utilisateurs à leurs répertoires personnels :

chroot_list_enable=OUI chroot_list_file=/etc/vsftpd.chroot_list

Après avoir décommenté les options ci-dessus, créez un /etc/vsftpd.chroot_list contenant une liste d'utilisateurs, un par ligne. Puis redémarrez vsftpd :

sudo systemctl restart vsftpd.service

De plus, le fichier /etc/ftpusers est une liste d'utilisateurs dont l'accès FTP est interdit. La liste par défaut inclut root, démon, personne, etc. Pour désactiver l'accès FTP pour des utilisateurs supplémentaires, ajoutez-les simplement à la liste.

FTP peut également être crypté à l'aide de FTPS. Différent de SFTP, FTPS est FTP sur Secure Socket Layer (SSL). SFTP est une session de type FTP sur une connexion SSH cryptée. Une différence majeure est que les utilisateurs de SFTP doivent disposer d'un compte shell sur le système, au lieu d'un shell nologin. Fournir un shell à tous les utilisateurs peut ne pas être idéal pour certains environnements, comme un hébergeur Web partagé. Cependant, il est possible de limiter ces comptes à SFTP uniquement et de désactiver l'interaction shell. Voir la section sur OpenSSH-Server pour en savoir plus.

Pour configurer FTPS, éditez /etc/vsftpd.conf et en bas ajoutez :

Notez également le certificat et clé options associées :

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Par défaut ces les options sont défini sur le certificat et la clé fournis par le package ssl-cert. Dans un environnement de production, ceux-ci doivent être remplacés par un certificat et une clé générés pour l'hôte spécifique. Pour plus d'informations sur les certificats, voir Certificats.

Redémarrez maintenant vsftpd , et les utilisateurs non anonymes seront obligés d'utiliser FTPS :

sudo systemctl restart vsftpd.service

Pour permettre aux utilisateurs disposant d'un shell de /usr/sbin/nologin d'accéder à FTP, mais n'ayant pas d'accès au shell, modifiez /etc/shells en ajoutant le shell nologin :

# /etc/shells : shells de connexion valides /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh / usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /usr/sbin/nologin

Ceci est nécessaire car, par défaut, vsftpd utilise PAM pour l'authentification et le fichier de configuration /etc/pam.d/vsftpd contient :

authentification requise pam_shells.so

Le module shells PAM restreint l'accès aux shells répertoriés dans le fichier /etc/shells.

Les clients FTP les plus populaires peuvent être configurés pour se connecter via FTPS. Le client FTP en ligne de commande lftp a également la possibilité d'utiliser FTPS.

Dans ce guide, nous vous expliquerons comment installer un serveur FTP sur un VPS exécutant le système d'exploitation Ubuntu. Nous utiliserons le serveur vsftpd, considéré comme le serveur FTP le plus rapide et le plus sécurisé pour les systèmes UNIX.

FTP ou F ile T transfert P. rotocol est un protocole de réception et de transmission de fichiers sur le réseau. Utilisant un modèle client/serveur et une sécurité SSL/TLS, FTP permet aux utilisateurs de partager des fichiers avec ordinateurs distants de manière sécurisée, efficace et fiable, en transférant des données via le protocole TCP/IP.

FTP fonctionne de manière similaire à HTTP ou SMTP, à la seule différence qu'il est responsable du transfert sécurisé des données d'un expéditeur à un destinataire, plutôt qu'une page Web d'un serveur à un utilisateur ou d'un courrier électronique sur Internet. Ce guide couvre la création d'un serveur FTP sur le système d'exploitation Versions d'Ubuntu 16.04.

Remarque : le guide actuel est basé sur la version 16.04 du système d'exploitation Ubuntu. Mais vous pouvez appliquer les mêmes étapes pour créer un serveur FTP sur Ubuntu 14.04.

Tout d’abord, mettons à jour tous les packages avant d’installer le démon vsftpd. Pour ce faire, exécutez la commande :

Sudo apt-get mise à jour

Attendez que tous les processus soient terminés et vous verrez un message de confirmation :

Installez ensuite le démon vsftpd avec la commande suivante :

Sudo apt-get install vsftpd

Vous recevrez une notification demandant une confirmation, cliquez sur Oui Et Entrer pour continuer l'installation.

Une fois l'installation terminée, nous ferons une sauvegarde fichier original configuration pour démarrer avec un fichier de paramètres propre :

Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Nous pouvons maintenant passer à l'étape suivante et configurer le pare-feu.

Étape 2 – Autoriser le trafic FTP sur le pare-feu

Pour permettre à un serveur FTP déployé sur le système d'exploitation Ubuntu de communiquer avec le monde extérieur, vous devez configurer un chemin à travers le pare-feu. Voyons d’abord si le pare-feu est activé. Exécutez la commande suivante pour déterminer l'état :

Statut Sudo ufw

Si vous voyez un message comme celui-ci :

Ufw:commande pas trouvé

Cela signifie que le pare-feu n'est pas installé et vous pouvez passer à l'étape suivante.

Si la sortie affiche des règles ou un message indiquant que le pare-feu est actif, vous devez déterminer comment il traitera le trafic FTP. Faisons ce qui suit : ouvrez les ports 20 et 21 pour le trafic FTP ; les ports 40 000 à 50 000 seront réservés en tant que plage de ports passifs qui seront éventuellement définis dans le fichier de configuration ; le port 990 sera utilisé lorsque TLS est activé. Exécutons les commandes suivantes :

Sudo ufw autorise 20/tcp sudo ufw autorise 21/tcp sudo ufw autorise 990/tcp sudo ufw autorise 40000:50000/tcp

Voyons maintenant le statut :

Le résultat ressemblera à ceci :

État de sortie : actif À l'action de -- -- -- -- -- -- 990 / tcp ALLOW Anywhere 20 / tcp ALLOW Anywhere 21 / tcp ALLOW Anywhere 40000 : 50000 / tcp ALLOW Anywhere 20 / tcp (v6) ALLOW Anywhere ( v6) 21 / tcp (v6) AUTORISER N'importe où (v6) 990 / tcp (v6) AUTORISER N'importe où (v6) 40000 : 50000 / tcp (v6) AUTORISER N'importe où (v6)

Désormais, tous les ports nécessaires sont ouverts et disponibles et nous pouvons passer à l’étape suivante.

Étape 3 – Créer un répertoire d'utilisateurs

Dans la troisième étape de création d'un serveur FTP Ubuntu, vous devez sélectionner un utilisateur qui se connectera via FTP. Pour ce faire, créez un nouvel utilisateur en exécutant la commande suivante :

sudo adduser alex

Remplissez le mot de passe et d'autres détails lorsque vous y êtes invité. Idéalement, du point de vue de la sécurité, FTP devrait être limité à un répertoire spécifique. Vsftpd utilise chroot pour créer cette protection. Avec chroot activé, l'utilisateur local est limité à son répertoire personnel (par défaut). Cependant, il se peut qu'en raison de la sécurité de vsftpd, l'utilisateur ne puisse rien créer dans le répertoire. Nous ne supprimons pas les autorisations d'écriture du répertoire personnel, mais nous allons créer un répertoire ftp qui se comportera comme un chroot tout en restant accessible en écriture, permettant ainsi le stockage des fichiers. Utilisez cette commande pour créer le répertoire FTP :

sudo mkdir /home/alex/ftp

Définir la propriété :

sudo chown personne : nogroup /home/alex/ftp

Enfin, supprimez les autorisations d'écriture :

sudo chmod a - avec home/alex/ftp

Maintenant, à l'aide de la commande suivante, vérifiez les autorisations :

sudo ls - la /home/alex/ftp

En sortie, nous verrons quelque chose comme ceci :

total 8 dr - xr - xr - x 2 personne nogroup 4096 29 juin 11:32.

drwxr - xr - x 3 alex alex 4096 29 juin 11:32 . .

Dans l'étape suivante, nous créerons un fichier contenant les répertoires et leurs autorisations :

sudo mkdir /home/alex/ftp/files sudo chown alex : alex /home/alex/ftp/files

Et enfin, ajoutons un fichier de test au répertoire que nous utiliserons pour tester quelque chose :

echo "exemple de fichier vsftpd" |

sudo tee /home/alex/ftp/files/sample. SMS Étape 4 – Configuration de vsftpd Pour continuer l'installation du serveur FTP sur Ubuntu VPS, nous devons configurer vsftpd et notre accès FTP. Dans ce tutoriel, nous allons permettre à un utilisateur de se connecter via FTP en utilisant console locale. La configuration en deux étapes requise à cet effet est déjà installée dans le fichier de configuration (

vsftpd.conf ). Tout d’abord, vérifiez que les paramètres du fichier correspondent à ceux répertoriés ci-dessous : sudo nano /etc/vsftpd. conf. ..

# Autoriser le FTP anonyme ? (Désactivé par défaut). # anonyme_enable = NON # # Décommentez ceci pour permettre aux utilisateurs locaux de se connecter.:

local_enable = OUI .

.

.

Dans le même fichier, continuons à supprimer allumerécrire_activer

.

.

.

write_enable = OUI .

.

. Nous décommenterons également Chroot pour nous assurer que l'utilisateur se connectant via FTP a accès aux fichiers contenus dans le répertoire autorisé : est responsable de la logique de commutation, lorsqu'il est réglé sur « NON », seuls les utilisateurs figurant dans la liste y ont accès. Une fois terminé, cliquez sur CTRL+X et confirmez l'enregistrement des modifications dans le fichier.

Enfin, continuons à créer et à ajouter notre utilisateur au fichier :

écho "alex" |

sudo tee - a /etc/vsftpd . liste d'utilisateurs

Vérifions que l'utilisateur est bien actif en exécutant la commande :

chat /etc/vsftpd. liste d'utilisateurs La conclusion devrait être « Alex

», comme le montre la capture d'écran :

Redémarrez le démon à l'aide de la commande suivante pour lancer les modifications des paramètres :

sudo systemctl redémarrer vsftpd

Étape 5 – Créer un FTP sécurisé

Par défaut, FTP n'effectue aucun cryptage des données, nous utiliserons donc TLS/SSL pour assurer la sécurité. Dans un premier temps, nous devons créer un certificat SSL et l'utiliser pour sécuriser notre serveur FTP Ubuntu. Tout d'abord, exécutons la commande suivante :

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

rend le certificat valable un an et nous incluons la clé privée RSA de 2048 bits dans la même commande. Lorsque vous êtes invité à fournir les informations requises, saisissez-les dans le champ prévu à cet effet.

Sudo nano /etc/vsftpd.conf

Après avoir créé le certificat, ouvrez à nouveau le fichier de configuration : A la fin du fichier il y a une ligne avec " _rsa

" Commentez ces deux lignes :

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Au lieu de cela, nous ferons pointer le fichier de configuration vers le certificat que nous avons créé. Ajoutez ces lignes :

Rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem Nous allons maintenant activer SSL et nous assurer que seuls les utilisateurs avec SSL activé peuvent nous contacter. Changer la valeur ssl_activer sur:

OUI

ssl_enable = OUI

Ajoutez maintenant les lignes suivantes pour continuer à créer la sécurité (cela empêchera toute connexion anonyme utilisant SSL) :

Allow_anon_ssl=NON force_local_data_ssl=OUI force_local_logins_ssl=OUI

Configurez TLS en utilisant :

Ssl_tlsv1=OUI ssl_sslv2=NON ssl_sslv3=NON

Ici, nous ajouterons 2 options supplémentaires. Premièrement, la réutilisation de SSL ne sera pas nécessaire car cela pourrait provoquer des pannes pour un grand nombre de clients. Deuxièmement, nous utiliserons un code de cryptage hautement sécurisé, ce qui signifie que la longueur de la clé est égale (ou supérieure) à 128 bits.

Require_ssl_reuse=NON ssl_ciphers=ÉLEVÉ

Sudo systemctl redémarrer vsftpd

Merveilleux! Vous avez donc configuré le serveur FTP sur votre VPS Ubuntu pour qu'il fonctionne avec le protocole SSL/TLS.

Étape 6 – Vérification de la connexion à l'aide de FileZilla

Aujourd'hui, les clients FTP prennent en charge la configuration du cryptage TLS, c'est donc une excellente occasion de vérifier si notre serveur FTP Ubuntu fonctionne comme il se doit. Pour tester la connexion, nous utiliserons . Pour commencer, lancez FileZilla en cliquant sur l'icône Gestionnaire de sites.

Cliquez sur le bouton Nouveau site dans la fenêtre qui apparaît, commencez à remplir les informations sur le serveur FTP Ubuntu.

Remplissez les champs obligatoires avec des informations sur votre serveur FTP Ubuntu nouvellement créé. Puisque nous l'avons configuré en utilisant TLS, nous pouvons vérifier le paramètre de cryptage dans " FTP explicite sur TLS » position. La fenêtre des paramètres finaux ressemble à ceci :

Une fois configuré, appuyez sur Connecter et une fenêtre apparaîtra vous demandant de saisir le mot de passe de l'utilisateur FTP.

Enfin, vous devrez vérifier le certificat SSL sur votre serveur FTP sur Ubuntu VPS.

Après confirmation, le répertoire racine contenant le fichier de test apparaîtra sur votre écran.

C'est tout ! Vous pouvez désormais effectuer n'importe quel transfert de fichiers depuis votre ordinateur vers le serveur FTP Ubuntu et inversement.

Conclusion

Dans ce didacticiel, nous avons parcouru étape par étape la création d'un moyen sécurisé permettant à un utilisateur local de transférer des fichiers via FTP avec SSL/TLS sur un serveur FTP Ubuntu. Nous avons également testé les connexions à l'aide de FileZilla pour nous assurer que tout fonctionnait.



2024 wisemotors.ru. Comment cela marche-t-il. Fer. Exploitation minière. Crypto-monnaie.