GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ProFTPD avec TLS sur Ubuntu 20.04 LTS

Le transfert de fichiers via FTP (File Transfer Protocol) est probablement encore l'un des moyens les plus populaires de télécharger des fichiers sur un serveur. ProFTPD est un serveur FTP populaire et polyvalent disponible en tant que logiciel open source et prenant en charge TLS (SSL) pour des connexions sécurisées.

Par défaut, FTP est un protocole non sécurisé car les mots de passe et les données sont transférés en texte clair. En utilisant TLS, comme nous le faisons dans ce guide, toutes les communications peuvent être cryptées, ce qui rend le FTP plus sécurisé.

Cet article décrit comment configurer proftpd avec TLS sur le serveur Ubuntu 20.04 LTS .

Prérequis

  1. Serveur Ubuntu 20.04 64 bits
  2. privilèges sudo/root

Ce que nous allons faire dans ce tutoriel

  1. Installez ProFTPD et TLS.
  2. Configurer ProFTPD.
  3. Ajouter un utilisateur FTP.
  4. Configurer TLS dans ProFTPD.
  5. Test.

Installer Proftpd et OpenSSL

Proftpd et OpenSSL sont disponibles dans le référentiel Ubuntu, nous pouvons donc les installer avec la commande apt :

sudo apt-get install -y proftpd openssl

ProFTPD est installé comme indiqué ci-dessous. Le processus d'installation ne demandera aucune entrée.

Nous allons maintenant vérifier que proFTPD a été installé et démarré. Exécutez cette commande :

sudo proftpd --version

pour vérifier la version de ProFTPD installée. Ensuite, nous allons vérifier l'état du service, l'interroger avec la commande systemctl :

sudo systemctl status proftpd

Configurer ProFTPD

Une fois ProFTPD installé, vous devrez ajuster la configuration pour en faire un serveur entièrement fonctionnel et sécurisé. Le fichier de configuration ProFTPD se trouve dans le répertoire /etc/proftpd/ – éditez le fichier proftpd.conf.

sudo nano /etc/proftpd/proftpd.conf

Dans la ligne Servername, remplacez la valeur par votre hostname ou domaine :

ServerName                      "My FTP-Server"

Décommentez la ligne DefaultRoot pour activer jail pour tous les utilisateurs :

DefaultRoot   		~

et redémarrez ProFTPD via la commande systemctl de la manière suivante.

sudo systemctl restart proftpd

Ajouter un utilisateur FTP

Il existe deux types d'utilisateurs FTP disponibles, l'utilisateur FTP anonyme et les utilisateurs FTP "normaux" :

  1. FTP anonyme  :  Le serveur FTP permet d'accéder à n'importe qui sans avoir besoin d'un compte d'utilisateur et d'un mot de passe. Cela ne doit pas être utilisé sur un serveur accessible au public, mais peut être une option pour un serveur domestique ou un réseau local d'entreprise.
  2. Utilisateur FTP :Seuls ceux qui ont un compte utilisateur et un mot de passe peuvent accéder au serveur FTP.

Avant de créer un utilisateur pour le serveur FTP, veuillez ajouter /bin/false à votre fichier /etc/shells.

sudo echo "/bin/false" >> /etc/shells

Et maintenant, créez un utilisateur avec un répertoire personnel spécifique, désactivez l'accès au shell, puis accordez-le au serveur FTP.

sudo useradd -m -s /bin/false tom
sudo passwd tom

La commande ci-dessus créera un nouvel utilisateur appelé tom avec le répertoire personnel /home/tom/ et sans accès au shell /bin/false.

Maintenant, configurez ProFTPD pour autoriser l'accès de l'utilisateur tom au serveur FTP.

sudo nano /etc/proftpd/conf.d/tom.conf

Ajoutez ce fichier de configuration pour permettre à l'utilisateur tom de se connecter et de charger/télécharger le fichier vers/depuis le serveur :

<Directory /home/tom>
  Umask 022 022
  AllowOverwrite off
  <Limit LOGIN>
    AllowUser tom
    DenyALL
  </Limit>
  <Limit ALL>
    Order Allow,Deny
    AllowUser tom
    Deny ALL
  </Limit>
  <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
    AllowUser tom
    Deny ALL
  </Limit>
</Directory>

Le fichier doit ressembler à ceci :

Enregistrez le fichier et quittez nano. Redémarrez ensuite ProFTPD.

sudo systemctl restart proftpd

Vous pouvez déjà utiliser FTP à ce stade, mais nous le rendrons plus sûr en utilisant TLS à l'étape suivante.

Configurer TLS avec proftpd

Pour utiliser TLS, vous devez créer un certificat SSL. Générez un certificat SSL avec la commande OpenSSL :

sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

La commande ci-dessus générera un fichier de certificat proftpd.crt dans le répertoire /etc/ssl/certs/ et un fichier de clé de certificat proftpd.key dans le répertoire /etc/ssl/private/.

Ensuite, modifiez l'autorisation du fichier de certificat sur 600 :

sudo chmod 600 /etc/ssl/certs/proftpd.crt
sudo chmod 600 /etc/ssl/private/proftpd.key

Maintenant, revenez au répertoire /etc/proftpd et configurez ProFTPD pour utiliser le certificat SSL que vous avez généré.

nano /etc/proftpd/proftpd.conf

Décommentez la ligne TLS :

Include /etc/proftpd/tls.conf

Enregistrez le fichier tls.conf et quittez.

Modifiez ensuite le fichier de configuration TLS pour activer l'authentification sécurisée :

nano /etc/proftpd/tls.conf

Décommentez toutes ces lignes :

TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv23

TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key

TLSOptions                      NoCertRequest EnableDiags NoSessionReuseRequired

TLSVerifyClient                         off

TLSRequired                             on

Sauvegarder et quitter. La dernière étape consiste à redémarrer le serveur ProFTPD :

sudo systemctl restart proftpd

Test ProFTPD

Pour tester la configuration, essayez de vous connecter à votre serveur FTP avec un logiciel comme FileZilla (j'utilise FileZilla ici), et renseignez l'adresse IP, le nom d'utilisateur, le mot de passe et le port du serveur :

Server IP : 192.168.0.100
username : tom
Password ******
Port : 21

Et puis cliquez sur Quickconnect.

Cliquez sur "OK" pour confirmer notre certificat SSL auto-signé.

Vous verrez que vous êtes connecté au serveur FTP avec un certificat TLS/SSL.

Liens

  • Le projet logiciel ProFTPD. Lien

Ubuntu
  1. Comment installer Proftpd avec TLS sur Ubuntu 15.04

  2. Comment installer ProFTPd avec le support TLS sur Ubuntu 15.10

  3. Comment installer ProFTPD avec TLS sur Ubuntu 18.04 LTS

  4. Comment installer ProFTPD sur Ubuntu 15.04

  5. Comment installer ProFTPD sur Ubuntu 20.04 LTS

Comment installer WordPress avec Docker sur Ubuntu 16.04 LTS

Comment installer Go sur Ubuntu 18.04 LTS

Comment installer Vsftpd sur Ubuntu 18.04 LTS

Comment installer Go sur Ubuntu 20.04 LTS

Comment installer le serveur FTP sur Ubuntu 20.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 20.04 LTS