Archivio->
Server FTP vsftpd->Accesso con connessione protetta
vsftpd - Accesso con connessione protetta
Questo esempio rappresenta una tipica configurazione con SSL.
Prima di tutto occorre creare la directory /etc/vsftpd
# mkdir /etc/vsftpd
Quindi creare un certificato autofirmato per la connessione SSL,
(in questo esempio il certificato dura un anno):
# cd /etc/vsftpd
# openssl genrsa -out vsftpd.key 2048
# openssl req -new -x509 -days 3650 -key vsftpd.key -out vsftpd.crt
# chmod 400 *
Nella creazione del certificato vengono poste delle domande, ecco un esempio di risposte:
Country Name (2 letter code) [AU]: IT
State or Province Name (full name) [Some-State]: Italy
Locality Name (eg, city) []: Giulianova
Organization Name (eg, company) [Internet Widgits Pty Ldt]:Test
Organizational Unit Name (eg, section) []: Test
Common Name (eg, YOUR name) []: test.test.it
Email Address []: test@test.it
Il campo più importante è
'Common Name' che indica il nome host del computer (nell'esempio test.test.it).
Dovete inserire tale nome nel file /etc/hosts
<indirizzo IP> test.test.it
Naturalmente se il computer non è rete potete inserire 127.0.0.1 altrimenti dovete mettere l'indirizzo IP assegnato.
Per fare dei test in un altro computer in rete, dovete inserire la stessa riga nel file /etc/hosts di quel computer.
Create i file
/etc/vsftpd/vsftpd.user_list e
/etc/vsftpd/welcome.banner.
Nel primo file inserite i nomi degli utenti che possono accedere, nel secondo
un messaggio di benvenuto.
Di seguito le impostazione del file di configurazione (/usr/local/etc/vsftpd.conf):
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
log_ftp_protocol=YES
xferlog_file=/var/log/vsftpd.log
listen=NO
chroot_local_user=YES
check_shell=NO
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd/vsftpd.user_list
local_max_rate=20000
max_clients=3
banner_file=/etc/vsftpd/welcome.banner
secure_chroot_dir=/usr/local/share/vsftpd/empty
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key
Di seguito l'effetto di questa configurazione:
L'accesso anonimo non è consentito
Hanno accesso i normali account utenti (gli utenti del sistema operativo)
Gli utenti possono eseguire comandi che modificano il filesystem
Il valore di umask nella creazione di un file è 022
Gli utenti del server FTP al primo accesso alla nuova
directory vedranno un messaggio contenuto nel file .message
Il file log /var/log/vsftpd.log manterrà i dettagli degli upload e download
Tutte le richieste e risposte FTP sono loggate nel file /var/log/vsftpd.log
vsftpd può essere eseguito solo in modalità inetd o xinetd, quindi ad ogni avvio del sistema
Gli utenti locali, dopo il login avranno come percorso,
la loro home directory e non possono entrare nelle directory superiori ad essa.
Possono accedere solo gli utenti presenti nell'elenco
contenuto nel file /etc/vsftpd/vsftpd.user_list.
La massima velocità permessa è di 20000 byte al secondo.
Al massimo possono connettersi 3 client.
Il file /etc/vsftpd/welcome.banner contiene il testo di benvenuto quando qualcuno si connette al server.
La connessione SSL è abilitata sia nell'autenticazione che nel trasferimento dei dati.
É ammesso solo il protocollo TLS v1.
Il certificato usato per la connessione protetta si trova nel file /etc/vsftpd/vsftpd.crt
mentre la chiave si trova nel file /etc/vsftpd/vsftpd.key.
Client FTP con connessione TSL/SSL
Per collegarsi con un server FTP con connessione SSL, occorre un client che sia
in grado di collegarsi con questo tipo di connessione, ad esempio FileZilla.
Se usate FileZilla, per collegarsi con vsftpd con la configurazione data sopra,
quando create il sito (Gestione siti) occorre impostare
il tipo di server "FTPES - FTP su TLS/SSL esplicito".
Riepilogo esempi di configurazioni vsftpd
Configurazione di default
Tipica configurazione
Accesso con connessione protetta