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 :

1
# 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.

1
# 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.

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

1
2
3
4
#
# 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é.

1
# vim /etc/proftpd/proftpd.conf

Décommentez les lignes suivantes :

1
2
3
4
5
6
7
8
9
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.

1
2
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é

1
# openssl genrsa -out /etc/ssl/private/proftpd.key 1024

Création du certificat

1
# 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 :

1
# service proftpd restart
Partager