Server FTP · 4 min read · Sep 23, 2025

Come installare il server FTP vsftpd e proteggerlo con TLS su Debian 11

Il File Transfer Protocol o FTP è un protocollo di rete molto vecchio e uno dei più conosciuti. Non è sicuro rispetto a SFTP o SCP oggigiorno, ma è ancora la prima scelta di molti utenti per trasferire file tra un server e un client. FTP è considerato insicuro perché trasferisce dati insieme alle credenziali dell’utente senza alcun tipo di crittografia.

Abbiamo una vasta gamma di server FTP open-source disponibili al giorno d’oggi come FTPD, VSFTPD, PROFTPD e pureftpd. Tra tutti, VSFTPD è un protocollo molto sicuro, veloce e ampiamente utilizzato per trasferire file tra due sistemi.

VSFTPD è anche conosciuto come “Very Secure File Transfer Protocol Daemon” con supporto per SSL, IPv6, FTPS esplicito e implicito.

In questa guida, ti mostreremo come installare il server FTP vsftpd su Debian 11.

Prerequisiti

Un server che esegue Debian 11. Un utente non root con privilegi sudo.

1. Installare Vsftpd

Prima di iniziare l’installazione, aggiorna il tuo server Debian 11 eseguendo il seguente comando nel terminale:

sudo apt update -y  
sudo apt upgrade -y

Debian ha un repository molto grande e il pacchetto vsftpd è disponibile nel repository ufficiale, quindi puoi facilmente installare vsftpd eseguendo il seguente comando:

sudo apt install vsftpd -y

Dopo l’installazione del pacchetto, avvia il servizio Vsftpd, controlla lo stato del servizio e abilita il servizio all’avvio.

sudo systemctl start vsftpd  

sudo systemctl status vsftpd  

systemctl enable vsftpd.service

2. Creare un utente FTP e configurare per il login FTP

Ora, crea un nuovo account utente per FTP, utilizzando questo utente ci connetteremo al server FTP in seguito.

sudo adduser sohan

Gli utenti aggiunti nel file vsftpd.userlist hanno il permesso di accedere al server FTP.

Successivamente, dobbiamo aggiungere l’utente sohan nella lista utenti di vsftpd. Apri il file e aggiungi un utente eseguendo il seguente comando:

echo "sohan" | sudo tee -a  /etc/vsftpd.userlist

3. Creare la directory utente FTP

Successivamente, dobbiamo creare una directory FTP per il nostro utente FTP e impostare la proprietà con il seguente comando:

sudo mkdir -p /home/sohan/ftp_directory  
  
sudo chown nobody:nogroup /home/sohan/ftp_directory  
  
sudo chmod a-w /home/sohan/ftp_directory

Ora, crea una directory dove i file possono essere caricati e dai la proprietà all’utente sohan eseguendo il comando:

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Configurare Vsftpd

Successivamente, devi modificare alcuni parametri predefiniti per impostare un server FTP.

Per prima cosa, crea una copia di backup del file di configurazione originale di vsftpd.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Nel server FTP, agli utenti anonimi viene concesso l’accesso per impostazione predefinita. Per rendere il server FTP più sicuro, disabiliteremo il login degli utenti anonimi e concederemo accesso solo a un utente specifico.

Successivamente, apri il file vsftpd.conf e apporta le modifiche come segue:

vim /etc/vsftpd.conf
anonymous_enable=NO  
  
local_enable=YES

Ci sono alcune altre modifiche che dobbiamo apportare nella configurazione, prima apri vsftpd.conf

sudo vim /etc/vsftpd.conf

Successivamente, assicurati che vsftpd.conf contenga le seguenti righe:

listen=NO  
listen_ipv6=YES  
anonymous_enable=NO  
write_enable=YES  
local_umask=022  
dirmessage_enable=YES  
use_localtime=YES  
xferlog_enable=YES  
connect_from_port_20=YES  
chroot_local_user=YES  
secure_chroot_dir=/var/run/vsftpd/empty  
pam_service_name=vsftpd  
user_sub_token=$USER  
local_root=/home/$USER/ftp_directory  
userlist_enable=YES  
userlist_file=/etc/vsftpd.userlist  
userlist_deny=NO

Salva e chiudi il file. Puoi modificare la configurazione sopra in base alle tue esigenze.

Ora riavvia il servizio vsftpd e controlla lo stato del servizio eseguendo i seguenti comandi:

sudo systemctl restart vsftpd

Successivamente, assicurati che il servizio vsftpd sia in esecuzione eseguendo il seguente comando nel terminale:

sudo systemctl status vsftpd

5. Consentire vsftpd nel firewall e accedere al server vsftpd

Successivamente, se stai utilizzando un firewall, consenti la porta 21 e la porta 22 eseguendo il seguente comando:

sudo ufw allow 21/tcp  
  
sudo ufw allow 22/tcp

Quindi ricarica il firewall per applicare le modifiche:

sudo ufw reload

Successivamente, apri qualsiasi client FTP come FileZilla e inserisci i dettagli del tuo server, come Protocollo, Host, Utente:

Configurare il Firewall
Ora, fai clic su connetti, quindi inserisci la tua password:

Inserisci password

Quindi, verranno visualizzati dettagli come di seguito, fai clic su OK.

Accetta nuovo host

A questo punto, sei connesso al server FTP e puoi caricare e scaricare file/cartelle.

La connessione al server FTP è stata effettuata con successo

6. Proteggere Vsftpd utilizzando SSL/TLS

Supponiamo che tu voglia trasferire dati crittografati tramite FTP, per farlo devi creare un certificato SSL e abilitare la connessione SSL/TLS.

Puoi creare un certificato utilizzando OpenSSL con il seguente comando:

sudo mkdir /etc/cert  
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Ora, dovrai modificare il file vsftpd.conf e apportare alcune modifiche:

sudo vim /etc/vsftpd.conf

Aggiungi le seguenti righe alla fine:

rsa_cert_file=/etc/cert/vsftpd.pem  
rsa_private_key_file=/etc/cert/vsftpd.pem  
ssl_enable=YES  
allow_anon_ssl=NO  
force_local_data_ssl=YES  
force_local_logins_ssl=YES  
ssl_tlsv1=YES  
ssl_sslv2=NO  
ssl_sslv3=NO  
require_ssl_reuse=NO  
ssl_ciphers=HIGH

Salva e esci dal file, quindi riavvia Vsftpd utilizzando il seguente comando:

sudo systemctl restart vsftpd

7. Accedere a FTP tramite SSL/TLS

Apri il client FTP FileZilla e vai su File>Gestore siti. Qui, fai clic su aggiungi nuovo sito e inserisci il nome host/sito, aggiungi l’indirizzo IP, definisci il protocollo da utilizzare, Crittografia: Richiedi FTP esplicito su TLS e tipo di accesso. Quindi fai clic sul pulsante Connetti. Dovresti vedere l’immagine seguente:

Accedi a FTP tramite SSL/TLS

Successivamente, inserisci la tua password:

Inserisci password
Successivamente, vedrai il certificato SSL, verifica i dettagli del certificato e fai clic su OK.

Accetta certificato SSL
Alla fine, vedrai i contenuti del tuo server FTP e potrai trasferire i tuoi dati in modo sicuro da un sistema all’altro.

Connessione al server FTP riuscita

Conclusione

Nella guida sopra, abbiamo installato il server VSFTPD su Debian 11. Abbiamo anche imparato come connettersi tramite connessione non crittografata e tramite connessione crittografata utilizzando un certificato SSL.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.