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