Vsftpd : se protéger des attaques en force brute avec TCP Wrapper
Il y a plusieurs outils pour se prémunir des attaques en force brute – brute force en anglais – sur votre serveur Vsftpd. Citons Fail2ban. Le souci avec Fail2ban est qu’il ralentit considérablement le serveur. Du coup, j’ai cherché une solution plus légère. Elle est accessoirement beaucoup plus simple ! J’ai donc décidé d’utiliser TCP Wrapper associé au démon Vsftpd.
La librairie libwrap associée à Vsftpd
Assurez-vous tout d’abord que le serveur Ftp Vsftpd est lié à la librairie libwrap :
ldd /usr/sbin/vsftpd | grep libwrap
L’association est activée par la directive tcp_wrappers dans le fichier /etc/vsftpd/vsftpd.conf (sous Fedora 25) :
tcp_wrappers=yes
Redémarrez votre service Vsftpd au besoin, si la directive était à no.
Les fichiers /etc/hosts.allow et /etc/hosts.deny
Je pose tout d’abord la règle par défaut dans le fichier /etc/hosts.deny :
vsftpd: ALL
Et puis, dans le fichier /etc/hosts.allow, j’autorise les machines suivantes, par exemple :
vsftpd: .proxad.net 127.0.0.0/8
Autres utilisations de TCP Wrapper
Vous pouvez aussi utiliser les fichiers hosts.allow et hosts.deny avec le démon ssh. En revanche, ça ne marche pas pour Apache (httpd).