Comment configurer un serveur FTP Linux pour les transferts de fichiers rapides

0
164

FTP, ou File Transfer Protocol, est un protocole standard pour l'envoi et la réception de fichiers à partir de serveurs distants. C'est plus facile à utiliser que les alternatives en ligne de commande comme scp, en particulier avec les interfaces graphiques comme FileZilla.

Qu'est-ce que FTP ?

< p>À l'époque d'Internet, les serveurs FTP publics étaient un moyen très courant de mettre des fichiers à la disposition d'un grand nombre de personnes. Aujourd'hui, FTP est toujours là et largement utilisé pour les tâches administratives.

Alors qu'une certaine forme de CLI FTP est livrée avec la plupart des principaux systèmes d'exploitation, les clients GUI comme FileZilla rendent le processus de déplacement de fichiers entre les serveurs aussi simple que le glisser-déposer du stockage local vers le stockage distant, ou vice versa. Tout le trafic sous-jacent est géré via FTP.

La configuration nécessite une installation et une configuration un serveur FTP, comme vsftpd, sur la machine distante à laquelle vous souhaitez accéder.

Il convient de noter que les utilisateurs connectés via FTP auront accès à votre système, tout comme vous. Vous pouvez prendre des mesures pour atténuer ces risques, telles que l'accès à la liste blanche et le verrouillage des utilisateurs dans leurs répertoires personnels.

Installation de vsftpd

Pour commencer, installez vsftpd à partir du gestionnaire de packages de votre distribution. Pour les systèmes basés sur Debian comme Ubuntu, cela proviendrait d'apt :

sudo apt-get install vsftpd Publicité

Ensuite, vous devrez démarrer le service et le configurer pour qu'il s'exécute au démarrage :

systemctl start vsftpd systemctl enable vsftpd

FTP a deux méthodes principales d'authentification :

    < li> FTP anonyme, où n'importe qui peut se connecter sans mot de passe. Ceci est utilisé pour le partage de fichiers publics et est désactivé par défaut.
  • Connexion d'utilisateur local, qui permet à tout utilisateur de /etc/passwd d'accéder à FTP à l'aide d'un nom d'utilisateur et d'un mot de passe.

Vous souhaiterez probablement activer la connexion de l'utilisateur local et désactiver l'accès anonyme. La connexion FTP à l'aide de votre compte utilisateur vous donnera accès à tout ce à quoi votre compte peut accéder.

Ouvrez /etc/vsftpd.conf dans votre éditeur de texte préféré et remplacez la ligne suivante par OUI :

local_enable=YES

Si vous souhaitez pouvoir télécharger des fichiers, changez également write_enable en YES :

write_enable=YES

Avec un redémarrage de vsftpd (systemctl restart vsftpd), vous devriez maintenant pouvoir pour vous connecter à FTP à l'aide d'un client tel que FileZilla ou de la CLI sur votre ordinateur personnel.

Publicité

Si vous souhaitez uniquement activer FTP pour des utilisateurs spécifiques, vous pouvez ajouter l'accès à la liste blanche. Ouvrez /etc/vsftpd.userlist et ajoutez les noms de chaque compte que vous souhaitez activer sur des lignes séparées.

nano /etc/vsftpd.userlist

Ensuite, ajoutez les lignes suivantes à /etc/vsftpd. conf :

userlist_enable=OUI userlist_file=/etc/vsftpd.userlist userlist_deny=NO

Cela limitera l'accès aux seuls utilisateurs définis dans le fichier userlist et refusera tous les autres.

Si vous ne voulez pas que les utilisateurs accèdent aux fichiers en dehors de leur répertoire personnel, vous pouvez les placer dans une prison chroot, ce qui les empêchera d'interagir avec les répertoires de niveau supérieur. Vous pouvez l'activer en décommentant la ligne suivante dans /etc/vsftpd.conf :

chroot_local_user=YES

Redémarrez vsftpd avec systemctl restart vsftpd pour appliquer les modifications.

Configuration de FTPS

Le trafic FTP standard est envoyé non crypté comme HTTP. Ce n'est évidemment pas génial, vous devez donc configurer vsftpd pour chiffrer le trafic avec TLS.

Pour ce faire, générez une nouvelle clé et signez une demande avec openssl :

openssl genrsa -des3 -out FTP.key openssl req -new -key FTP.key -out certificate.csr

vsftpd doit supprimer le mot de passe à partir de cette clé, alors copiez la clé et retransmettez-la à openssl :

cp FTP.key FTP.key.orig openssl rsa -in FTP.key.orig -out ftp.key

Enfin, générez un TLS certificat utilisant cette clé :

openssl x509 -req -days 365 -in certificate.csr -signkey ftp.key -out mycertificate.crt

Copiez la clé et le certificat dans /etc/pki/tls/certs/:

cp ftp.key /etc/pki/tls/certs/cp mycertificate.crt /etc/pki/tls/certs Publicité

Maintenant que tous les certs sont configurés, vous pouvez à nouveau ouvrez /etc/vsftpd.conf et ajoutez les lignes suivantes :

ssl_enable=YES allow_anon_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc__pki/my_certificate/certate /etc/pki/tls/certs/ftp.key ssl_ciphers=HIGH require_ssl_reuse=NO

Redémarrez vsftpd avec systemctl restart vsftpd pour appliquer le changements.