Debian 9 : Configurer un serveur FTP avec ProFTPd

I. Présentation

Je vous propose dans ce tutoriel, la mise en place d'un serveur FTP sur Debian 9 à l'aide du package ProFTPd.

L'occasion pour vous rappeler que ProFTPd est un paquet existant depuis de nombreuses années et qui est très souvent utilisé pour mettre en place un serveur FTP. Le serveur FTP va pouvoir ensuite héberger des données et permettre aux utilisateurs de charger et télécharger des données vers à partir de ce serveur et du protocole FTP.

II. Installer ProFTPd sur Debian 9

Connectez-vous sur votre système Debian 9, en ligne de commande. Soit avec l'utilisateur root directement, sinon ajoutez "sudo" devant les différentes commandes qui vont suivre pour les exécuter avec les droits du super-utilisateur.

Effectuez la mise à jour de la liste des paquets (update).

apt update

Installez ensuite le paquet ProFTPD (-y pour accepter directement l'installation) :

apt install -y proftpd

Le paquet ProFTPd étant installé sur notre système, nous allons le configurer.

III. Configuration de ProFTPd

Le répertoire qui contient les fichiers de configuration est "/etc/proftpd/" mais je vous recommande de créer votre configuration dans "/etc/proftpd/conf.d/" pour éviter qu'elle soit écrasée lors d'une mise à jour de ProFTPD. Ce serait peu appréciable de perdre sa configuration.

Objectifs de la configuration : écouter sur le port 2100 au lieu du port par défaut 21, empêcher le compte root de se connecter au FTP, et on autorisera d'ailleurs la connexion seulement aux membres du groupe ftp2100. Les membres de ce groupe, lors d'une connexion, seront redirigés dans leur dossier home personnel.

Pour commencer, on va créer notre fichier config "ftp-perso.conf" :

nano /etc/proftpd/conf.d/ftp-perso.conf

Dans ce fichier, indiquez la configuration suivante après l'avoir lue et adaptée si besoin :

# Nom du serveur (identique à celui définit dans /etc/hosts)
ServerName "IT-CONNECT"

# Message de connexion
DisplayLogin "Bienvenue sur le FTP IT-Connect"

# Désactiver IPv6
UseIPv6 off

# Chaque utilisateur accède seulement à son home (pour les membres du groupe ftp2100)
DefaultRoot ~ ftp2100

# Port (défaut = 21)
Port 2100

# Refuser la connexion super-utilisateur "root"
RootLogin off

# Nombre de clients FTP max.
MaxClients 2

# Autoriser la connexion seulement aux membres du groupe "ftp2100" grâce à la directive DenyGroup.
# En précisant "!" on refuse tout sauf le groupe "ftp2100"
<Limit LOGIN>
DenyGroup !ftp2100
</Limit>

La configuration étant finalisée, nous allons recharger ProFTPd :

systemctl reload proftpd

IV. Créer le groupe et l'utilisateur FTP

Dernière étape avant les tests : la création du groupe ftp2100 et d'un utilisateur pour tester que tout fonctionne.

Le fichier "/etc/shells" référence les Shell du système, on va créer un faux Shell (car il pointe vers un binaire qui n'existe pas) en indiquant "/bin/false" pour l'attribuer ensuite à notre utilisateur FTP. L'intérêt de cette manipulation c'est que l'utilisateur ne pourra pas se connecter en shell sur le serveur, il peut donc utiliser seulement l'accès FTP.

Pour ajouter cette valeur, exécutez cette commande en tant que sudo :

echo "/bin/false" >> /etc/shells

Si l'on ouvre le fichier, on trouve ceci :

Maintenant, on va créer le groupe sur notre système Debian :

addgroup ftp2100

Ensuite, créez l'utilisateur "itconnect" et ajoutez-le au groupe ftp2100 :

adduser itconnect --shell /bin/false --home /home/itconnect --ingroup ftp2100

Tout est prêt, il ne reste plus qu'à tester !

V. Tester la connexion au serveur FTP

Pour tester la connexion à notre serveur FTP, j'ai utilisé FileZilla depuis un PC sous Windows mais ça peut fonctionner depuis un navigateur, un autre système Unix voire même votre smartphone ! Pensez à indiquer le port 2100 (ou autre) lorsque vous allez tester la connexion.

Vous devriez arriver dans le home de votre utilisateur, ce qui vous permet de lire et écrire dans ce dossier :

Le serveur FTP est en place, pour aller plus loin il faudrait le sécuriser en ajoutant le chiffrement et si vous avez besoin, ajouter des répertoires partagés accessibles par plusieurs utilisateurs, et non se limiter à l'accès à son home.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian B.

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian has 1941 posts and counting.See all posts by florian

2 pensées sur “Debian 9 : Configurer un serveur FTP avec ProFTPd

    • Salut Thomas, c’est avec la directive DefaultRoot et après oui ils sont « bloqués » dedans.

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.