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 -yDebian 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 -yDopo 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.service2. 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 sohanGli 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.userlist3. 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_directoryOra, 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_datasudo chown sohan:sohan /home/sohan/ftp_directory/ftp_datacd /home/sohan/ftp_directory/chmod -R 777 ftp_data4. 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.bakNel 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.confanonymous_enable=NO
local_enable=YESCi sono alcune altre modifiche che dobbiamo apportare nella configurazione, prima apri vsftpd.conf
sudo vim /etc/vsftpd.confSuccessivamente, 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=NOSalva 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 vsftpdSuccessivamente, assicurati che il servizio vsftpd sia in esecuzione eseguendo il seguente comando nel terminale:
sudo systemctl status vsftpd5. 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/tcpQuindi ricarica il firewall per applicare le modifiche:
sudo ufw reloadSuccessivamente, apri qualsiasi client FTP come FileZilla e inserisci i dettagli del tuo server, come Protocollo, Host, Utente:

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

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

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

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.pemOra, dovrai modificare il file vsftpd.conf e apportare alcune modifiche:
sudo vim /etc/vsftpd.confAggiungi 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=HIGHSalva e esci dal file, quindi riavvia Vsftpd utilizzando il seguente comando:
sudo systemctl restart vsftpd7. 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:

Successivamente, inserisci la tua password:

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

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

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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.