Skip navigation

Debian 9 : mise en place d’un serveur FTP


Mise en place d’un serveur FTP sous Debian Stretch

Mise à jour de l’OS.

root@debian~#: apt update
root@debian~#: apt upgrade

Installer proftpd.

root@debian~#: apt install -y proftpd

Confuguration de proftpd

: Les fichiers de configurations se trouvent dans /etc/proftpd/. Cenpendant il est possible réécrire la configuration en créant/éditant les fichiers dans /etc/proftpd/conf.d/. Les fichiers dans /etc/proftpd/conf.d/ ne sont pas écrasé lors des mises à jours de proftpd.

root@debian~#: vim /etc/proftpd/conf.d/custom.conf

contenu du fichier

# Disable IPv6
UseIPv6 off

# Server name
ServerName "ftp-server"

# Use this to jail all users in their homes
DefaultRoot ~ ftpuser

# Users cannot have a valid shell
RequireValidShell off

# Data port
Port 1980

# Specifiyng passive port
PassivePorts 40000 50000

# Use this to jail all users in their homes
DefaultRoot			~ ftpuser

# Allow user only in "ftpuser" group
<Limit LOGIN>
    DenyGroup !ftpuser
</Limit>

Configuration de TLS

Génération du certificat.

root@debian~#: openssl genrsa -out /etc/ssl/private/proftpd.key 4096

Autosignature du certificat.

root@debian~#: openssl req -new -x509 -days 3650 -key /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt

Édition du fichier /etc/proftpd/conf.d/tls.conf.
contenu du fichier

<IfModule mod_tls.c>
# Enable TLS
TLSEngine on

# Log file
TLSLog /var/log/proftpd/tls.log

# Protocol
TLSProtocol SSLv23

# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off

# Are clients required to use FTP over TLS when talking to this server?
TLSRequired on

# Certificates
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
</IfModule>

Mise en œuvre des changements

: Avant de redémarrer le service, il faut s’assurer que le nom passé à ServerName dans le fichier de configuration correspond au nom de la machine dans le fichier /etc/hosts. Dans le cas contraire il convient de le modifier.

root@debian~#: vim /etc/hosts
127.0.0.1     localhost ftp-server
172.16.0.10   ftp-server

Rechargement de proftpd.

root@debian~#: systemctl reload proftpd

Si le rechargement ne suffit pas, redémarrage du service.

root@debian~#: systemctl restart proftpd

Les utilisateurs

Les utilisateurs qui accèdent au serveur FTP n’ont pas besoin d’un shell valide pour utiliser le service. Il faut donc faire un « faut » shell pour ces derniers en éditant le fichier /etc/shells en y ajoutant la ligne : /bin/false

root@debian~#: vim /etc/shells

aperçu contenu du fichier

/bin/false

Création du groupe d’utilisateur pouvant accéder au service FTP.

root@debian~#: addgroup ftpuser

Une fois cela fait, il faut créer le dossier du FTP, changer le propriétaire et changer les droits de ce dossier.

root@debian~#: mkdir /ftp-folder
root@debian~#: chown proftpd:ftpuser ftp-folder/
root@debian~#: chmod 774 ftp-folder/

: proftpd est aussi un utilisateur, d’où ce choix.

Créer le nouvel utilisateur et l’ajouter à ce groupe.

root@debian~#: adduser stan --ingroup ftpuser --shell /bin/false --home /ftp-folder

by | June 3, 2018 | No Comments | Système | Tags : debian 9 ftp