1. Tu veux dire que nginx/proFTPd sont lancés par "partage", ou tu parles juste des répertoires ? Tu devrais laisser les services utiliser leurs propres logins, restrictifs, quitte à ajouter "partage" à leurs groupes pour l'accès aux données. L'utilisateur d'un service ne peut en général pas se logguer localement (un "cat /etc/passwd" ou équivalent te montrera que les services ont, sur une install par défaut, une stanza "/bin/false" ou "/usr/sbin/nologin" au lieu de "/bin/bash").
2. fail2ban c'est pas mal mais ça ne gère qu'une partie des problèmes.
3. Une règle en sécurité c'est de "réduire la surface d'attaque" au maximum. Quelques exemples :
- Puisque tu dois de toutes façons donner les liens aux gens qui accèderont à tes services, tu peux changer leurs ports par défaut. Par exemple FTP sur 37467, WWW sur 49507, etc.
- Sinon tu ne laisses que le port VPN ouvert, avec Fail2ban, et tu restreinds les services uniquement aux gens connectés en VPN. Mais ça demande un travail d'adressage IP si tu veux pas que tes "clients" soient sur ton réseau domestique.
- Sinon tu ouvres un SSH+fail2ban sur un port "haut", et les gens n'accèdent à tes données que via ce moyen (par ssh -L ou -D, etc).
- Une autre manière, c'est de mettre un "iptables" et de n'autoriser QUE les clients connus. Mais suivant la config de tes clients ça peut être assez contraignant (certains FAI ne fournissent pas d'IP statique).
Bref, y'a toujours 36 manières de faire les choses !