Configurer un serveur FTPS avec Pure-FTPd sous Debian

Introduction

Pure‑FTPd est un serveur FTP open source reconnu pour sa robustesse, sa sécurité et sa légèreté. Conçu pour répondre aux exigences des environnements modernes, il offre des fonctionnalités distinctives :


Installation et Configuration

Se loguer en root

su -

Faire la mise à jour du catalogue de paquets

apt update

Installer Pure-FTPd

apt install pure-ftpd -y

Générer un certificat SSL

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -subj "/C=FR/ST=Nouvelle-Aquitaine/L=Pau/O=Afpa/OU=IT/CN=ftp.monserveur.fr/emailAddress=admin@monserveur.fr" \
  -keyout /etc/ssl/private/pure-ftpd.pem \
  -out /etc/ssl/private/pure-ftpd.pem

Pure-FTPd se configure via des fichiers individuels placés dans le répertoire :
/etc/pure-ftpd/conf/

Il suffit de lui envoyer de simples instructions pour obtenir une configuration ...
... en quelques secondes.

Forcer l'utilisation de TLS (FTPS explicite)

echo "2" > /etc/pure-ftpd/conf/TLS

Définir la plage de ports passifs (dans le cas d'un DNAT avec pare-feu)

echo "60000 61000" > /etc/pure-ftpd/conf/PassivePortRange

Ajouter une IP passive (dans le cas d'un DNAT avec pare-feu : l'IP côté WAN)

echo "12.23.34.45" > /etc/pure-ftpd/conf/ForcePassiveIP

Chrooter tous les utilisateurs locaux

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone

Relancer Pure-FTPd

systemctl restart pure-ftpd

Vérifier le statut

systemctl status pure-ftpd

Connexion depuis un client FTP

Sur un client FTP (type FileZilla)
- initier une connexion en mode explicite avec :

Hôte : ftpes://IP-SERVEUR
Nom d'utilisateur : votre-utilisateur-linux
Mot de passe : son-mot-de-passe
Ne pas préciser de port.. Par défaut FileZilla se connectera au port 21.


Quid des avertissements de FileZilla concernant la reprise de connexion TLS ?

Le problème de reprise de session TLS avec Pure-FTPD vient du fait que, bien que le serveur supporte l'SSL/TLS pour le chiffrement de la connexion de contrôle, il ne reprend pas la session TLS pour les connexions de données.
Cela force une nouvelle négociation TLS à chaque transfert de fichier, ce qui peut déclencher un avertissement dans certains clients FTP, comme FileZilla.
Ce comportement est connu, mais il n'y a pas de solution en l'état à ma connaissance pour le moment.


⬆️ Retour en haut de la page