ProFTPd (Serveur FTP)

Logo ProFTPd

Environnement

Installation

Installer le ProFTPd et OpenSSL :

apt install -y proftpd openssl

Configuration

Éditer le fichier /etc/proftpd/proftpd.conf avec les paramètres suivants (chroot les utilisateurs dans leur dossier et supprime les informations système) :

cp -p /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.bak
nano /etc/proftpd/proftpd.conf
UseIPv6                         off
ServerName                      "ftp.domaine.lan
ServerIdent                     on "FTP Server ready."
DefaultRoot                     ~
Port                            3321
PassivePorts                    49152 49159
MasqueradeAddress               ftp.domaine.lan
Include /etc/proftpd/tls.conf
RequireValidShell               no

Générer le certificat :

openssl req -x509 -nodes -newkey rsa:8192 -days 365 -keyout /etc/ssl/private/proftpdserverkey.pem -out /etc/ssl/certs/proftpdcertificate.pem

Restreindre les droits des clés à l'utilisateur root :

chmod 600 /etc/ssl/private/proftpdserverkey.pem

Éditer le fichier /etc/proftpd/tls.conf comme suit :

cp -p /etc/proftpd/tls.conf /etc/proftpd/tls.conf.bak
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 EnableDiags NoSessionReuseRequired
TLSRSACertificateFile       /etc/ssl/certs/proftpdcertificate.pem
TLSRSACertificateKeyFile    /etc/ssl/private/proftpdserverkey.pem
TLSVerifyClient             off
TLSRequired                 on
</IfModule>

Redémarrer le service proFTPd :

systemctl restart proftpd

Ajouter un utilisateur :

useradd --home /home/user --create-home --shell /bin/false user
passwd user

Configuration de WinSCP :

Sources

https://websiteforstudents.com/install-pro-ftpd-on-ubuntu-18-04-lts-beta-server-with-ssl-tls-certificates/

https://www.howtoforge.com/tutorial/install-proftpd-with-tls-on-ubuntu-16-04/