Pour information: Un script est disponible pour les membres.
Commençons par installer les paquets nécessaires:
sudo apt-get install proftpd openssl
On créer un groupe d’utilisateurs FTP:
sudo addgroup ftpgroup
On ajoute votre utilisateur au groupe:
ATTENTION: Prenez bien soin et remplacer chaque $USERNAME par le nom d’utilisateur que vous désirez.
sudo adduser $USERNAME ftpgroup
On configure PROFTPD:
sudo rm /etc/proftpd/proftpd.conf
sudo nano /etc/proftpd/proftpd.conf
Et on colle la configuration suivante:
ServerName "Debian" #la bannière qui apparaît à la connexion
UseIPv6 off # Pas de connexion IPv6
RootLogin off # Interdire le login en root
RequireValidShell off # Pas besoin d'un shell valide (pour /bin/false)
# Le port 21 est le port FTP standard.
Port 21
PassivePorts 49152 65535
# pour restreindre l'accès des utilisateurs à leurs dossiers de départ uniquement
DefaultRoot ~
# interdire les connexions hors du groupe ftpgroup ... si vous devez autoriser par exemple www-data, ne pas mettre ou ajoutez ce dernier dans le groupe FTP.
<Limit LOGIN>
DenyGroup !ftpgroup
</Limit>
#definition du nombre de connexions max par clients, etc.
<IfModule mod_ctrls.c>
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>
SystemLog /var/log/proftpd/proftpd.log
Vous pouvez constater que le port FTP sera le 21 et le login via root sera désactivé.
ATTENTION: Si vous avez un pare-feu il va falloir l’adapter de la façon suivante.
sudo nano /etc/init.d/firewall
Et ajoutez sous le bloc FTP les lignes suivantes:
# Autoriser FTP PassivePorts
iptables -t filter -A INPUT -p tcp --dport 49152:65535 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 49152:65535 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 49152:65535 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 49152:65535 -j ACCEPT
Enfin on redémarre les services:
sudo service proftpd restart
sudo /etc/init.d/firewall stop
sudo /etc/init.d/firewall start
Fail2Ban:
Si vous avez suivi le tuto concernant Fail2Ban:
sudo sed -i '/^\[proftpd\].*/a enabled = true' /etc/fail2ban/jail.local
sudo service fail2ban restart