Ca fait longtemps que je n'ai pas joué avec FTP pour WWW. Mes recettes:
1. création de l'utilisateur, groupe primaire `nossh'.
2. DenyGroups nossh dans /etc/ssh/sshd_config
-> pas de login ssh possible, y compris pour faire des
redirections de port
3. Mise d'un shell inexistant, non listé dans /etc/shells
(/bin/nosh) dans /etc/passwd
4. Répertoire utilisateur: /home/truc, selon la config
suivante:
drwxr-sr-x 3 root root 4096 Sep 1 15:05 .
drwxrwsr-x 6 root staff 4096 Sep 1 14:58 ..
drwxr-sr-x 3 truc truc 4096 Sep 1 15:28 public_html
en bref, pas de possibilité de créer .rhosts, .ssh, .forward et autres
bêtises.
5. Alias dans /etc/aliases sur une adresse e-mail (sinon POP p.ex.)
6. cgi-bin configuré dans apache pour être suEXEC (tourne sous
l'utilisateur). Ne le faire que si absolument nécessaire!
7. Ne pas autoriser autre chose que CGI (en particulier pas de
Server-Side Include, notamment PHP sans CGI, tourne sous www-data!)
8. Config proftpd ainsi (pour chroot):
<Anonymous ~truc>
User truc
group ftpguest
AnonRequirePassword on
RequireValidShell off
</Anonymous>
La personne est ainsi confinée à un répertoire en chroot, ne peut se
connecter à la machine. Elle peut exécuter des scripts cgi sous son
utilisateur (c'est le trou!). Elle ne peut configurer son .forward
pour exécuter des programmes p.ex, vu que ~ ne lui appartient pas.
C'est probablement raisonnablement sécurisé.
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.