FTP e sicurezza · 3 min read · Dec 23, 2025

Impostare vsftpd + TLS su Debian Squeeze

Impostare vsftpd + TLS su Debian Squeeze

Versione 1.0
Autore: Falko Timme
Seguimi su Twitter

FTP è un protocollo molto insicuro perché tutte le password e tutti i dati vengono trasferiti in chiaro. Utilizzando TLS, l’intera comunicazione può essere crittografata, rendendo così FTP molto più sicuro. Questo articolo spiega come impostare vsftpd con TLS su un server Debian Squeeze.

Non fornisco alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

In questo tutorial utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.0.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.

2 Installazione di vsftpd e OpenSSL

OpenSSL è necessario per TLS; per installare vsftpd e OpenSSL, eseguiamo semplicemente:

apt-get install vsftpd openssl

3 Creazione del Certificato SSL per TLS

Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private - se la directory non esiste, creala ora::

mkdir -p /etc/ssl/private  
chmod 700 /etc/ssl/private

Dopo, possiamo generare il certificato SSL come segue:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Nome del Paese (codice di 2 lettere) [AU]: <– Inserisci il tuo Nome del Paese (ad es., “IT”).
Nome dello Stato o della Provincia (nome completo) [Some-State]: <– Inserisci il tuo Nome dello Stato o della Provincia.
Nome della Località (es. città) []: <– Inserisci la tua Città.
Nome dell’Organizzazione (es. azienda) [Internet Widgits Pty Ltd]: <– Inserisci il tuo Nome dell’Organizzazione (ad es., il nome della tua azienda).
Nome dell’Unità Organizzativa (es. sezione) []: <– Inserisci il tuo Nome dell’Unità Organizzativa (ad es. “Reparto IT”).
Nome Comune (es. IL TUO nome) []: <– Inserisci il Nome di Dominio Completo del sistema (ad es. “server1.example.com”).
Indirizzo Email []: <– Inserisci il tuo Indirizzo Email.

4 Abilitare TLS in vsftpd

Per abilitare TLS in vsftpd, apri /etc/vsftpd.conf…

vi /etc/vsftpd.conf

… e aggiungi o modifica le seguenti opzioni:

| [...] # Attiva SSL ssl_enable=YES # Consenti agli utenti anonimi di utilizzare connessioni SSL sicure allow_anon_ssl=YES # Tutti i login non anonimi sono costretti a utilizzare una connessione SSL sicura per # inviare e ricevere dati sulle connessioni dati. force_local_data_ssl=YES # Tutti i login non anonimi sono costretti a utilizzare una connessione SSL sicura per inviare la password. force_local_logins_ssl=YES # Permetti connessioni al protocollo TLS v1. Le connessioni TLS v1 sono preferite ssl_tlsv1=YES # Permetti connessioni al protocollo SSL v2. Le connessioni TLS v1 sono preferite ssl_sslv2=NO # Permetti connessioni al protocollo SSL v3. Le connessioni TLS v1 sono preferite ssl_sslv3=NO # Disabilita il riutilizzo della sessione SSL (richiesto da WinSCP) require_ssl_reuse=NO # Seleziona quali cifrari SSL vsftpd consentirà per connessioni SSL crittografate (richiesto da FileZilla) ssl_ciphers=HIGH # Questa opzione specifica la posizione del certificato RSA da utilizzare per le connessioni SSL # crittografate. rsa_cert_file=/etc/ssl/private/vsftpd.pem [...] |

Se utilizzi force_local_logins_ssl=YES e force_local_data_ssl=YES, allora sono consentite solo connessioni TLS (questo esclude qualsiasi utente con vecchi client FTP che non hanno supporto TLS); utilizzando force_local_logins_ssl=NO e force_local_data_ssl=NO sono consentite sia connessioni TLS che non TLS, a seconda di ciò che supporta il client FTP.

A parte le opzioni TLS, assicurati di avere anche le seguenti impostazioni nel tuo vsftpd.conf per abilitare i login non anonimi:

| [...] # Decommenta questo per consentire agli utenti locali di effettuare il login. local_enable=YES # # Decommenta questo per abilitare qualsiasi forma di comando di scrittura FTP. write_enable=YES # # L'umask predefinito per gli utenti locali è 077. Potresti voler cambiare questo in 022, # se i tuoi utenti se lo aspettano (022 è utilizzato dalla maggior parte degli altri ftpd) local_umask=022 [...] # Puoi limitare gli utenti locali alle loro directory home. Vedi le FAQ per # i possibili rischi in questo prima di utilizzare chroot_local_user o # chroot_list_enable qui sotto. chroot_local_user=YES [...] |

Riavvia vsftpd dopo:

/etc/init.d/vsftpd restart

Questo è tutto. Ora puoi provare a connetterti utilizzando il tuo client FTP; tuttavia, dovresti configurare il tuo client FTP per utilizzare TLS (questo è un must se utilizzi force_local_logins_ssl=YES e force_local_data_ssl=YES) - vedi il capitolo successivo su come farlo con FileZilla.

5 Configurare FileZilla per TLS

Per utilizzare FTP con TLS, hai bisogno di un client FTP che supporti TLS, come FileZilla.

In FileZilla, apri il Server Manager:

Seleziona il server che utilizza vsftpd con TLS; nel menu a discesa Tipo di Server, seleziona FTPES invece di FTP normale:

Ora puoi connetterti al server. Se lo fai per la prima volta, devi accettare il nuovo certificato SSL del server:

Se tutto va bene, ora dovresti essere connesso al server:

6 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.