Meilleurs suppléments de vitamine E – Les meilleures marques de 10 examinées pour 2020
15 septembre 2020
Meilleurs suppléments de vitamine B1 – Les meilleures marques de 10 examinées pour 2020
15 septembre 2020

logo filezilla

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

Qu'est-ce que FTP?

Dans les temps anciens 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 fournie avec la plupart des principaux systèmes d'exploitation, les clients GUI comme FileZilla rendre le processus de déplacement de fichiers entre serveurs aussi simple que de glisser-déposer du stockage local vers le stockage distant, ou vice versa. Tout le trafic sous-jacent est géré via FTP.

Pour configurer cela, vous devez installer et configurer un serveur FTP, tel que 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 certaines 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 apte:

sudo apt-get install vsftpd

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

systemctl démarrer vsftpd
systemctl activer vsftpd

FTP a deux méthodes principales d'authentification:

  • 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 utilisateur local, qui permet à tout utilisateur de / etc / passwd pour accéder au FTP en utilisant un nom d'utilisateur et un mot de passe.

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

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

local_enable = OUI

Si vous souhaitez pouvoir télécharger des fichiers, modifiez write_enable à OUI ainsi que:

write_enable = OUI

Avec un redémarrage de vsftpd (systemctl redémarrer vsftpd), vous devriez maintenant pouvoir vous connecter au FTP en utilisant un client comme FileZilla ou la CLI sur votre machine personnelle.

Si vous souhaitez uniquement activer FTP pour des utilisateurs spécifiques, vous pouvez accéder à la liste blanche. S'ouvrir /etc/vsftpd.userlistet 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 = NON

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

Si vous ne voulez pas que les utilisateurs accèdent à des 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 = OUI

Redémarrer vsftpd avec systemctl redémarrer vsftpd pour appliquer les modifications.

Configuration de FTPS

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

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

openssl genrsa -des3 -out FTP.key

demande openssl -Nouveau -key FTP.key -out certificate.csr

vsftpd nécessite la suppression du mot de passe de cette clé, alors copiez la clé et renvoyez openssl:

cp FTP.key FTP.key.orig

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

Enfin, générez un certificat TLS à l'aide de cette clé:

openssl x509 -req-jours 365 -dans 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

Maintenant que tous les certificats sont configurés, vous pouvez à nouveau ouvrir /etc/vsftpd.confet ajoutez les lignes suivantes:

ssl_enable = OUI
allow_anon_ssl = OUI
ssl_tlsv1 = OUI
ssl_sslv2 = NON
ssl_sslv3 = NON
rsa_cert_file = / etc / pki / tls / certs / mycertificate.crt
rsa_private_key_file = / etc / pki / tls / certs / ftp.key
ssl_ciphers = HAUT
require_ssl_reuse = NON

Redémarrer vsftpd avec systemctl redémarrer vsftpd pour appliquer les modifications.

//]]>