Installer un serveur FTP (ProFTPd) sécurisé sur Debian
Lorsqu’on gère un site internet hébergé sur un serveur distant, nous communiquons souvent avec celui-ci en ftp. Mais trop souvent, cette connection n’est pas sécurisé. Voyons comment remédier à cela.
Prérequis
Nous allons installer un serveur ftp sur une distribution Debian Wheezy. Pour cela, il va nous falloir les accès root.
Nous avons choisi ProFTPd mais n’hésitez pas à regarder le petit comparatif des trois serveurs ftp parmis les plus utilisés.
Installation de ProFTPd
ProFTPd se trouve directement dans les dépôts de debian. Pour l’installer, vous n’avez qu’à lancer la commande :
# apt-get install proftpd
Lors de l’installation, on vous demandera comment doit être lancé ProFTPd.
Pour quelques connections par jours, utilisez “inetd”. A l’inverse, si vous avez d’importants échanges avec votre serveur ftp, utilisez “Indépendamment”.
Configuration de base de ProFTPd
La configuration de ProFTPd se passe dans /etc/proftpd/proftpd.conf . Ouvrons-le pour l’éditer.
# vim /etc/proftpd/proftpd.conf
De base, chaque utilisateur sera connecté à son espace Home. Si vous souhaitez utiliser votre serveur ftp pour gérer vos sites web, il peut être interessant de rediriger la connexion vers l’espace de stockage des sites.
Default Root /var/www
Voilà, votre serveur est installé et prêt à être utilisé. ProFTPd est très complet, vous pouvez le paramétrer de façon beaucoup plus fine et vous pouvez également regarder du côté des nombreux plugins.
Sécuriser votre serveur FTP
Toujours dans le fichier de configuration /etc/proftpd/proftpd.conf, décommenter la ligne suivante afin de charger le fichier de configuration de tls.
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
Vous pouvez enregistrer puis fermer ce fichier de configuration.
Nous allons maintenant ouvrir le fichier /etc/proftpd/tls.conf précedemment chargé.
# vim /etc/proftpd/tls.conf
Décommentez les lignes suivantes :
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSVerifyClient off
#TLS obligatoire (off si possibilité de se connecter sans tls)
TLSRequired on
Include /etc/proftpd/tls.conf
Nous allons aussi décommenter les deux lignes suivantes permettant de charger les certificats puis nous les créérons dans les répertoires définis.
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
On enregistre puis on ferme le fichier. On va maintenant créer les certificats.
Création de la clé
# openssl genrsa -out /etc/ssl/private/proftpd.key 1024
Création du certificat
# openssl req -new -x509 -days 3650 -key /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt
Il ne nous reste plus qu’à relancer le serveur ftp pour prendre en compte la nouvelle configuration :
# service proftpd restart