GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et configurer vsftpd avec TLS sur Debian 8 (Jessie)

Cet article explique comment configurer un serveur vsftpd compatible TLS sur un serveur Debian 8 et comment accéder au serveur FTP avec FileZilla. FTP est un protocole très peu sécurisé par défaut car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être cryptée, ce qui rend le FTP beaucoup plus sécurisé.

1 Remarque préliminaire

Dans ce tutoriel, j'utiliserai le nom d'hôte server1.example.com avec l'adresse IP 192.168.1.100. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant. J'utilise la configuration minimale du serveur Debian 8 comme base pour ce didacticiel.

2 Installation de vsftpd et OpenSSL

OpenSSL est requis par TLS ; pour installer vsftpd et OpenSSL, nous exécutons simplement :

apt-get -y install vsftpd openssl

3 Création du certificat SSL pour TLS

Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private - si le répertoire n'existe pas, créez-le maintenant ::

mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private

Ensuite, nous pouvons générer le certificat SSL comme suit :

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

Nom du pays (code à 2 lettres) [AU] :<-- Saisissez le nom de votre pays (par exemple, "DE").
Nom de l'État ou de la province (nom complet) [Some-State] :<-- Saisissez votre état ou Nom de la province.
Nom de la localité (par exemple, ville) [] :<-- Entrez votre ville.
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] :<-- Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l'unité organisationnelle (par exemple, section) [] :<-- Saisissez le nom de votre unité organisationnelle (par exemple, "Service informatique").
Nom commun (par exemple, VOTRE nom) [] :<-- Saisissez le nom de domaine complet du système (par exemple, "serveur1.exemple.com").
Adresse e-mail [] :<-- Saisissez votre adresse e-mail.

4 Activation de TLS dans vsftpd

Pour activer TLS dans vsftpd, ouvrez /etc/vsftpd.conf...

nano /etc/vsftpd.conf

... et ajoutez ou modifiez les options suivantes :

[...]

# Turn on SSL ssl_enable=YES # Allow anonymous users to use secured SSL connections allow_anon_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to # send and receive data on data connections. force_local_data_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to send the password. force_local_logins_ssl=YES # Permit TLS v1 protocol connections. TLS v1 connections are preferred ssl_tlsv1=YES # Permit SSL v2 protocol connections. TLS v1 connections are preferred ssl_sslv2=NO # permit SSL v3 protocol connections. TLS v1 connections are preferred ssl_sslv3=NO # Disable SSL session reuse (required by WinSCP) require_ssl_reuse=NO # Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla) ssl_ciphers=HIGH # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/private/vsftpd.pem [...]

Si vous utilisez force_local_logins_ssl=YES et force_local_data_ssl=YES, seules les connexions TLS sont autorisées (cela verrouille tous les utilisateurs avec d'anciens clients FTP qui ne prennent pas en charge TLS); en utilisant force_local_logins_ssl=NO et force_local_data_ssl=NO, les connexions TLS et non-TLS sont autorisées, selon ce que le client FTP prend en charge.

Outre les options TLS, assurez-vous que vous disposez également des paramètres suivants dans votre vsftpd.conf pour activer les connexions non anonymes :

[...]
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022

[...]

Redémarrez vsftpd ensuite :

service vsftpd restart

C'est ça. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP; cependant, vous devez configurer votre client FTP pour utiliser TLS (ceci est indispensable si vous utilisez force_local_logins_ssl=YES et force_local_data_ssl=YES) - voir le chapitre suivant pour savoir comment faire cela avec FileZilla.

5 vsftpd ajouter un utilisateur

Dans cette étape, nous ajouterons un utilisateur Linux local auquel nous pourrons nous connecter. Je vais créer un utilisateur "till" avec le mot de passe "howtoforge". Tous les utilisateurs FTP doivent avoir leur répertoire personnel dans mkdir /var/ftproot, je vais donc d'abord créer ce répertoire.

mkdir /var/ftproot

Ajoutez ensuite l'utilisateur avec la commande :

adduser --home /var/ftproot/till till

La commande adduser demandera le mot de passe de l'utilisateur et quelques autres détails

[email protected]:/# adduser --home /var/ftproot/till till
Adding user `till' ...
Adding new group `till' (1001) ...
Adding new user `till' (1001) with group `till' ...
Creating home directory `/var/ftproot/till' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <-- Enter the new password here
Retype new UNIX password: <-- Enter the new password here
passwd: password updated successfully
Changing the user information for till
Enter the new value, or press ENTER for the default
Full Name []: <-- Enter your name here or press enter to skip
Room Number []: <-- Enter room number here or press enter to skip
Work Phone []: <-- Enter work phone here or press enter to skip
Home Phone []: <-- Enter home phone here or press enter to skip
Other []: <-- Enter Other user details here or press enter to skip
Is the information correct? [Y/n] <-- Y

Nous avons réussi à ajouter un utilisateur FTP.

6 Configuration de FileZilla pour TLS

Pour utiliser FTP avec TLS, vous avez besoin d'un client FTP prenant en charge TLS, tel que FileZilla.

Dans FileZilla, ouvrez le gestionnaire de serveur :

Saisissez l'adresse IP ou le nom d'hôte du serveur FTP dans le champ du serveur, sélectionnez le protocole "FTP" et "Require Explicit FTP over TLS", et saisissez le nom d'utilisateur dans le champ de l'utilisateur.

Vous pouvez maintenant vous connecter au serveur. Si vous le faites pour la première fois, vous devez accepter le nouveau certificat SSL du serveur :

Si tout se passe bien, vous devriez maintenant être connecté sur le serveur :

  • vsftpd :https://security.appspot.com/vsftpd.html
  • FileZilla :http://filezilla-project.org/
  • Debian :http://www.debian.org/

Debian
  1. Comment installer et configurer ZFS sur Linux avec Debian Jessie 8.1

  2. Comment installer le serveur FTP vsftpd et le sécuriser avec TLS sur Debian 11

  3. Comment installer et configurer docker sur Debian 11

  4. Comment installer et configurer Mariadb 10 dans Debian 11

  5. Comment installer et configurer MongoDB 5 sur Debian 11

Comment installer et configurer Tripwire IDS sur Debian 10

Comment installer et configurer RabbitMQ sur Debian 11

Comment installer TYPO3 7 avec Nginx et MariaDB sur Debian 8 (Jessie)

Comment installer le serveur FTP vsftpd avec TLS sur Debian 10

Comment installer et configurer Git dans Debian 11

Comment installer et configurer Apache sur Debian 11 ?