Vsftp viene considerato un server ftp sicuro è il serve di default installato sui sistemi Red Hat dalla versone 9 in poi la configurazione si presenta molto semplice anche se nasconde un qualche insidia.
nstallazione vsftpd-2.0.1-5.i386.rpm
rpm -Uvh vsftpd-2.0.1-5..i386.rpm
è composto dai seguenti file:
* /etc/vsftp/vsftp.conf
* /etc/vsftp.ftpuser
* /etc/vsftp.user_list
* /etc/vsftp.banned_emails
Per aggiungere Vsftp al demone xinetd
Vsftp è disabilitato di default nel file /etc/xinetd.d/vsftpd :
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = usr/bin/vsftpd
nice = 10
}
disable = no per abilitarlo
riavviare il demone xinetd
/etc/init.d/xinetd restart
se si vuole invece far partire vsftp all'avvio con inet.d
chkconfig --add vsftpd
chkconfig --level 3 vsftpd on
file di configurazione principale
/etc/vsftp/vsftp.conf
# Abilita/disabilita accesso anonimo
anonymous_enable=YES
...
...
# Abilita/disabilita accesso agli user locali
local_enable=YES
...
...
# Abilita/disabilita agli utente accesso in scrittura
write_enable=YES
...
...
# Abitilità/disabilita la possibilità degli utenti anonimi di scaricare file
# ha valore solo se write_enable è decomentato
# Also, you will
# obviously need to create a directory writable by the FTP user.
# anon_upload_enable=YES
...
...
# Decomenta sei vuoi permettere agli utenti anonimi di creare nuove directory
# anon_mkdir_write_enable=YES
# Attiva i log su tutte le operazione di upload/download
xferlog_enable=YES
...
...
# Specificare il path dei log o lasciare quello di default
# xferlog_file=/var/log/vsftpd.log
# Gli utenti contenuti nel file vsftp.chroot_list non avranno accesso
# alla cartella superiore alla proprio home dir
chroot_list_enable=YES
chroot_list_file=/etc/vsftp.chroot_list
#Nel file chroot_list mettere semplicemente il nome utente che deve essere limitato
#chroot_local_user=YES (chroot_list diventa la lista degli utenti da un chrottare)
Altri file di configurazione:
/etc/vsftp/vsftp.ftpusers
Con le impostazioni di default contiene i nomi degli utenti che non hanno accesso ftp.
se userlist_enable=YES non funziona
/etc/vsftp.banned_emails
Contiene tutti gli indirizzi email che non sono ammessi con le connesioni anonime.
Esempi di configurazione:
Con questa configurazione è negato l'accesso agli utenti specificati.
anonymous_enable=No
local_enable=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list (qui vanno scritti gli utenti che devono essere chrottati)
userlist_enable=YES
jed /etc/vsftpd.user_list (qui vanno aggiunti gli utenti che non devono potersi loggare in ftp)
ottieni lo stesso effetto settando :
userlist_enable=No
/etc/vsftp/vsftp.ftpusers (inserire qui le persone che non possono loggarsi in ftp)
Con questa configurazione l'accesso è permesso solo agli utenti esplicitamente dichiarati:
anonymous_enable=No
local_enable=YES
userlist_enable=YES
userlist_deny=NO
jed /etc/vsftpd.user_list (inserire qui gli utenti che posso loggarsi in ftp)
Limitare la connessione FTP a determinati HOST
Editare il file /etc/hosts.allow dovete aggiungere vsftpd: con la lista degli host
a cui è permessa la connessione ad esempio:
vsftp:127.0.0.1 (localhost)
vsftp: 192.168.1 (alla subnet )
vsftp: 212.56.23.23 212.45.69.25 (2 host specifici)
vsftp: ALL (a tutti)