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 Stretch. Pour cela, il va nous falloir les accès root.
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
Configuration de base de ProFTPd
La configuration de ProFTPd se passe dans /etc/proftpd/proftpd.conf . Ouvrons-le pour l’éditer.
$ nano /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/html
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, changer le port standard.
# Port 21 is the standard ftp port.
Port 21
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é.
$ nano /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
Nous allons ajouter la ligne suivante avant
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 2048
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
Pour un usage ullterieur non obligation pur l’utilisateur d’avoir acces au shell
Changement des droit
sudo chown -R martin /chemin/vers/dossier
sudo echo "/bin/false" >> /etc/shells


