Ceci est une ancienne révision du document !
Table des matières
Installer un serveur FTP avec utilisateurs virtuels
On va installer un serveur FTP gérant les utilisateurs virtuels, pour ce faire on utilisera vsFTPd.
Le configuration se fera comme d'habitude sur un serveur debian stable (squeeze).
Le cahier des charges :
- ne pas autoriser les utilisateurs locaux au système
- autoriser des utilisateurs virtuels
- limiter chaque utilisateur virtuel un répertoire utilisateur (chroot)
- Etre accessible en IPv6 et IPv4
Installation initiale
L'installation se limite à :
# apt-get install vsftpd
Par défaut le serveur FTP démarre, et autorise les connexions anonymes, nous allons donc le couper le temps de le configurer :
# /etc/init.d/vsftpd stop
Configuration initiale
La configuration s'effectue dans le fichier /etc/vsftpd.conf :
- Écouter en IPv6 : pour que vsftpd écoute en IPv6 il est faut en aussi commenter “listen=YES”, il va alors écouter en IPv4 et IPv6 :
# sed -i -e "s/^listen=YES/#listen=YES/" /etc/vsftpd.conf # sed -i -e "s/^#listen_ipv6=YES/listen_ipv6=YES/" /etc/vsftpd.conf
- Empêcher les connexion anonymes :
# sed -i -e "s/^anonymous_enable=YES/anonymous_enable=NO/" /etc/vsftpd.conf
- Autoriser l’écriture pour les utilisateurs (virtuels) :
# sed -i -e "s/^#write_enable=YES/write_enable=YES/" /etc/vsftpd.conf
- désactiver le forçage du port 20 pour les connexions de données (permet a vsftpd de tourner avec un peu moins de privilèges) :
# sed -i -e "s/^connect_from_port_20=YES/#connect_from_port_20=YES
Cette option est désactivée par defaut, mais activée dans le fichier de configuration par fourni par défaut.
- ajouter a la fin :
# limitation du nombres de connexions totales/par IP max_clients=15 max_per_ip=4 # On indique que tout les utilisateurs sont limités à leurs propres repertoires chroot_local_user=YES chroot_list_enable=NO # pour voir la liste des utilisateur connectés avec : ps -aef | grep vsftpd # attention n'importe quel utilisateur systeme local pourra donc obtenir la liste des utilisateurs FTP connectés setproctitle_enable=YES # modifier le message de bienvenue ftpd_banner=Bienvenue sur mon serveur a moi # les fichiers ecrits auront les droits 775 local_umask=002 # définir le répertoire contenant les fichiers de configuration utilisateurs : user_config_dir=/etc/vsftpd/user_conf # configuration utilisateurs virtuels guest_enable=YES guest_username=virtual # permettre aux utilisateurs virtuels d'avoir les droits d'utilisateurs locaux (vs anonymes) leur permettant donc d'ecrire virtual_use_local_privs=YES hide_ids=YES # configuration du mode passif (utile pour limiter l'ouverture de la fenetre des firewalls, ici les ports 48152 à 49192) #pasv_enable=YES valeur par defaut pasv_enable=YES pasv_min_port=48152 pasv_max_port=49192
Configuration initiale
Ajout des utilisateurs virtuels - TODO