GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ProFTPd avec le support TLS sur Ubuntu 15.10

FTP est un protocole très peu sûr 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é. Cet article explique comment configurer ProFTPd avec TLS sur un serveur Ubuntu 15.10, comment ajouter un utilisateur FTP et utiliser FileZilla pour se connecter en toute sécurité avec TLS.

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.

Étant donné que nous devons exécuter toutes les étapes de ce didacticiel avec les privilèges root, nous pouvons soit ajouter la chaîne sudo à toutes les commandes de ce didacticiel, soit nous devenons root dès maintenant en tapant

sudo su

J'utiliserai l'éditeur nano pour modifier les fichiers de configuration dans ce tutoriel. Si vous aimez également utiliser nano et que vous ne l'avez pas encore installé, exécutez cette commande pour installer nano.

apt-get install nano

2 Installer ProFTPd et OpenSSL

OpenSSL est requis par TLS ; pour installer ProFTPd et OpenSSL, nous lançons simplement :

apt-get install proftpd openssl

Une question vous sera posée :

Exécutez proftpd :<-- autonome

Pour des raisons de sécurité, vous devez ajouter les lignes suivantes à /etc/proftpd/proftpd.conf :

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]

La première option permet le chrootage des utilisateurs FTP dans leur répertoire personnel et la deuxième option active un message ServerIdent qui ne contient aucune information sur le logiciel, la version ou le système d'exploitation du serveur FTP utilisé afin qu'un attaquant potentiel n'obtienne pas ces détails sur l'argent plaque.

3 Créer le certificat SSL pour TLS

Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/proftpd/ssl, donc je crée d'abord ce répertoire :

mkdir /etc/proftpd/ssl

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

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.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.

et sécurisez les fichiers de certificat générés.

chmod 600 /etc/proftpd/ssl/proftpd.*

4 Activer TLS dans ProFTPd

Pour activer TLS dans ProFTPd, ouvrez /etc/proftpd/proftpd.conf...

nano /etc/proftpd/proftpd.conf

... et décommentez la ligne Include /etc/proftpd/tls.conf :

[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

Ouvrez ensuite /etc/proftpd/tls.conf et faites-le ressembler à ceci :

nano /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell       no
</IfModule>

Si vous utilisez TLSRequired on, 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 commentant cette ligne ou en utilisant TLSRequired off, les connexions TLS et non-TLS sont autorisées, selon ce que le client FTP prend en charge.

Redémarrez ensuite ProFTPd :

systemctl restart proftpd.service

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 TLSRequired sur) - voir le chapitre suivant pour savoir comment faire cela avec FileZilla.

Si vous rencontrez des problèmes avec TLS, vous pouvez consulter le fichier journal TLS /var/log/proftpd/tls.log.

5 Ajouter un utilisateur FTP

La configuration ProFTPD utilisée dans ce didacticiel authentifie les utilisateurs par rapport à la base de données des utilisateurs du système Linux (/etc/passwd et /etc/shadow). Dans cette étape, je vais ajouter un utilisateur "tom" à utiliser uniquement pour la connexion FTP.

useradd --shell /bin/false tom

Cela ajoutera l'utilisateur "tom" avec le shell /bin/false. Ce shell assure qu'il peut se connecter par FTP mais pas par SSH. Le répertoire personnel d'un utilisateur est /home/[USERNAME] par défaut, dans notre cas /home/tom. ProFTPD est configuré pour emprisonner l'utilisateur dans son répertoire personnel, afin qu'il ne puisse pas accéder aux fichiers système en dehors de /home/tom. Si vous souhaitez définir un répertoire personnel différent, utilisez la commande ci-dessous :

useradd --home /srv/tomftp --create-home --shell /bin/false tom

Cette commande définit un répertoire personnel différent, dans le cas de cet exemple, le répertoire /srv/tomftp pour l'utilisateur.

L'étape suivante consiste à définir un mot de passe pour l'utilisateur tom, exécutez la commande passwd :

passwd tom

Et entrez le nouveau mot de passe deux fois, lorsque vous y êtes invité.

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 site :

Sélectionnez le serveur qui utilise ProFTPd avec TLS ; dans le menu déroulant Type de serveur, sélectionnez FTPES au lieu de FTP normal :

Vous pouvez maintenant vous connecter au serveur, FileZilla vous demandera un mot de passe.

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 :

7 Télécharger cette configuration en tant que VM

La configuration décrite dans ce didacticiel est disponible en téléchargement pour les abonnés HowtoForge. La machine virtuelle prête à l'emploi au format OVA/OVF est compatible avec VMWare et Virtualbox.

Détails de connexion de la VM

La machine virtuelle a un utilisateur SSH avec le nom « administrateur » et le mot de passe « howtoforge ». Cet utilisateur SSH dispose des autorisations sudo.

Le mot de passe de l'utilisateur FTP "tom" est "tom".

L'adresse IP de la VM est 192.168.1.100, l'IP peut être changée dans le fichier /etc/network/interfaces.

Veuillez modifier les mots de passe de tous les utilisateurs avant d'utiliser la machine virtuelle en tant que système en direct.

  • ProFTPd :http://www.proftpd.org/
  • FileZilla :http://filezilla-project.org/
  • Ubuntu :http://www.ubuntu.com/

Ubuntu
  1. Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

  2. Comment installer Proftpd avec TLS sur Ubuntu 15.04

  3. Comment installer ProFTPd avec TLS sur OpenSuse 13.2

  4. Comment installer ProFTPD sur Ubuntu 14.04

  5. Comment installer ProFTPD sur Ubuntu 15.04

Comment installer ProFTPd avec le support TLS sur Ubuntu 15.04

Comment installer ProFTPD avec TLS sur CentOS 7.2

Comment installer le serveur VsFTPD avec TLS sur Ubuntu 18.04 LTS

Comment installer ProFTPD avec TLS sur Ubuntu 20.04 LTS

Comment installer ProFTPD sur Ubuntu 20.04

Comment installer Nginx avec Let's Encrypt TLS/SSL sur Ubuntu 20.04