FTP (File Transfer Protocol) consente il trasferimento di file tra computer su una rete. È uno strumento essenziale per molte operazioni di amministrazione di sistema, sviluppo web e gestione di file. In questa guida, esploreremo come installare e configurare un server FTP su un sistema operativo Linux utilizzando vsftpd (Very Secure FTP Daemon), uno dei server FTP più sicuri e stabili disponibili.

Prerequisiti

  • Server con sistema operativo Linux (Debian, Ubuntu, CentOS, etc.)
  • Accesso root o privilegi sudo
  • Connessione internet

Passi per l’Installazione di un Server FTP con vsftpd

1. Aggiornare il Sistema

Prima di tutto, aggiorna i pacchetti del tuo sistema per assicurarti di avere le versioni più recenti.

Per Debian/Ubuntu:

sudo apt update
sudo apt upgrade

 

Per CentOS:

sudo yum update

2. Installare vsftpd

Installa il pacchetto vsftpd utilizzando il gestore di pacchetti del tuo sistema.

Per Debian/Ubuntu:

sudo apt install vsftpd

 

Per CentOS:

sudo yum install vsftpd

 

3. Avviare e Abilitare vsftpd

Avvia il servizio vsftpd e configura il sistema per avviarlo automaticamente all’avvio.

Per Debian/Ubuntu:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

 

Per CentOS:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

 

4. Configurare vsftpd

L’installazione predefinita di vsftpd può essere migliorata per una maggiore sicurezza e funzionalità. Apri il file di configurazione principale di vsftpd.

sudo nano /etc/vsftpd.conf

Modifica le seguenti opzioni nel file di configurazione:

Consentire accesso locale e permessi di scrittura:

local_enable=YES
write_enable=YES

Configurare il chroot per limitare gli utenti alla loro directory home:

chroot_local_user=YES

Disabilitarare accesso anonimo e abilitare connessioni SSL/TLS per maggiore sicurezza:

ssl_enable=YES
anonymous_enable=NO

Salva e chiudi il file (Ctrl+O, Invio, Ctrl+X).

5. Riavviare il Servizio vsftpd

Dopo aver modificato il file di configurazione, riavvia il servizio vsftpd per applicare le modifiche.

sudo systemctl restart vsftpd

Assicurati che il firewall del tuo server permetta il traffico FTP. Aggiungi una regola per il firewall per consentire le connessioni FTP sulla porta 21.

Per Debian/Ubuntu con UFW:

sudo ufw allow 21/tcp
sudo ufw reload

Per CentOS con firewall-cmd:

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload

7. Creare Utenti FTP

Crea un nuovo utente FTP e imposta una password.

sudo adduser nomeutente
sudo passwd nomeutente

Assicurati che l’utente creato abbia i permessi adeguati nella directory home per il caricamento e il download di file.

8. (Opzionale) Abilitare FTP su SSL/TLS

Per migliorare la sicurezza, puoi configurare vsftpd per utilizzare SSL/TLS. Crea un certificato SSL se non ne hai già uno.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt

Modifica il file di configurazione di vsftpd per abilitare SSL:

sudo nano /etc/vsftpd.conf

Aggiungi o modifica le seguenti linee:

rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
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 chiudi il file, quindi riavvia vsftpd:

sudo systemctl restart vsftpd

Verifica dell’Installazione

Puoi testare il server FTP utilizzando un client FTP come FileZilla. Collega il client al tuo server inserendo l’indirizzo IP del server, il nome utente e la password. Assicurati di utilizzare la modalità FTPS se hai abilitato SSL/TLS.

Conclusione

Hai ora un server FTP funzionante con vsftpd su Linux, configurato per l’accesso sicuro e pronto per gestire trasferimenti di file. Ricorda di mantenere sempre aggiornato il tuo server e di monitorare le attività di login per garantire la sicurezza del tuo sistema. Buon lavoro!

Se hai bisogno di aiuto o informazioni:

Prodotti e Servizi