GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Proftpd avec TLS sur Ubuntu 15.04

FTP (File Transfer Protocol) est probablement la méthode la plus populaire pour télécharger des fichiers sur un serveur. ProFTPD est un serveur FTP populaire et facile à configurer pour les systèmes Linux qui prend en charge le cryptage SSL/TLS.

FTP est un protocole non sécurisé car tous les mots de passe et toutes les données sont transférés en clair (en texte brut). En utilisant TLS, toute la communication peut être cryptée, faisant ainsi de FTP un protocole sûr pour transférer des fichiers. Cet article décrit comment configurer proftpd avec TLS dans le serveur Ubuntu 15.04 .

Prérequis

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

Ce que nous allons faire dans ce didacticiel :

  1. Installer Proftpd et OpenSSL
  2. Configurer Proftpd
  3. Configurer l'utilisateur
  4. Configurer TLS avec proftpd
  5. Test

Installer Proftpd et OpenSSL

Proftpd et OpenSSL sont disponibles dans le référentiel Ubuntu et peuvent être installés avec la commande apt. Comme d'habitude avec les commandes d'installation, nous exécutons la commande apt via sudo pour l'exécuter avec les privilèges root :

sudo apt-get install -y proftpd openssl

Lorsque l'installation commence, il vous sera demandé si vous souhaitez exécuter Proftpd en tant que service inetd ou autonome. Choisissez l'option autonome ici, puis OK.

Configurer Proftpd

Une fois Proftpd installé, vous devrez modifier certains fichiers de configuration. Le fichier de configuration Proftpd se trouve dans le répertoire /etc/proftpd/. Je vais modifier le fichier proftpd.conf avec l'éditeur nano.

cd /etc/proftpd/
nano proftpd.conf

Sur la ligne ServerName, remplacez le nom par votre nom d'hôte ou votre domaine :

ServerName                      "myhostname"

Décommenter DefaultRoot :

# Use this to jail all users in their homes
DefaultRoot   		~

et redémarrez Proftpd :

systemctl restart proftpd

Ajouter un utilisateur FTP

Il existe deux manières courantes d'accéder à un serveur FTP :

1.FTP anonyme , le serveur FTP donne accès à n'importe qui sans avoir besoin d'un compte utilisateur et d'un mot de passe.
2. Accès avec nom d'utilisateur et mot de passe , seuls les utilisateurs disposant d'un compte utilisateur et d'un mot de passe peuvent accéder au serveur FTP.

Je vais configurer l'option 2 ici. Le FTP anonyme a été populaire au début de l'ère Internet, mais aujourd'hui, il y aurait tellement d'utilisation abusive des serveurs FTP anonymes que cette option n'est utilisable que dans des environnements fermés comme un réseau domestique ou d'entreprise.

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

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

et maintenant vous allez créer un utilisateur avec un répertoire d'accueil auquel il aura accès par FTP. Je vais désactiver l'accès au shell pour cet utilisateur en lui attribuant le shell "/bin/false" pour m'assurer qu'il ne peut pas se connecter par SSH. Mon nom d'utilisateur s'appelle "yuuki", veuillez remplacer yuuki par votre nom d'utilisateur dans la commande suivante.

adduser --home /home/yuuki --shell /bin/false yuuki

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

Et maintenant configurez Proftpd pour permettre à l'utilisateur yuuki d'accéder au serveur FTP.

cd /etc/proftpd/
nano proftpd.conf

ajoutez cette configuration pour permettre à l'utilisateur yuuki de se connecter et de charger/télécharger un fichier vers/depuis son répertoire personnel /home/yuuki :

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

puis redémarrez le Proftpd.

systemctl restart proftpd

Jusqu'à ce stade, le FTP peut déjà être utilisé sans chiffrement. Nous allons maintenant le sécuriser en activant TLS.

Configurer TLS dans Proftpd

Pour utiliser TLS, vous devez créer un certificat SSL. Je vais générer le certificat SSL avec la commande OpenSSL :

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

La commande 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/.

Définissez les autorisations de fichier des fichiers de certificat sur 600 pour interdire l'accès aux autres utilisateurs :

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

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

cd /etc/proftpd/
nano proftpd.conf

Décommentez la ligne tls :

Include /etc/proftpd/tls.conf

Enregistrez-le et modifiez le fichier tls :

nano 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

TLSVerifyClient                         off

TLSRequired                             on

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

systemctl restart proftpd

Tests

Pour tester la configuration, essayez de vous connecter à votre serveur FTP avec un client FTP. J'utiliserai FileZilla  ici. Renseignez l'IP du serveur, le nom d'utilisateur, le mot de passe et le port :

Server IP : 192.168.1.108
username : yuuki
Password ******
Port : 21

puis cliquez sur Quickconnect. Il vous sera demandé de confirmer le certificat SSL, cliquez simplement sur OK.



Vous êtes maintenant connecté au serveur FTP avec un certificat TLS/SSL .


Ubuntu
  1. Comment installer et configurer un serveur FTP (vsftpd) avec SSL/TLS sur Ubuntu 20.04

  2. Comment installer ProFTPd avec TLS sur OpenSuse 13.2

  3. Comment installer ProFTPD sur Ubuntu 14.04

  4. Comment installer ProFTPD sur Ubuntu 15.04

  5. Comment installer le serveur FTP sur Ubuntu 20.04

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

Comment installer Vsftpd sur Ubuntu 16.04

Comment configurer un serveur FTP avec ProFTPD dans Ubuntu 18.04